I'm a programmer who likes to work with relatively low level systems, such as the graphics pipeline, physics (both my own and Havok), networking, audio, and tools.
Out of these areas I would probably say that graphics programming is my primary area. I've got experience with writing shaders and post-fx for both PC and the PS4, and I've written some 2D CPU accelerated rendering applications.
My work on this project varied quite a bit. I started off by taking care of all the physics, such as collision, gravity, and wall riding, including the movement and steering of the vehicles. This was followed up by local multiplayer support, using different presets for split screen depending on the number of players.
I also programmed the racing specific game mechanics; we used a spline to keep track of where players were positioned relative to each other, and the direction they were going. This was also how we kept track of the laps and if someone was trying to cheat by taking shortcuts.
Most visual aspects of the game (programming-wise) were managed by me. Such as menus, HUD, vehicle colour customization, and lights; the vehicles have point lights childed to them, shining in their respective colour.
This project was developed mainly for the PS4, but still had controller dependent PC support. I was assigned as lead programmer, but all programmers were part of planning and structuring the framework.
We wanted to build a stable framework before we started implementing gameplay specific elements. I started by making a level editor that could be accessed during runtime, where designers and graphical artists could get assets into the game without being dependent on a programmer. The editor had tools for rotating, scaling, and positioning assets. I also added tools for creating splines that we used for the lanes. It could load any world and save after changes were made.
I focused mainly on graphics programming in this project, creating a system for rendering to textures and adding post-fx. I wrote shaders for SSAO, bloom, and highlights. I also wrote the particle rendering for the PS4, since the particle emitter code we used only worked for PC.
Other than that I also implemented some more gameplay specific elements, such as the mice's special abilities, some of their spline behaviour, input, and the main menu. I also made FMOD work on the PS4.
This game is currently in-progress, and is being developed for the PS4, with a stable PC version.
This project is a bit controversial in PSQ-standards, since it is a first person single player game, with Havok physics, and a relatively realistic style. It's also one of the few projects that have a big focus on atmosphere and story.
My main roles in this project consist of being the lead programmer, graphics programmer, composer, and audio engineer. But I have also helped with the story, setting, and environment design.
List of things I've done so far for this project:
- Programmed a component based framework.
- Implemented an event-based communication system.
- Programmed the entire rendering pipeline.
- Implemented an action based input system.
- Wrote helper scripts in python.
- Implemented an event-based audio system using FMOD.
- Composed the music.