Cig Fein: Devlog #1 — Core Game Systems
Progress notes and screenshots from the core systems work that make up Cig Fein.
Abilities and components -
The ability system gives the player three core tools to work with each run. A projectile that can be parried off any enemy, a stun shot that locks enemies in place for a set duration, and a dash that slices through groups while granting brief damage immunity and a burst of speed. Under the hood, each ability is stored as an AbilityEntry struct containing both Ability Data and Ability State. This makes adding new abilities straightforward and keeps per-ability stats isolated and easy to tune. It also sets up a clean foundation for ability modifiers, which come into play with the Cigarette Pack buff system later in the devlog.
Cigarette Buff Packs -
Cigarette Pack buffs are the player's strategic layer. After clearing an encounter or randomly, the player is presented with a real-time animated pack, cigarettes pivoting out for selection. Ditching flat 2D sprites for a procedurally animated 3D scene made the moment feel immersive and deliberate. Each cigarette applies a modifier directly to the AbilityEntry structs data that comes into the ability component, and the Chain Smoking system rewards planning your buff order to chain effects back to back.
Procedural Generation using Black and White Masks -
Maps are generated from a black and white PNG mask - white paths define room placement across a grid, with the system reading each cell to spawn the correct room type. Square rooms fill the straight paths while hex-shaped corner rooms give more open space for combat encounters. A randomization layer then determines what populates each corner room, whether that's active enemies or environmental obstacles to navigate.