Marc Peyré // Game Programmer


My name is Marc Peyré, I'm a Dutch game programmer and my greatest passion is to learn new things every day. In my spare time I like to draw, play guitar, run, cook for friends or go to the cinema. I am currently studying at the NHTV Breda University of Applied Sciences. In 2013 I started, together with a friend, a company called Twirlbound, with which we can develop the games that we love to make. // CV // LinkedIn

Game Projects

Commercial iOS Game

With the Wind

With the Wind is the biggest project I worked on so far and I am also the only programmer of the team. It is a puzzle game that was released on May 14th this year in the Apple App Store and it got featured in Best New Games. You play as the daughter of Aeolus, Ruler of Winds, and you have to solve the puzzles by retrieving a bag of wind. Every step you take causes the wind to blow in that direction and it will move parts of the level. It comes with 90+ levels and a level editor where you can create and share your own puzzles.

More info here!

  • Online Level Editor
  • Dynamic Level Environment
  • Procedural Tile Connection
  • Gameplay Mechanics

Gameplay and VFX (Gamejam)


This game was made for the Brains Eden 2015 gamejam in Cambridge. It is a mobile multi-player game which you can play on one screen. Hexagoal is a combination of air-hockey and pinball where the playing area constantly changes. You have to press the buttons in the play field to create shock waves that will hit the ball. The first player that scores 5 goals wins the game.

This game was made by a team of 5 developers in 48 hours. I was responsible for most of the visual effects and gameplay elements such as the ball physics, bumpers and goals.

  • 3D Pinball Physics
  • Random Play Field Generation
  • One-screen Multi-player
  • Tilt and Vibration
  • Power-ups
  • Hexagon Grid Layout

All Features (Gamejam)


QuickHunt was made by a team 3 people in 72 hours for Ludum Dare 27. The theme for this gamejam was "10 seconds" and I was the only programmer in our team. You play as a hunter in the woods and you have to hunt down the animals that walk around you within 10 seconds. The animals are listed and you only get rewarded when you kill your target. You are rewarded with extra time to hunt more animals. The only weapon you have is a pile of rocks and you only have until midnight.

Play it here!

  • Procedural Terrain Generation
  • Procedural Prop Placement
  • Projectile Hit Prediction
  • Animal AI
  • Day & Night Cycle
  • Online Highscores

Procedural Level Builder & Shaders


Reivor is a turned based strategy game for two player on the iPad. My tasks on this project were to create a procedural building that consists out of predefined rooms. For those rooms I made a Unity Editor Tool where the designers could easily define the shape and action points of the room. The camera has an orthographic projection with a fixed camera angle and therefore, always have the same view on a room. We rendered all the rooms with external software to a 2D texture so that we could have really nice lighting without performance loss. However, we do have 3D characters walking around in the building and I needed to find a solution where the 3D geometry could intersect with the 2D sprites. I came up with a shader that converts the pixels of the 2D sprite back into their 3D position. For this shader I used a pixel position pass texture to get the world position of each pixel.

  • 3D Pixel Position Shader for 2D Textures
  • Procedural Building Generation
  • Floorplan Generation
  • Room Composing Tool
  • Tilemap System
  • Optimized Sprite Merging

Gameplay (Kinect Game)

Blind Traffic Control - Experimental Kinect Game

This game was made with a small team with the goal to experiment with new hardware. In Blind Traffic Control you play as a blind traffic warden that needs to guide the cars based on binaural audio. We used a 7.1 Surround Sound Headset for the audio, the Kinect v2 for gesture tracking and an Oculus Rift DK2 for tracking head rotation. I made all gameplay in this project and provided a system for the other programmers to connect the input and output devices to the game.

More info here!

  • Kinect v2
  • Oculus Rift DK2
  • 7.1 Surround Sound Headset
  • PC

Gameplay & Visual Effects (Gamejam)

Switch Up!

This game was made in 48 hours for the Global Game Jam 2015 with a team of 6 developers. I was one of the two programmers in this project. Switch Up! is a 4 player arena fighting game with quick gameplay that is fun to play and fun to watch. We tried to polish the game as much as possible in the time we had. I focussed on the player movement, weapons and the visual effects in the game like bullet shells, knockback, hit effects etc. I also wrote a custom surface shader for the characters.

Play it here!

All Features (Gamejam)

Extreme Shopping

Extreme Shopping is a game made in 72 hours for the Indie vs. Pewdiepie gamejam. You control a shopping cart that you have to bang into the shelves to collect your groceries. I was the only programmer to work on this project and it didn't really go as planned. I end up redoing the shopping cart physics 4 times from scratch. In the end the game turned out great and we had a lot of positive reactions.

Play it here!




Unreal Engine 4

School Projects

Neural Network AI (Research Project)

Creating a Dynamically Learning AI with the usage of Neural Networks

This research project is about creating an AI that learns from the player. It will look for the most optimal ways of behaving in a certain environment. The AI can learn in real-time and by through evolution, where the best entities will survive and reproduce.

Read the full report here

  • Neural Network System
  • Real-Time Learning with Back Propagation
  • Learning through Evolutionary and Genetic Algorithms
  • Visual Node Editor Tool

Water Shader

Water Shader

This project was made in an OpenGL framework that I developed during for multiple school assignments. I made a animated water shader in GLSL combined with Depth of Field, Lens Flares and a Day and Night Cycle.

  • Reflection
  • Refraction
  • Animated Waves
  • Underwater Fog
  • Underwater Light Scattering
  • Beer's Law

Path Tracer

Path Tracer

