Skip to content

sysfce2/SFML_EasyEngine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

an banner logo for EasyEngine    

EasyEngine is an ongoing project aimed at creating a game engine for fast prototyping of 2D games.


As I have gained experience with commercial engines, I have identified some mistakes I made during the development of this project. My current goal is to address these mistakes and also adjust the scope of the project slightly.

I am also migrating the project from SFML to Raylib, as Raylib seems better suited for rapid prototyping due to its ease of use. The Raylib version of the project is currently hosted on a dedicated branch in the repository. This version is unfinished and does not yet include a level editor. I am actively working to bring it to the same state as the SFML version.


The motivation for this project was my idea to build a videogame, and a subsequent realization that it takes a lot to make even a simple prototype. I decided that a good place to start learning about game development is to build an engine that allows for the creation of prototypes very quickly and test the idea before jumping into professional engines.

The engine is built with C++20 and SFML and uses the ECS design pattern. The core engine features are based on a 2023 lecture series on game programming from the Memorial University by Dave Churchill (link).

Below is a graph representing the overall architecture of the engine: an banner logo for EasyEngine

Building

The project uses Visual Studio 2022 for it's build system. You can just open the solution file and build. Make sure the target platform is set to x86.

Milestones

  • core engine features
  • basic level editor
  • capable editor (for static elements)
  • better physics
  • simple in game windowing system

TODO TILL NEXT MILESTONE

  • edit components in the editor
  • edit sprites in the editor
  • save/read the level using a config file
  • save/read created sprites using a config file
  • control over the view in the editor
  • make the UI more structured
  • intuitive mouse controls in the editor

About

An engine for 2D games. The goal of this project is to make a 2D game engine designed for fast prototyping.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 92.5%
  • C 6.6%
  • CMake 0.9%