Skip to content

tsoding/something-rewrite

Repository files navigation

Build Status

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

About

Rewrite of Something from scratch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages