Doog is a framework to create console/terminal games, but using advanced game programming patterns.
- Animations (30+ easings)
- Font System
- Graphic system (console/terminal)
- Input system
- Log system (console and file)
- Physic system (currently supporing just collision detection)
- Transform (position, scale and rotation)
Nowadays we have just a Snake game implementation that show how to use Doog to create a old style game.
- Graphic agnostic
- Sound agnostic
- Input agnostic
- Use of classic game programming patterns (http://gameprogrammingpatterns.com)
- Follow the SOLID principles
How to run it?
Open a console/terminal and type:
git clone https://github.com/giacomelli/Doog.git cd Doog/src dotnet build
Run Snake game
dotnet run --project Samples/Snake
dotnet run --project Samples/Doog.Samples
How to debug it?
If you are developing a game using Doog and want some help to debug it, you can use the runners arguments below:
Shows some stats about the game world in the left-top corner of the game screen. Informations like FPS and currenlty enabled components count.
dotnet run --project Samples/Snake debug-enabled
Show the log messages registered by the LogSystem in the bottom part of the game screen.
dotnet run --project Samples/Snake ingame-log
Write the log messages registered by the LogSystem to the log.txt file.
dotnet run --project Samples/Snake file-log
You can combine those arguments:
dotnet run --project Samples/Snake debug-enabled ingame-log
How to improve it?
Licensed under the The MIT License (MIT). In others words, you can use this library for developement any kind of software: open source, commercial and proprietary.