Endless Engine is a simple cross-platform 2D rendering engine.
- Clone the repo
git clone https://github.com/relidaar/EndlessEngine.git
- Change your directory
cd EndlessEngine
public class Game : IDisposable
{
private readonly IGraphicsFactory _graphics;
private readonly IWindow _window;
private readonly IRenderer _renderer;
public Game(int windowWidth, int windowHeight, string windowTitle)
{
_graphics = new OpenGLGraphicsFactory();
_window = _graphics.CreateWindow(windowWidth, windowHeight, windowTitle, false);
_renderer = _graphics.CreateRenderer();
_renderer.Init();
// Initialize your game entities here
OnUpdate();
}
private void OnUpdate()
{
_window.OnKeyPressed += (sender, e) =>
{
switch (e.Key)
{
// Register your handlers here
}
};
// Write your update logic here
}
public void Run()
{
while (_window.IsOpen)
{
_renderer.Clear();
// Create your game logic here
_window.Display();
}
}
public void Dispose()
{
_window?.Dispose();
}
}
var game = new Game(800, 600, "Sample Game");
game.Run();
See the open issues for a list of proposed features (and known issues).
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Project Link: https://github.com/relidaar/EndlessEngine