layout |
---|
default |
This is a selection of some things I did programming-wise over the last decade. It reflects my interests in game programming, program architectures for soft-realtime and graphics applications, multi-threading/parallelism, and programming languages in general.
This summer I've been working on the compiler of Mozilla's new programming language Rust, in the context of a Google Summer of Code project. My main task has been the implementation of debug symbol generation, so Rust programs can be debugged using GDB or LLDB. It's very interesting to work on a bootstrapping compiler for a still evolving language, or in other words, debug the debugging code in a compiler that compiles itself :)
In the future I'd like to keep contributing in this area, as time permits. The summer project has brought some great progress to the debug info module but obviously there is still work to do.
- Blog: Conclusion Report
- Blog: Generics and Debug Information in Rust
- Blog: Visibility Scope in Rust Debug Info
Experimental execution model for games, allowing for parallelization and simpler reasoning about game logic. Proof of concept implementation in C++. Very similar to what John Carmack later described in his QuakeCon 2013 keynote when talking about game programming in Haskell.
Master thesis written at the VRVis. Describes and evaluates a system that allows optimized scene graph rendering using data dependency analysis, incremental computation, and compiler techniques. Prototype implemented in C# within a large rendering framework. Continued work after the thesis has been published as a paper at the High-Performance Graphics 2013 conference.
A puzzle platformer with two simultaniously controlled characters and a Braid-inspired rewind feature. Programmed in C#, using XNA, including a map editor with undo/redo functionality. Never got finished due to lack of spare time and a clear vision of what the final game should play and look like. Artwork by Martin Wörister.
Component-based 2D game engine written in C# (also running on Linux using Mono), including map editor with undo/redo functionality, file system abstraction layer, optimized sprite sheet packing. Never finished, but very educational to work on.
A replacement for .Net's System.Windows.Forms.PropertyGrid with support for realtime feedback and transactional property manipulation protocol. Developed for the editor of Engine of Evermore.
For my bachelor thesis I integrated the Box2D physics engine into the Torque Game Builder runtime engine and level editor. Has been used by others within several commercial projects, afaik.
Pac Man-esque game with a ninja turtle fighting zombies in a dungeon (obviously). Created using Torque Game Builder (which I was working on as a contractor at the time). Features 2-player split screen mode.
A lunar lander game programmed during summer holiday in Delphi, featuring many planets and moons of our solar system, including both (!) Earth moons.