Skip to content

redxdev/dive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dive Engine

Dive Engine is a component-based 2d game engine written in C#. It uses an entity-component model (not an entity-component-system model as is sometimes used) to handle game elements.

Alpha notice

Dive Engine is currently in alpha! That means that it is not production ready and it is not feature-complete! Don't use it expecting everything to work as planned.

Dependencies

Dive requires the following dependencies, which should automatically be installed by NuGet:

  • SFML.Net
  • log4net
  • ini-parser
  • antlr4
  • FarseerPhysics

Projects

The engine project contains the main engine executable code. The game project is a template for the game assembly.

Licence

Dive Engine is under the MIT licence. You can find the full terms of the licence in the LICENCE file.

Building

Dive Engine should build out of the box with Visual Studio 2012, as all dependencies are included. Building for systems other than windows will require rebuilding the dependencies and building both SFML and CSFML.

Debug vs Release Builds

There is a limited amount of conditional compilation based on debug and release constants, to change behaviour during debugging.

The most obvious is exception handling. If an exception is thrown and not caught until the main method, the engine can behave in two different ways. In debug mode, the exception is left alone, so that the Visual Studio debugger can detect it. In release mode, the exception is caught, logged, and the program exits.

Debugging

Debugging under Visual Studio 2012 will fail initially (or rather it will pull up a blank console window which will close after a few seconds) unless you set the working directory of the "Engine" project to "Dist".

Running

The engine must be run with the current working directory set as the Dist folder. Other than that, it should just run.

Logging

Make sure to clean out the logs directory every so often; the logs can get large very fast as the default logging settings log all messages. To change this, edit config/logging.xml and change the logging level from DEBUG.

About

Dive game engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published