That time I started working on my 2D game engine: JTPE

Categories: Coding and Work

JTPEngine started like every other dev project: let’s make something from scratch, have fun and learn from it.
Never to be used in actual game dev production, JTPEngine is a 2D C++ Game Engine. Its goal is to provide an abstract, lightweight and cross-platform ready engine that uses only C++/std and JSON scripting. This engine is designed for coders who wants a starting point to create 2D apps and games without messing with major engines on the market.

I started writing during a code jam at the beginning 2018, I decided at some point that releasing it as Open Source project was the best thing to do.
So, here we go:

JTPE is currently composed by several modules:

  • File managemer, including crypted/decrytped loadings
  • Easy task/thread manager
  • Abstract 2D rendering with logic scale rendering
  • Abstract Input manager
  • Game save/load system
  • GUI, (Animated) sprites, game levels JSON scripting.
  • video player (currently using ffmpeg)
  • audio player with 16 channels
  • REST library to handle GET/POST requests easily and asynchronously

The GUI module is made to easily load complex screens composed by re-usable JSON modules.

The build example is a ready to use Windows port created for Visual Studio (2017). The engine, with the due adaption work, can be ported to any platform.

JTPE is under the MIT license (see License file on GitHub). So, it is really free to use/change/re-distribute as you want. Feel free to drop me a message if you want to use for any legit kind of projects.

I am proud of this very little piece of software, not because for its possible usages but for the joy I had in making it and from time to time in updating it with small pieces.