Skip to content

NamelessPerson/stengine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Terminal Engine

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

Usage

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.

Todo

Current planned action items before first full version

  • Settings Manager
  • Input Manager
  • Ncurses Rendering System
  • Snake Example game

Changelog

Sept 19

First pass at a rendering system.

Sept 14

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
Sept 13

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

Sept 8

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

Sept 6

Upgraded to g++-7
Some initial setup for GameManager, GameObjects, and GameComponents.
Most new code is not fully fleshed out and will soon change

Aug 25

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

Aug 15

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.

Aug 9

Setup build system

Aug 4

Started revamp of project

_old

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