Blacksands

About the Project

Platform: PC
Genre: FPS, Puzzle, Knowledge Vanilla
Description: Blacksands is a puzzle game, Knowledge Vanilla and an FPS. In this game, you play as a gladiator trapped in a time loop, forced to fight again and again for the entertainment of a sadistic alien audience. You and your ally can only rely on the knowledge acquired during your previous lives to hope one day to break this endless cycle.
Download: itch.io

Project Details

Development: Fourth-year student project developed at IIM
Production Time: 12 weeks
Status: Released
File Size: 854 MB

My Contribution

Sunlight Detector System

One of my major contributions to Blacksands was the development of a sophisticated Sunlight Detector System that added dynamic lighting mechanics to the game. This system allows game designers to easily implement sunlight-responsive objects by adding just a few components to any actor.

Designer-Friendly Implementation

Sunlight Detector Tool Interface

The system is designed to be easily implementable by game designers. They can add sunlight detection to any actor by simply adding a few components, making it accessible for rapid prototyping and iteration.

Technical Implementation

SunBlueprintEvent C++ and Blueprint Integration

The system is built using C++ Actor Components and C++ Components for performance and reliability, while remaining accessible to game designers through Blueprint Callable Delegates. This architecture allows designers to easily tweak and customize the sunlight detection behavior without needing to modify code, providing the perfect balance between technical robustness and design flexibility.

Visual Effects Comparison

Door System
Door: unlit vs lit comparison
Platform System
Platform: unlit vs lit comparison
Jump Pad System
Jump pad: unlit vs lit comparison

The system provides dramatic visual feedback, with objects displaying different VFX states when unlit versus when illuminated by sunlight, creating engaging environmental storytelling.

Weapon System

I developed a sophisticated weapon system that combines technical performance with designer accessibility, featuring hitscan mechanics and extensive customization options.

Weapon Overview

Weapon System Overview

The weapon was designed as a hitscan weapon, utilizing line traces instead of actual projectiles to register hits. This approach provides instant feedback and precise hit detection. The team is currently considering reworking the weapon to use projectiles for enhanced gameplay mechanics.

Blueprint Integration

Weapon Blueprint Events

Following the same architectural pattern, the weapon system is built in C++ but implements several Blueprint Events. I also created the blueprint part of the weapon, allowing game designers to tweak weapon behavior, add feedback, and enabling sound designers to implement sounds after specific events like reload or weapon pickup.

Designer-Friendly Variables

Weapon Gameplay Variables

The system showcases variables editable per instance of the weapon, allowing game designers to easily tweak weapon behavior without touching code. This provides maximum flexibility for balancing and iteration during development.

Team

Lead Game Programmer

Lucas Guichard

Game Programmers

Chloé Mathias, Alexis Le Bourhis, Yanis Rojano-Rajonson

Game Artists

Flora Denis, Galadriel Lavasier, Ivan Bon

Game Designers

Tristant Bauchet, Antoine Pinson, Eliass Godson, Simon Lenain

Production and Marketing

Fantin Dahmani, Hugo Reymondet

Sound Designers

Dan Ravot, Benjamin Macé