Project done over 2022
The idea behing this project was to create a pitch for a AAA game, and work on developing some of the 3Cs systems to push myself and learn new things!
This project had a lot of new challenges, first time creating a pitch for a game this size, learning C++, make everything replicate and work in multiplayer.
But also a lot of challenges in 3C and system design, it was my first time working on a third person shooter.
Thank you to Mathieu Martinet, Pascal Dagenais, Nicolas Crevier, Garrick Handley and Marc D'Amico for their help, feedback and insight during this year of work.
Images used in this pitch are, unless stated, either done by AI (Midjourney) or found on the internet.
Tote Erde is a cooperative PvE third-person shooter where you, a group of french resistance fighter, travel across the french countryside to repel the prussian occupation while trying to survive the deadly mutated threats that populate the lands.
In Tote Erde, everything starts at your Resistance Base, this is where you can group with other players, take missions and see the map of the world.
Here, you can craft and equip different equipments or weapon to bring with you on your mission.
These are concept arts for some of the characters and the visual art style we wanted to have for the game.
Credit goes to Mathieu Martinet for the Art Direction and drawing those amazing concept arts!
Because the air is poisoned, everybody had to wear an apparatus to create and breathe oxygen.
This also fed into one of the more unique aspect of Tote Erde, what we have called the "Backpacks".
Nicolas Crevier, even did a mesh of the backpack of Bazaine !!!
You can see the level of detail we were going for.
Huge thanks to him!
As you play, you'll scavenge new weapons, backpacks, armor and more.
Each loot comes with different stats and powers that will enable you to build your character how you want it to fight against the many threats of Tote Erde.
Going into it, we knew that creating this world and all of its mechanics would take far more time than we had. We focused our efforts into making smaller prototypes showing gameplay and 3Cs.
We have used Unreal Engine 5 and everything was coded into C++.
Movement
The animations are all stock animations from Unreal.
I have created my own version of the Advanced Locomotion System from scratch that supports networking.
The character states (Moving, Sprinting, Aiming etc.) are handled by a State Machine that feeds into the character animation blueprint.
Shooting Mechanics
he shooting was by far the most difficult thing to develop all the systems for!
After playing dozens of third person shooters (TPS) and analysing gameplay footage, I decided to try and tackle having recoil (something that most TPS avoid).
Since Tote Erde had to feel visceral, I wanted to push the envelop here and see what those mechanics could bring to the gameplay.
Here's the list of every component I coded:
- Bullet Spread Component = Handles how straight a bullet is shot
- Weapon Sway Component = Move the camera subtely when aiming
- Weapon Component = Handles everything like the firing mode of the weapon (Single Shot, Semi-Auto, Automatic) to the number of bullets per shot fired, the number of bullets in your magazine etc.
- Weapon Recoil Component = Handles how far Up, Down, Left and Right the camera goes after each shot fired
- Weapon Recoil Recovery Component = Handles how much and how fast the camera returns toward its initial position (offsetted by the player input)
Every thing is data driven and can be tweaked at will.
The system is very flexible and can really be used to create a wide variety of weapons.
In this example, I showcase a shotgun weapon.
The bullet spread is non uniform and will favor a distribution closer to the center of the reticule.
Enemy AI & Reactions
I created a very basic "zombie" AI that will rush the players.
The enemies use physical animations to procedurally generate hit reactions when you shoot them.
This is still a bit rough but the video shows you an overview.
Interaction system
This has been created and worked on by Pascal Dagenais!!!
Huge thanks to him!
We needed to be able to interact with objects in the world, pickup and swap weapons.
Pascal created a wide array of different interaction methods.
Network
And of course everything we have shown here works in online multiplayer!
This was extremely time consuming, I had very little knowledge as to how replication was working in unreal and had to fiddle around quite a lot.
To the right, a little sneak peek into the lobby system with very temporary menu art.