Rewrite of Something from scratch
Objectives of the Rewrite
Migrating completely to OpenGL.
First iteration of Something was using pure SDL2 which was extremely limiting and didn't allow certain features that are available even in the oldest OpenGL versions.
I finally learnt enough OpenGL so I can implement a simple 2D engine in it.
Changing the Architecture to simplify piling features on top of the game.
Making the game state easily available to almost any part of the code almost at any time.
The only limitation is spliting the access into two distinct phases:
- Update Phase -- the state is mutable by any part of the code that has a pointer to the
Game
object. - Render Phase -- the state is read-only.
The Game
object becames the central communication hub between different parts of the system, similarly to a database in CRUD applications.
Quick Start
*NIX
:
$ sudo apt install libglew-dev libsdl2-dev # may vary depending on the distro
$ ./build.sh
$ ./something.debug
Windows (Visual Studio)
:
> setup_dependencies
> build_msvc
> something.debug
Windows (MSYS2)
:
> build_msys2.bat
> something.debug.exe