top of page

SIN SARRI
Game Designer & Programmer

Swipe Evil Away in this Action Clicker inspired by Bobo-Dioulasso's Culture. Exploit elemental weaknesses with the help of Mask Heroes, defeat powerful Spirits, and collect and upgrade traditional outfits and items to enhance your character.

Chara_ToRight_002.jpg

DESCRIPTION AND RESPONSABILITIES

Inspired by Bobo-Dioulasso's Culture, Sin Sarri is a Clicker with an Action twist that builds upon trends to offer a theme-centered experience both in gameplay and presentation. Our main goal was to keep the design aligned with the source material, while following benchmarks and market best practices. We consulted someone throughout the whole process to make sure cultural representation was respectfully done, avoiding appropriation.
Being in charge of the General Game Design and the implementation of all core systems and most features, I grew fond of Technical Design and better understood the need for systemic thinking, which helped streamline both design and implementation in an elegant way.

Logo_Unity_001.png

Unity

Logo_Group_001.png

4

DEVELOPPED SKILLS

  • Breaking down Systems in very specific rules and components & Scriptable Objects

  • Balancing through Benchmarks and Playtests

  • Observer Pattern & C# Events

  • Optimization & Pooling Systems

  • Becoming best friend with Unity's Profiler

Logo_Clock-001.png

2 Months

YEAR

2021

GENRE

Action Clicker

Single Player

PLATFORM

Android / itch.io

Logo_Save_002.png
AllElementsToRight.gif

TECHNICAL DESIGN

Zoom On - Enemy Waves System

PROCEDURAL GENERATION & PLAYER EXPERIENCE

DEFINING COMPONENTS

Procedural generation is everything but leaving things to random. It is about setting up a very specific set of rules that would frame randomized elements towards a very precise experience.

Each type of Character (Hero, Boss, Enemy) is one of four Elemental Type:

  • Fire

  • Water

  • Air

  • Thunder
     

Our Progression revolves around beating endless Biomes that are comprised of:

  • Waves of

    • Enemies (Unlimited time to defeat)

    • Boss(es) (Limited time to defeat)

SO_Biome.png

HAND CRAFTING THE RANDOM

Biome challenge, duration, and variance in enemies are the parameters that create a strong and varied experience.

 

Manually tweaking those parameters is what helped getting familiar but surprising experiences throughout each new run in a Biome. As such, each Biome presents

  • Customizable Waves that have to be beaten in a randomized order

  • Customizable Enemy Pool for each Wave from which Enemies & Bosses will be picked from

  • Easy to create & set-up Enemies & Bosses with Customizable parameters

It ensures that the general experience of each Biome corresponds to the intended design, but also offers variety each time players goes through a Biome, due to the randomly oriented selection of Waves and Enemies.

Elements.png

CREATING CONTEXT

 

In our situation, Biomes are a context (gameplay and theme wise) in which certain Elemental Spirits are more likely to appear, and as such, they need to oppose players with Enemies from that certain element type.

  • Water-based Biome presents many Water Enemies

  • Fire-based Biome presents many Fire Enemies

  • Etc

Each defeated Enemy defeated increases the Health multiplier for Enemies & Bosses in an exponential manner, while Character temporary upgrades increase overall Damage in a linear way, with a base Damage that can be permanently upgraded. This creates a need for short & long term progression on all Gameplay Components.

By following "normal distribution" variance for Enemy Types in Biomes, the context remains predictible while allowing for inexpected outcomes.

SO_Boss.png

SCRIPTABLE OBJECTS MY LOVE

FAST CONTENT CREATION

 

Content in Mobile Casual Games is crucial. Gameplay loops are simple, and focusing on few and simple Mechanics is essential to both allow immediate engagement and reduce development cost. And so we rely on creating new content as much as possible, ensuring novelty and progression for long term engagement.

With Scriptable Objects, creating a new type of Enemy or Biome can be done as fast as one right click, and one left click. Integrating an Enemy variation through Prefabs involves having to implement new references throughout the whole project, and having different instances of the same prefab with different parameters can end up with an override to the original prefab, losing all tweaks, and without any way to store those parameters for system design purposes.

SO_Biome_Creation.png

SHARED DATA AND STATES

 

Accessing Game Objects states and data through Monobehaviors can lead to many dependencies in a Scene, which makes creating new features a convoluted and error friendly process. Scriptable Objects, on the other hand, give a direct reference to data, allowing many different Game Objects to use that data freely, without the need to reference another GameObject in the Scene.

For example, Scriptable Objects gave me an easy way to set-up the UI with a direct reference in the project files, giving me easily accessible data without worrying about other components and the game state, like Enemies actually being spawned.

  • Health

  • Elemental Type

  • Name

  • Etc.

 

SO_Creation.png

MODULAR DESIGN

I like to break down the components of my systems into generic, re-usable and expandable concepts just in case I want to use that super specific feature on one component or another, or I want to build this enemy that is just like the others except for this one thing.

Here, every bit of the Waves system is built around this concept, giving me a way to drag and drop different behaviors, data, visuals, or whatever I might need to test variations of Enemies, Bosses, Waves, or Biomes.

CENTRALIZE INFORMATION

 

But it's also a way to painlessly use that data in any kind of context we want. Waves occur when you are in Battle, and when designing them for Battle purposes, it can be easy to forget that you might need them in another context. You might want to access different things about them: trivia about Biomes, Enemies or Bosses, their dominant Elemental Type, etc. Here we get an easy way to set up new systems outside of their primary function like a Wiki in the Hub Scene, while keeping things organized and centralized: there isn't a BattleBiome, a WikiBiome, and a LoadingBiome, there simply are Biomes.

bottom of page