Sylvain Tosoni Game Programmer

Who am I ?

I am Sylvain Tosoni, game programmer to become.
Currently in third year at Bellecour Ecole in Lyon, France.
Focused on gameplay programming and still learning engine programming.

Pretty Engine

Engine Concept

This engine is for learning purpose.
Multithreaded and using Vulkan API for rendering.
The idea is be able to create with it a 3D game, that is easy to extend and maintainable.

State of devlopement

The renderer got removed recently, I search for better solutions and want to improve my autonomy when using Vulkan.
The current main work is to write an Entity Component System, and improve the data/asset management.
The architecture with the multithreading is still a challenge, but its starting to be cleaner.

Insights

The engine is in its third version, and it teach me a lot.

So the choice to do multithreading and using Vulkan come from the issues I met mostly in the first version.
The first version was using OpenGL, it was in fact more advanced, but less stable, and the performances was just acceptable.

Multithreading is very important in modern programming, and for example in the current version it allow a very fast intialization, even if some parts like Vulkan intialization can take time.

From it, I found a passion for engine programming, the level of complexity and the creativity coming with is lovely.

Echoes of Seasons

Game Concept

You must solve puzzles, using the different gameplay mechnics available.
The goal is to reach the end of each level.

Gameplay

There is two main mechanics:

Development

I worked with six game designers, and one other game programmer, and with eleven artists.
Made using Unreal Engine 5.4, most of the logic is in C++.

The performance aspect of the switch of season wasnt really a difficulty.
Since Unreal Engine is well optimized when it come to change assets and materials in real-time.

Even if as the devlopement goes, less asset switch was used, replaced by visual effects.
The game is still in development, it should be released on steam later this year(2025).

Insights

It was a great project to validate my abilities with Unreal Engine in C++.
With the new experience I would have used really different approach for the programming.

It was good organisation challenge, since we were a lot of people on the project.

Bellum

Game Concept

Top down view, with hand weapons.
You must reach the end of the level, with or without killing all the enemies depending of the level.

Gameplay

Top down view.
The player can move and hand combat.

Enemies comes to the player when seeing him, when one see him, they all get alerted (optional).
There is traps to challenge the player progression.

Development

Made using Unity, programmed in C# only.
The free to play aspect was faked.

Insights

Put my Unity knowledge to a challenge.

First complete game done, implying polishing at the end.
Put for the first time in a situation where features got cut.

Discovered the difficulty of working for a mobile platform (Android).

Rust

Compared to others this one is to present my use of Rust.

Tooling

Rust is my main language when it come to external tools.
Because of its great performances and the great ammount of libraries available.

My favorite GUI framework is Tauri (v2.0).
It is an alternative to Electron, but with better performances and lighter.

Most of the libraries are cross-platform, making it easily compatible between Linux and Windows.

What I made with it

Using Rust I made a launcher for Unreal Engine 5.4, to make it easier the compilation for the game designers.
I am working on making a launcher for my engine and my future games.

Insights

This is a powerfull and safe language.
But it come with difficulties when using async code.

The community is great, and the documentation is complete.

Source Code Image

Pretty-Engine

Custom C/C++ Game Engine. This engine is for learning purpose. Multithreaded and using Vulkan API for rendering.

Debug

Echoes of Seasons

Puzzle game made using Unreal Engine, final project at Bellecour Ecole.

Debug

Bellum

Second year project at Bellecour Ecole, using Unity, Free to Play mobile game (no transaction, only demonstration).

Debug

Rust

My main language for tooling, mostly using Tauri 2.0.