Personal project · 2022

Tote Erde

Co-op resistance shooter in a poisoned French countryside

Tote Erde cover art
Role
Lead: pitch, 3Cs, systems, networking
Engine
Unreal Engine 5, C++
Team
5
Context
Personal project: AAA pitch + playable 3C prototypes
Platforms
PC

What I did

The overview

The idea behind this project was to create a pitch for a AAA game, and to build prototypes of the 3C systems to experiment and learn new things!

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.

Tote Erde is a cooperative PvE third-person shooter where you, a group of French resistance fighters, travel across the French countryside to repel the Prussian occupation while trying to survive the deadly mutated threats that populate the lands.

Concept Art showcase

Credit goes to Mathieu Martinet for the art direction and the concept arts.

Prototype Showcase

We used Unreal Engine 5 and everything was coded in C++.

Movement

The animations are all stock animations from Unreal.

I created my own version of the Advanced Locomotion System from scratch, with networking support.

The character states (Moving, Sprinting, Aiming, etc.) are handled by a State Machine that feeds into the character animation blueprint.

Networked locomotion: custom ALS with state machine

Shooting Mechanics

Building the shooting feel: recoil, spread and sway working together

Here’s the breakdown of every feature I coded:

  • Bullet Spread Component: handles how straight a bullet is shot
  • Weapon Sway Component: moves the camera subtly when aiming
  • Weapon Component: handles the firing mode (Single Shot, Semi-Auto, Automatic), bullets per shot, magazine size, etc.
  • Weapon Recoil Component: handles how far Up, Down, Left and Right the camera goes after each shot
  • Weapon Recoil Recovery Component: handles how much and how fast the camera returns toward its initial position (offset by player input)
The data-driven weapon system in action

The system is flexible and can be used to create a wide variety of weapons.

In this example, I showcase a shotgun. The bullet spread is non-uniform and favors hits closer to the center of the reticle.

Shotgun: non-uniform spread favoring the reticle center

Interaction system

This has been created and worked on by Pascal Dagenais.

We needed to be able to interact with objects in the world, and to pick up and swap weapons.

World interactions: pickups and weapon swaps
More interaction methods in action