I AM

GAMEPLAY / TOOLS PROGRAMMER

image
Hello,

My name is Simon Gonand

I'm a Junior Gameplay and Tools Programmer. Working on several Videogame related project reinforce my love for gaming and programming. I am currently looking for an opportunity to work as a Gameplay Programmer mainly on Systems and Gameplay AIs

I'm aware that it can be not easy to work in this industry with the amount of work and pressure that can be important. Nevertheless I'm deeply motivated in order to fulfill my career objectives.


Studies
Rubika

Game Programming Master's Degree (5th year)

University of the West of Scotland

BSc Computer Games Technology

IUT Aix-en-Provence

DUT Computer Science

Paul Langevin High School

Scientist Baccalaureate Engineering option


Work Experience
Gameplay / Tools Programmer

Digixart Entertainment

Tools Programmer Intern

Rebound Capital Games

Customer Support Agent

Pole To Win Glasgow

Java Programmer

Reactis


My Skills
C++ / C# / Java
Unity
Unreal
Git / Perforce / Plastic
SOME OF WORK

A Day With Mochi


Introduction

A Day with Mochi is a sandbox game based on systems when you are playing Mochi a young cat who just arrived on the island of San Felicete. You must help the local cats and fill up your photo album with Polaroids by making mischief. Interact with your world, charm the people (or make them angry), make a mess and escape to the rooftops...

The game is now available on Itch.io

Context

This game is my final school year project. We have 9 months to produce a Vertical Slice containing about 30 minutes of Gameplay. We are 11 on the team with 2 Systems Designers, 2 Level Designers, 1 3C / Tech Designer, 2 Environment Artist, 1 Character Artist, 1 Animator, 1 Generalist Artist and 1 Game Programmer which was my job.

Tools

The project is done on Unreal Engine 5.1 and using Perforce as source control tool.
The architecture is using both C++ and Blueprints to have a base defined by me and a higher level that can be used by the Designers. 
The game is also using some new tools of Unreal such as the World Partition, Lumen and Nanite.

My Work

On the project, I have the role of Lead Programmer / Technical Reference, my role is to establish an architecture, be sure that everything is working on the engine and to setup all the tools that we are using on the projet.
I am both using C++ and Blueprint on the project, the use of this two languages in the architecture is to let the possibility to the designer to help me with some programming and set a natural boundary between their work and mine. If by trying to solve a problem they find C++ code, then it means that this is not their area of expertise.
On the Gameplay part, I was responsible of creating all the AIs of the game from the base code to their Behaviour Trees and to code the different systems of the game (Objects, Awards, Life on the Island...)

Screenshots







Pathing Tools

 


Introduction

For the game Plunder's Call (Presented in the previous post) we needed the boat to follow a predefined path during the levels. In order to simplify and to make this task quicker for the designers I decided to create a tool in Unity.

My work

First, I wanted to make a tool that can be reused with other objects than the boat and therefore in other Unity projects, even if the core can be reused on other engines.



As you can see on those pictures, the tool implements Bezier curves to have nice curves that are easy to follow and to make it more realistic in game. Also it is using the Unity Nav mesh to calculate a first version of the path which will let the users to create less waypoints to avoid an obstacles. 



In this tool, the waypoints are here to lead the path of course (even if you can let the nav mesh create the path between two waypoints) but also to create different links that can have different kind of data (speed, camera offset and camera dezoom).


Finally, when the object that is following the path is reaching a certain waypoint, it can throw an event with a callback function that can be decided by the user.



Conclusion

This project brings me knowledge in tool development in general but also how to extend the Unity Engine editor. It also allows me to explore mathematic problems such as the Bezier curve and how to make a 3D object following it with his rotation.


Plunder's Call

 


Introduction

Plunder's Call is a 4 players multi local coop party game in the same vain as Overcooked and Moving Out where the players are pirates that are plundering archipelagos in different kind of levels. Their goal is to organize and coordinate themselves in order to get a maximum amount of treasures.


Context

This game was a school project made on Unity with two constraints. Only 4 months of production and no artists available on it. To overcome this, we get a budget of 70€ to buy assets.


My Work

On this project I was the only programmer. Which means that I worked on the controller, the local multiplayer, all the gameplay features (including Collision managment & physics), a pathing tool (which I present in detail in the next post) and assets, UI, feedbacks integrations...


Conclusion

This project was my first videogame production and the most complete project that I did on Unity. It helped me to better understand the engine with his pros and his cons (espacially the physic). Being the only programmer of a project was also enriching by the fact that there is no one to rely on when something goes wrong and that is how I learned most.

Screenshots






Pathfinding A* on an 8-bit hardware

 

During the last entire year, I was working on a study of old 8-bit technologies.
For the sake of this study, I worked on the development of an A* pathfinding algorithm using C on the ColecoVision processor (the Z80). The challenge of this project was to put such a complex algorithm on 1kB of RAM.
This project brings me a certain mastery of the C language especially in optimization. For example, replacing arrays by just several bits and manage them using bitshifting in C.
To give a simple explanation, the main optimisation of the project was that the map was divided in a grid of nodes, each node has all his attributes on 2 bytes, as shown on the image below:

Thanks to this solution, I could save a lot of memory and I manage to run this pathifinding algorithm on this hardware.
I also managed to realize some tests using the Assembly language to compare the performances of the two programs. Unfortunately, I didn't had enough time to finish this project. Nevertehless, I had enough resources to complete my study.

Creation of an Immersive Experience

 


This project was to create a Immersive Experience prototype for the Scottish Crannog Centre in partnership with my school (University of the West of Scotland) when I was in Bachelor of Science.
The Scottish Crannog Centre is museum and a archeologist association based on the story of Crannog (artificial island that were built during the prehistory) at Lock Tay in Scotland. Due to the sanitary crisis, the centre asked us to make an protoype in order to immerse the user in a prehistorical world and narrate the story of the Crannogs, the residents and all about the terrestrial but also aquatic fauna and flora.
We were two to work on this project during one month.

 Goal

The purpose of this project was to realize a prototype for a future potential implementation of a VR immersive experience in order to discover the Scottish Crannog Centre through it.

Development

For this prototype, we have decided to go on a narratice experience where the user will be immersed in a small open world which can be discovered by exploring it.

What I've done

On this project, I was the one who did the whole VR implementation part in Unity, the terrain and also de macro design of the experience.
Here the first images of the prototype in Low-Poly:

 

 

 And here was the final prototype:
 

 

End of the project

This project couldn't be finished because, unfortunately, the Scottish Crannog Centre was the victim of a fire and only thanked us for the work that has been done.

Conclusion 

This project was my first Unity experience, so it brought me a lot of knowledge especially in VR and in scripting. It was also very interesting to understand the desing of an immersive experience. 

 

Contact Me

SIMON GONAND
+33 6 95 98 75 61
Seyne-sur-Mer, Var(83)

Powered by Blogger.

A Day With Mochi

Introduction A Day with Mochi is a sandbox game based on systems when you are playing Mochi a young cat who just arrived on the island of S...