Portfolio

Manuel Riecke

1 / 5

Springbok

Since 2010, C++

On GitHub

Springbok is all the things I learned about C++ condensed in one library. It provides a lot of functionality needed for 2D games: High performance sprite rendering, Vector and Angle math classes, Parser Combinators for creating arbitary parsers, as well as a easy to use OpenAL wrapper with Ogg Vorbis decoding.

It started out, under a different name, as a monolithic engine for JRPGs dependend on a bunch of middleware, scripting was implemented using Angelscript, rendering via SFML.

Later I restructured the code into a reusable library, so I could use it for other projects, at that time I was blown away by Qt and emulated both it's API and development style. At the same time I was cutting away the middleware and implemented my own naive OpenGL 2.0 code.

Turns out, trying to emulate Qt is very work intensive, and not very suited for a single developer. I refactored the whole library, cutting away a lot of unneccesary functionality and gave it it's current name: "Springbok".

The next big step is a restructurization in order to make all the components independent of each other, so that projects can include only the parts they really need.

Technologies: C++11, OpenAL, OpenGL

2 / 5

Critical Dice

Since 2015, Javascript

On GitHub

Critical Dice is a so called "Virtual Tabletop". A virtual table, accessable and modifiable by multiple users at the same time, often used to play Pen-and-Paper RPG session over the internet.

A lot of people would love to spend time playing together, would love to host game parties. Finding a time and place that works for every participant can be difficult though. This is where Critical Dice helps.

Critical Dice is very open, you could theoretically play any kind of game with it, be it checkers, Magic the Gathering or a session of DnD, or just use it as collaberative writing tool.

Critical Dice uses Peer.js to communicate in a Peer-To-Peer fashion, and as such needs only needs a static server to serve the HTML and JS files, everything else is done client side. This reduces the ping to a absolute minimum and makes the table more responsive. Uploads initiated via Drag&Drop are currently stored on imgur.

Live-Demo: http://api-beast.github.io/CriticalDice/

Technologies: Javascript, CSS3, HTML5, PeerJS

3 / 5

Stargazer

February - April 2014, C++

Stargazer was a prototype created for "One Game A Month", short 1GAM.

It was a physics based top-down shooter, where both movement and projectile paths are heavily affected by gravity centers

It first was just supposed to be a arcady shooter, but in the end the project succumbed from adding too much complexity.

Technologies: C++11, Springbok

AI-Kingdoms

December 2014 - May 2015, Javascript

AI-Kingdoms was another project for a 1GAM, this time alone, and my first attempt to write a sophisticated game in Javascript.

The prototype features a procedural map generator, including generating characters, commoners, generals and politicans.

The goal was to simulate a completly procedural kingdom, with intrigue, ambitions and heroism, but it never reached that state.

Technologies: Javascript, Canvas, HTML5, CSS3

4 / 5

Art

Pixels

5 / 5