Professional project, Unity3D

As I didn't have a job at the time of the end-of-course projects of the Gamagora 2012-2013 course, and I did know some of the students of this year, I decided to join one of the groups and help them in developing a video game over a duration of 3 months.

That's how I contributed over 3 months in developing ROPE, a 2.5D platformer which makes our hero, a robotic spider under the name of S-27, evolve in a natural environment thanks to its laser hook. Though, a video is worth much more than a long speech, which is why I let you discover all of this with the game's trailer

Note: this trailer is to be re-shot, as this one isn't optimal resolution and doesn't quite demonstrate all of the final features / graphics of the product.

If you're willing to know more about this project or download the demo, you'll find more info on ROPE's official website (http://rope-thegame.com).

Heartcraft (Global Game Jam 2013)

Personal project, Nao robot, Choregraphe, Python

Project developped during the Global Game Jam 2013 (theme: a heartbeat) within a 4 members team on an original platform: a Nao robot! 2 of the team members were Aldebaran robotics employees who brought a Nao robot in order to participate to this Game Jam. The challenge of conceiving and developping a game on this original platform in addition to the usual constraints (imposed theme and 48h) immediately attracted me.

Team PiNAOcchio

Our final product is a funny and cute interactive story with a Nao robot around Pinocchio's theme, punctuated by some mini-games.

An evil wizard cast a powerful spell and disabled all of Nao's features (voice, sight, hearing, touch, limbs motion, his LEDs, the ability to walk and to distinguish Left/Right). All of them?! Ha, looks like he forgot a hidden one: Nao can still send emails! From that tiny crack in the curse he's affected by, Nao will require the help of the player to unlock and recover each ability one after the other (with according mini-games). And it appears he can also learn more than what he actually used to know..!

Below, a video featuring the last mini-game where Nao learns about emotions, taking place once Nao recovered all of his usual abilities, followed by the end of this heart-warming (pun intended?) story.


Professional project, Unity3D

Arrow crossword (mots fléchés in French) game developped with Unity3D for DigDog Studio. Features several grid sizes, various grids difficulty levels, 3 game difficulty levels, 2 very distinct ways of playing (keyboard for the "old schoolers" or tokens to drag for the newcomers), an in-app store for the relentless, groovy animations... an excellent time-killer!


Available on iPhone, iPad and Android, as a paid application (iMotsFléchés) or as a free one (FreeFléchés). French only.

The use of Unity3D was aiming at easing the portage iOS/Android, as well as an easier integrationof some typical video game elements (i.e. physics). The main difficulty consisted in "reverse engineering" in order to reproduce as much as possible the native iOS interfaces behaviour in Unity (system of pages for the menus, inertia when moving the cameras, "spring" effect when we pan until the borders...).

Triad Chess

Professional project, Unity3D

3 players chess game realized for DigDog Studio. Battle for your king in this crazy looking original chess game. Playable by up to 3 persons on the same device, or versus AIs. Features 3 difficulty levels for the AIs, and 2 game modes (last king on the board wins or first checkmate wins).

Triad Chess

Available on iPhone, iPad, Android, Mac, PC et web browser. There are free trial versions on iPhone, iPad, Android et web, so do no hesitate to try them out!

Disclaimer : the portage of the PC, Mac et web versions have been handled by someone else than me,so I can't be held responsible for potential graphics problems (resolution for instance.)

Triad-Chess © Richard Wittig, http://www.triad-chess.com

Warlocks Brawl

Personal project, UDK, Unreal Script

Development of a game on my own using the UDK, for which I was both designer and programmer. I was being helped by friends for everything dealing with graphic assets.

Warlocks Brawl consists in a fight between warlocks (one for each player) in an interactive arena (shrinks over time, surrounded by lava, destructible objects), where the winner will be determined by his strategy (some spells can be used in conjonction to enhance their effectiveness), his reflexes and his accuracy at casting devastating spells, each one having their own effects/behaviour. The view uses a 3rd person camera, high angled shot. A game is composed of several fights, with intermediate sequences allowing the players to get new spells or to improve the ones they already learnt based on their global effectiveness in the previous round. Multi-players only.

If you're willing to know more, please visit my developper's blog (english) which covers part of the project. This project lasted several months full time, but was then dropped due to the lack of funds. Original idea from a Warcraft 3 mod.

The Uncrackable Twins Saga: Twins Of The End

University project, XNA, C#

