This repository is for a simple game engine, utilities, and example games which render in a linux terminal using ncurses.
Originally this was for a game development class but I am now revamping it piece by piece.
You can see the original code located in _old but I would rather you look at the newer things
The stengine build system requires linux with g++-7
and libncurses-dev
installed
In the future I will include a Visual Studio Solution for building on windows
The build system can be used entirely from the root
Currently the best way to run the new project is using:
make util test
make engine test
This will run the simple unit tests for the utilities library.
Current planned action items before first full version
- Settings Manager
- Input Manager
- Ncurses Rendering System
- Snake Example game
First pass at a rendering system.
More Debug system improvements. Now supports multiple buffered input using:
debug::log << "This is a " << " good example " << debug::endl;
Which will output:
[LOG] This is a good example
All systems now using c++14
Huge improvements to Debug system. Now works similar to the standard output:
Debug::log << "This is a " << " good example " << std::endl;
EDIT: This outputted [LOG] This is a [LOG] good example
. This is fixed in the next recent update.
See the full demonstration in the tests
Implemented super simple SceneGraph which uses a grid of vectors to organize data
This graph only supports point sized elements and will be replaced in the future
Upgraded to g++-7
Some initial setup for GameManager, GameObjects, and GameComponents.
Most new code is not fully fleshed out and will soon change
Moved everything into a namespace
Finished first pass at an event system. See events.h and events.cpp
You can see an example use in the tests
Possible later extension would be passing constructed Event objects to be able to include information about the event
Finished the new and vastly improved Debug logging system.
New system allows users to create custon channels with custom output locations to help manage debug messages
See debug.h and debug.cpp or look at the tests to see it being utilized.
Setup build system
Started revamp of project
The original code should still be buildable on a linux system using the makefile.
The buildable version currently just has a Dwarf(D) moving across the screen