This path tracer project was made in C++ and works completely on the CPU. It uses a Bounding Volume Hierarchy (BVH) for fast ray intersection calculations with the geometry. The application is multi-threaded and the quality of the render is converging over time. The project was made in under 3 weeks.

  • Refraction
  • Reflection
  • Depth of Field
  • Caustics
  • Bloom
  • Vignette
  • Skybox
  • Model Importer
  • BVH
  • Sphere and Cube Primitives
  • Camera Movement
  • Multi-threading

Procedural Terrain with Vegetation

Procedural Terrain with Vegetation

For this project I wanted to create an infinite procedural environment with a tropical climate. I started with a flat terrain managed by scrolling quadtrees. This way you could move infinitely far without ever getting to the edge of the terrain. After that I worked on the generation of vegetation density and terrain height maps to get it to look more like a real environment. I used free models of foliage to give more life to the environment. The terrain textures are procedurally blended with different noise patterns. Everything in this project was procedurally made or changed with a GLSL Compute Shader. The procedural data is only generated once when the terrain chunk is generated to maintain high frame rates on runtime.

  • Procedural Infinite Terrain
  • Procedural Vegatation and Prop Placement
  • Frustrum Culling
  • Dynamic Quadtree LOD
  • Water
  • Procedural Terrain Textures

Arkanoid (PS4 hardware api)

Arkanoid made with the PS4 Hardware API

During this project I learned how to develop a game for the PS4 without the use of an engine. I used the PS4 Hardware API to build a small framework for the development of a Arkanoid clone. As there were not many gameplay aspects I focussed on making it look and feel as good as possible. All models were modelled by me in Autodesk Maya and I wrote some custom PSSL shaders for the materials of them. For the scene boundaries I made an abstract piece with smooth curves. As for the material I wanted a car paint looking material that would go along well with the curves. I also added an extra camera to experiment with rendering targets and rendering to a texture. The project was made in around 50 hours.

  • Car Paint Shader
  • Sound Effects
  • 2D Physics
  • Polished Gameplay
  • Dualshock 4 Touch Pad Input

Property Tree Parser

Property Tree Parser for Real-Time GUI Development

This is the first tool I created in C++ for developing GUI in real-time. You can define the GUI elements in a text file in a custom css-like language with nested classes. The GUI is updated in the application as soon as you save the file. It was implemented as custom build step and it uses Flex to parse the text files. It supports inheritance and hover and active states for buttons. You can also specify an OnClick function by name in the GUI files that will be linked with C++ functions. I spent a couple of hours per week on this project during a period of 7 weeks.

Supported Attributes:
  • Position & Size
  • Inheritance
  • Dynamically Resizing Containers
  • Parenting
  • 4 Independent Borders with Color and Size
  • Text
  • Text Alignment
  • Font Size, Color and Custom Font Support
  • Padding
  • Wrap Modes
  • Click Events
  • Hover & Active States
  • Background Image or Color
  • Opacity
  • Depth Ordering

Software Rasterizer

Software Rasterizer with Networked Multiplayer

I made a Minecraft clone for a project that combined two of my courses, Networking and Software Rasterization. The assignment was to not use any graphics library but to create your own rendering pipeline with rasterization done on the CPU. It support .obj models, textures and diffuse vertex colors. I also implemented a networked multiplayer mode that uses RakNet. I implemented as many Minecraft features as I could in the 7 weeks that I had for this project.

  • World Generation
  • Shadows
  • Single Player Mode
  • Networked Multiplayer Mode
  • Destroy and Place Blocks
  • Player Health
  • Player Animations
  • Spectator Mode

DirectX 11 Project

DirectX 11 Project

For this assignment I had to start a new empty project and setup a basic framework with DirectX 11. I used the same architecture as in my OpenGL framework to be able to merge them together for a cross-platform framework. I implemented the basic things for a small game engine. It's support meshes, gameobjects, shadow mapping, custom HLSL shaders and more. I worked a couple of hours per week for a period of 7 weeks on this project.

  • Unlit Shading
  • Diffuse Shading
  • Bumped Diffuse Shading
  • Fully Abstracted Engine Layout for Easy Cross-Platform Implementation
  • Shadow Mapping with Poisson Disk PCF
  • Mip Map Generation
  • Multiple Mesh Formats Supported

3D Physics Engine

3D Physics Engine

The first part of this assignment was to create a kinematic simulator with rigidbodies. I used the Runge-Kutta 4 method for calculating the linear and angular momentum. The collision handling has collision detection, collision response, contact manifold visualization and multiple rigidbody constraints support. The project was developed part-time in a period of 7 weeks.

  • Rigidbodies
  • Box Colliders
  • Mesh Colliders
  • Controllable Wheel Physics
  • Broad Phase Collision Detection
  • Collision Response
  • Contact Manifold Visualization
  • Contact Constraints
  • Distance Constraints
  • Friction Constraints

Other Work

Pencil Drawing

Pencil Drawing: Citroën 2CV

Chalk Drawing

Chalk Drawing: Self Portrait

Life Drawing

Life Drawing

Colored Pencil Drawing

Colored Pencil Drawing: Taylor Swift

Pencil Drawing

Pencil Drawing: Hand Studies

Pencil Drawing

Pencil Drawing: Rose

Pencil Drawing

Pencil Drawing: Glass

Pencil Drawing

Pencil Drawing: Light Bulb

Pencil Drawing

Pencil Drawing: Mr. Bean

Pencil Drawing

Pencil Drawing: Face

Pencil Drawing

Pencil Drawing: Olive You

Pencil Drawing

Pencil Drawing: Emma Watson

© 2016 Marc Peyré. // All rights reserved. // // CV // LinkedIn