Development of a game using C# and Microsoft XNA, as part of a 9 members team (2 programmers, 2 artists, 3 designers, 1 sound designer and 1 manager) over an academic year, for a university module.

It is a 2D cooperative shoot'em up with a top view, featuring a gameplay based on a color system inspired by Ikaruga: blue only affects orange and vice-versa, which makes copperation between the 2 players a necessity. Furthermore, in order to intensify this symbiosis beween the players, we added some other collaborative actions such as the ability to heal the other player or the fact that you have to "answer a call" from your partner before being able to fire a devastating attack.

On a more technical aspect, this game is totally "data-driven", all the data are loaded from different XML files. That way, we also developped in parallel a level editor in order to make Level Designers' life easier.

A Hell of a Show

Personal project, Hammer

Personal project of a 5 levels campaign for the game Left 4 Dead, with an original scenario. Design, story writing et mapping on my own; dropped at an early stage, due to the lack of spare time after university work.

The project has been dropped at an early stage, due to the lack of spare time because of university, after the summer holidays.


University project, C++

Work achieved for a university module, Animation and Simulation Programming. The goal was to animate (no physics involved) or simulate (with physics) procedurally a tornado using a particle system. As far as my tornado is concerned, it is animated, and the application is made so that it can run endlessly, the way you see it in the video. Made in OpenGL, using a scenegraph (lecturer's library).

Video patchwork using Augmented Reality

University project, OSG, ARToolkit, C++

Application with recreational purposes, particularly suited for exhibitions. It is split into 2 parts: the Patchwork mode and the Record mode. Made using OpenSceneGraph, ARToolkit and OSGART.

In Patchwork mode, a patchwork of videos is displayed (at initialisation time all the videos are the same, using a default file). The user can now click on any of the displayed videos in order to replace it with a video he is about to record himself. Thus the application switches to the Record mode.

In Record mode, the patchwork is replaced with the live stream of the video camera (pointing at the user). From now on the Augmented Reality is activated and thus the user can "play" with the 2 markers available to him: the 1st one is followed by a trail of particles whereas the 2nd one is the referential for the gravity of the particles (understand: the particles will "fall" in the general direction of this marker). There is also a panel on the left hand side allowing the user to customize the particles by changing the color, the lifetime, the size... Once this customization is over, the user starts the recording by pressing 'R' (the customization panels disappear): the video stream + the virtually added particles are recorded for the following few seconds. The application switches back to the Patchwork mode, and the video recorded just now is now played looping at the previously chosen location.

Online Bombing

University project, Java

Demo of a multiplayer game (bomberman type) realised for a university module, Multiplayer Games Programming. Developed in Java.

The goal of that module was to learn how to study the needs, the constraints and conceive the solutions concerning a multiplayer game. The final product is not really a game (very few mechanichs implemented), but more likely a "proof of concept" including (this list is not exhaustive):

  • A client/server relationship.

  • A multithreaded architecture, articulated around a game loop.

  • Association of 2 transport protocols: UDP and TCP.

  • The setup of bandwidth cost optimisation solutions such as multiplexing messages in TCP in order to avoid headers overloading,...

3D Graphics Shading

University project, C++

The goal of this module was to learn the basic shading techniques for pre-rendered images (thus no real time). Developed in C++, using a library from the lecturer.

Therefore I am going to show you the images generated by my renderer. We had for assignment to analyse and create 3 scenes, each of them respecting some constraints chosen by the lecturer, and to render them from several points of view.

  • Scène 1: Spots

This scene must be lit be exactly 9 spotlights, no more, no less, and no other types of lights. Thus I decided to play with the colors (one per spotlight) and with the relief (normal mapping, soft shadows).

  • Scène 2: Stained Glass

This scene must contain a stained glass, which has to be lit by a spotlight partially occluded by another object. You can notice that on the first image (the stained glass lacks some transparency though...). In addition, I used this scene to place some other shaders I had made and could not place in another scene: texture filtering technique (Bilinear) visible with the 2nd and 3rd images (2nd is not filtered, 3rd is), and a cubemap reflexion on the last image.

  • Scène 3: Freestyle

This scene must contain only a sphere located onside a cube (the room). It was then up to us to be imaginative in order to make this scene look as interesting as possible. As for me, I decided to develop a personal shader in order to make my sphere look like some kind of fireball. Dealing with the room, it is also a personal shader, a procedurally generated chessboard where the tiles other than white act as mirrors.