top of page

RUMSHOT GUMDROP

Game Description

Rumshot Gumdrop is a 2D action roguelike where you delve deep into a rabbit hole of hallucinations constantly assaulted by a level that evolves from the decisions you make and the competency at which you perform.

This project focuses heavily on "Dynamic content creation" thus most of the systems have a dynamic aspect built within them.

Rumshot Gumdrop: Text
Rumshot Gumdrop
Watch Now
Rumshot Gumdrop: Videos

MY CONTRIBUTIONS

This is a list of contributions to the project that I will be talking about in this document. Apart from those listed here I also had a hand in creating all of the art assets and some sound effects.

GAME DESIGN

Alongside my teammate Elcoms we tried to create a game that facilitates the use of dynamic content creation. One of the interesting things we tried to do was to not only have the game's difficulty be dynamic but also to allow the player some agency on how the difficulty of the game evolves.

SYSTEM DESIGN

The systems I was in charge of creating were related to gameplay and user experience. For gameplay, I was in charge of the player controls, power-up systems, and enemy behaviours. As for user experience systems, I tried to create a dynamic game feel system that can regulate the atmosphere of the scene.


UI/UX DESIGN

The UI/UX design for this project was an interesting challenge as we wanted to portray a sense of chaos. Thus, some of the information portrayed in the UI was left vague in order to create the UX we desired. Disclaimer, this project is meant to be a very early prototype so please forgive the UI for lacking polish.

Rumshot Gumdrop: List

PROJECT INFO

Team size: 2 | Unity Engine | Duration: 8 Weeks 
Working hours: 10-15 hrs per week

Created by: Team JK
Members: Elcoms Khang Jun De & Koh Jin Peng

team photo.png
Rumshot Gumdrop: Welcome

TEAM BACKSTORY

During the class's pitch presentations Elcoms and I noticed that our game pitches were both roguelikes being driven by dynamic difficulty. His pitch was more technically driven with a level generation based on cellular automata whilst mine was more experience-based where I wanted the gameplay to evolve based on player actions. Thus we decided to work together and incorporate aspects from both pitches to create a better project .

Rumshot Gumdrop: Text

GAME DESIGN

In this section I will try to give some context to the project as a whole such as what are the goals for project, game mechanics, and dynamics.

Rumshot Gumdrop: Text

HIGH CONCEPT

Rumshot Gumdrop is a 2D action roguelike where you delve deep into a rabbit hole of hallucinations constantly assaulted by a level that evolves from the decisions you make and the competency at which you perform.

Rumshot Gumdrop: Text

PROJECT GOAL

To create an accessible game experience that pushes the boundaries of dynamic difficulty by allowing player control over core aspects on how the systems evolve.

Rumshot Gumdrop: Text

AESTHETIC THEME

The theme chosen was "Drunkenness". We want to create a high energy mood and feel to the game and also dabble in the concept of impaired perceptions when it comes to our user experience(UX) in order to create something unique and exciting to set us apart from other games in the genre.

Rumshot Gumdrop: Text

DESIGN PILLARS

DYNAMIC DIFFICULTY

Since one of the project goals is to be accessible to more casual gamers, the difficulty in the game must be able to accommodate dynamically.

PLAYER AGENCY

The game must provide choices for the player to make that will affect gameplay

CONTROLLED CHAOS

With a theme centered around a drunk guy's hallucinations, we want to ensure that a chaotic experience is perceived without the game's actual systems falling into chaos.

Rumshot Gumdrop: List

GAME LOOP

Core Game Loop

Rum Shot Gumdrop’s core game loop revolves around dynamic difficulty and giving player agency over how the difficulty evolves.


To start us off we have a basic core game loop where players progress in the gamespace, kill enemies and get more powers. To give players some agency over how the difficulty evolves we utilise a system we call choosing your poison. What this system does is it makes the player pick between 2 different power ups and gives the power not chosen to the opposition. This could manifest as enemies shooting more bullets or spikes that appear on platforms becoming larger. This way players are given a meaningful decision periodically as they are trying to predict and strategize for the future.

core loop.JPG
Rumshot Gumdrop: Image

Injection of Dynamic Difficulty

Once the core game loop has been established, we then focus on how we can dynamically alter the game's difficulty in a meaningful way. The chart below is a simplification of how the system will work where the level generation will adapt not only to what powers the opposition obtains but also to player performance and a tension variable that represents how intense we believe gameplay is at any given time. Tension is derived from factors such as player health, enemy count, and etc...

extended core loop_edited.jpg
Rumshot Gumdrop: Image

GAME MECHANICS

Rumshot Gumdrop: Text

PLAYER ACTIONS

SHOOTING

Primary mechanic

Shooting is based off the player to mouse cursor position.

The Clone power-up can give a new dynamic using this implamentation. For example, putting the crosshair closer/farther away will affect how the bullet path will behave if more than 1 emitter of player controlled bullets exist.

Rumshot Gumdrop: List
Capture.JPG
Rumshot Gumdrop: Image

BREAKFALL

Pressing the jump key whilst in air will slow down the player’s speed of descent.

Primary mechanic

MOVEMENT

Secondary

Basic 2D left and right movement and a short jump so that players don't feel constraint by the lack of a jump action.

Rumshot Gumdrop: List

POWER-UP SELECTION

CHOOSING YOUR POISION

Primary mechanic

The way the power-up selection works is you get one and the enemy gets the other.

This creates a situation where players will want to create synergy within their power-ups whilst denying the enemy synergy in theirs. This may not always be possible due to RNG hence the name of the mechanic as they must make the best out of bad a situation.

Rumshot Gumdrop: List
unknown.png
Rumshot Gumdrop: Image

POWER-UPS

For the power-up system, I took reference from the games Binding of Isaac, and Risk of rain to develop something that I believe is able to form interesting power synergies for both the player and enemies. The hardest part about designing this system was trying to ensure that powers were balanced and applicable to both parties.

Damage_Power.png

DAMAGE UP

Power type: Stat modifier

Increases the damage done by each bullet shot by the player. Also increases bullet size to give players some feedback on their current damage.

Spread_Power.png

SPREAD SHOT

Power type: Additive

Unlocks a spread shot ability that will fire off every 4th attack. bullets created by spread shot deal 50% damage of the original bullet. Increasing the level of this power will increase the amount of bullets fired.

RateOfFire_Power.png

RATE OF FIRE

Power type: Stat modifier

Increases the fire rate of the player character. Fire rate is measured in bullets per second. The base rate is 2 per second and each level of this power will increase this by 1.

Health_Power.png

HEALTH

Power type: Stat modifier

Increases the max health of the player character by 20% of its base value. The health power-up has a secondary effect of recovering the players health to full.

Shield_Power.png

SHIELD

Power type: Additive

Unlocks a protective shield that negates 1 instance of damage when hit. Shields recharge at a rate of 5 seconds per charge. Leveling up this power increases the number of charges your shield can hold but also increases the time taken for each recharge.

Drone_Power.png

CLONE

Power type: Companion

Creates a corporeal clone of the player that is invulnerable and trails behind them. Each clone will attack in unison with the player and deals damage equal to the player's damage stat but is unable to use any other power-up such as spread shot.

Rumshot Gumdrop: List

POWER-UP DYNAMICS

These are some of the considerations a player may have when selecting a power-up and how they will affect the gameplay. This is where we fulfill our design pillar of Player agency as these decisions will impact how the playthrough will turn out and what strategies/playstyles will be optimal.

Damage_Power.png

DAMAGE UP

  • Good early and late game

  • High enough levels makes killing enemies quick

  • Weak against shielded enemies as damage is negated per instance

  • Weak against enemy hoards

  • If the enemy is allowed to many of these, they may end up killing the player very quickly once their shield goes down

Spread_Power.png

SPREAD SHOT

  • Very powerful early game

  • Gives a balance of damage and damage instances

  • Effective against enemy hoards

  • Weak against high health enemies

  • Unlocks the ability for enemies to fire bullets hence a good early game strategy is to deny this from the enemy

RateOfFire_Power.png

RATE OF FIRE

  • Better in the late game

  • Requires a certain level of damage to become effective

  • Affects player clone's attack speed as well

  • Good against shielded enemies

  • With high enough levels of this and spread shot, enemies will start to create a bullet hell situation where players will either have to run through with their shield or try and destroy the bullets with their own

Health_Power.png

HEALTH

  • Recovers player health to full hence can be a life-saver at times.

  • Picking this power will mean less growth in player strength whilst compared to enemy growth

  • Allowing the enemy to get too much of this power will result in very tanky enemies making scoring difficult killing them will be difficult

  • The Destructible block's health also scales off this power making it harder for players to progress downwards if impeded by them 

Shield_Power.png

SHIELD

  • Very powerful at early levels but start to become redundant later as regen times for each charge gets longer and longer

  • Denying this from the enemy will prevent destructible blocks and small monsters from obtaining this power-up

Drone_Power.png

CLONE

  • Weak early game but strong late game

  • Acts as a force multiplier for damage and rate of fire power-ups

  • If the player has too much of this power, clones may end up outside of the play area at times to prevent this from being overpowered

  • Giving the enemy many clones may result in a screen of them becoming a body shield to protect their originator

Rumshot Gumdrop: List

ENEMY TYPES & HAZARDS

In this section, I will go through the types of enemies and hazards in the game. I will briefly mention the role of each enemy type and some possible dynamics that do occur.

Rumshot Gumdrop: Projects

DESTRUCTIBLE BLOCK

destructable_block.png

Type: Obstruction

Destructible blocks are generated alongside platforms in order to impede the downwards progression of the player. These blocks appear more often and in denser formations as the game's threat level increases.

SPIKE

spike.png

Type: Hazard

Spikes are placed on top of platforms and take on the role of stationary hazards. The damage a spike will deal to the player will determine the length of the spike.

Spikes create denial zones so players will watch their step when going down.

SNAILS

walker.png

Type: Walker

Snails are the base enemy in the game and have no abilities/power-ups initially. They walk around and will chase the player if they get near. Since these have no powers, their behaviour will evolve only due to the power-ups discarded by the player.

CHICK

Flyer_edited.png

Type: Flyer

Chicks are the basic flying enemy type that will always seek to fly near to the player. They start the game with a minimum of one level in spread shot thus they will always have the ability to shoot at the player.

This enemy type serves as a harraser unit.

SNAKE

Walker2.png

Type: Elite Walker

Similar to the snail in terms of behaviour, snakes are larger and they start of with a minimum of 3 levels in spread shot and 1 level in shields. 

Because this enemy type is meant to be a elite unit, it lacks the ability to use the clone power-up.

SQUID

Flyer2.png

Type: Elite Flyer

Squids fulfill the role of mini-bosses. Since they are flyers they pose a greater threat than snakes as they can give chase to the player. A pack of squids is almost expected whenever the game's level generation decides to create an intense moment.

Squicks also lack the ability to use the clone power-up

GAME DESIGN CONCLUSION

To conclude the game design section. The goal of this project is to create a unique experience for players centered around the theme of "drunkenness" that includes dynamic content creation.

To add on, I also hope that the information provided will bring clarity and understanding to the design choices I go through down the line.

Rumshot Gumdrop: Text

SYSTEM DESIGN

In this section I will go through the design processes for the systems that I created.

Rumshot Gumdrop: Text

CONTENT OVERVIEW

ENEMY SYSTEM

There won't be a dedicated section for this system as it is just a basic AI class system.

The only interesting thing about this system is how enemies gain power-ups through the Power-up system and this topic will be discussed over in that section.

POWER-UP SYSTEM

This system controls how power-ups are given to the player and enemies. It also controls how the enemies are dynamically created through their pool of available power-ups.


DYNAMIC GAME FEEL SYSTEM

The dynamic game feel system focuses on anything related to the atmosphere and mood of the game. It controls elements from the background assets, HUD visuals, and platform decals to try and give off different moods depending on the situatiion.

KILLER SYSTEM

This system is tasked with helping players understand that enemies are being dynamically created in a way that brings life into the game. By using name generators I hope that this system is able to make the enemies in the game feel more personable.

Rumshot Gumdrop: List

SYSTEM DESIGN PIPELINE

This section will describe my general approach to system design.

DEFINE GOAL

Step 1

The first step of my system design pipeline is defining a goal for my system. For example, if my game requires NPC's walking around a busy street my design goal would be "a system that can simulate pedestrians on a busy street".

DEFINE VARIABLES

Step 2

Once I have a goal in mind, I then move onto figuring out what variables are needed to achieve my goal. Following the same example, I believe I will need to have the pedestrian density to populate the area and the time of day to control the population density as a start.

LINK THE VARIABLES

Step 3

With the variables defined, I then move on to linking them in a manner I find appropriate for achieving my goal such as linking the pedestrian density to the time of day and having the time of day be on a 24hr cycle where 12-noon is peak density.

INTERNAL TEST

Step 4

After linking all the variables I then do an internal test within the system itself to see if it works as intended before I connect it to the rest of the project.

EXTERNAL TEST

Step 5

Finally, once I am satisfied with the system on its own I will connect it with the other systems within the project to see if they achieve the intended result as a whole.

ITERATE

Step 6

This step can be done at anytime when results are not satisfactory, or when all other steps have been accomplished and I am trying to polish the project.

Rumshot Gumdrop: List

POWER-UP SYSTEM

Powerup.png
Rumshot Gumdrop: Image

OVERVIEW

The power-up system I use for Rumdrop Gumdrop is a "booster-only system" similar to the one seen in Risk of Rain. A booster-only system's key features include powers of varying types that can complement one another. These can also form power synergies where one power on its own may not be very good but when paired with another can create interesting power dynamics.

Rumshot Gumdrop: List

POWER-UPS

This section is a repeat of the one in the Game Design section for ease of reference.

Damage_Power.png

DAMAGE UP

Power type: Stat modifier

Increases the damage done by each bullet shot by the player. Also increases bullet size to give players some feedback on their current damage.

Spread_Power.png

SPREAD SHOT

Power type: Additive

Unlocks a spread shot ability that will fire off every 4th attack. bullets created by spread shot deal 50% damage of the original bullet. Increasing the level of this power will increase the amount of bullets fired.

RateOfFire_Power.png

RATE OF FIRE

Power type: Stat modifier

Increases the fire rate of the player character. Fire rate is measured in bullets per second. The base rate is 2 per second and each level of this power will increase this by 1.

Health_Power.png

HEALTH

Power type: Stat modifier

Increases the max health of the player character by 20% of its base value. The health power-up has a secondary effect of recovering the players health to full.

Shield_Power.png

SHIELD

Power type: Additive

Unlocks a protective shield that negates 1 instance of damage when hit. Shields recharge at a rate of 5 seconds per charge. Leveling up this power increases the number of charges your shield can hold but also increases the time taken for each recharge.

Drone_Power.png

CLONE

Power type: Companion

Creates a corporeal clone of the player that is invulnerable and trails behind them. Each clone will attack in unison with the player and deals damage equal to the player's damage stat but is unable to use any other power-up such as spread shot.

Rumshot Gumdrop: List

PLAYER ACQUISITION

power aquisition.JPG

HOW TO GET

Players get a chance to power from power-up stations that are generated into the level. The alternative way a player can power up is by completing the level they are currently in. This ensures that players cannot entirely refrain from obtaining power-ups in an attempt to deny the enemy.

CHOOSING YOUR POISON

As mentioned in the mechanic's section players are then given the choice to choose their poison, will they choose to create power-up synergy for themselves or try to deny the enemy.

unknown.png
Capture.JPG

HUD DISPLAY

Finally, after selecting a power-up, an animal with a colour the same as the power-up selected will appear on the left of the in-game HUD to represent the player's powers. Whilst another animal representing the power not selected will appear on the right of the in-game HUD in a similar manner to show the enemies pool of power-ups.

This form of conveying information can be considered unintuitive especially once the number of powers starts increasing but it was done with the intent of creating a sense of chaos that suites the drunken theme where things get messier and messier the drunker you become.

Rumshot Gumdrop: News

ENEMY ACQUISITION

Capture.JPG

POWER-UP POOL

The way enemies gain power-ups is slightly different. The reason for this is because every enemy on the level has a unique combination of power-ups derived from the pool. Thus every time an enemy is spawned, they will have to run a series of algorithms to determine what power-ups they have.

POWER-UP CALCULATION

The power calculation algorithm starts off with the game's current threat level. From this threat variable, I determine the number of power slots an enemy can have. In this case, "Doug the loaded snail" has at least 2 power slots.

Once the number of slots is determined, all power-ups in the pool are added to a list and the enemy will pick out powers at random. The amount of times the enemy picks from the list is equal to the number of power slots they have, and the powers they obtained cannot exceed the maximum level of said power in the total pool.

Capture.JPG
Capture.JPG

RATIONAL

The first reason for the use of such a selection algorithm is so the enemies created will dynamically evolve based on the power-ups in the total pool and the regularity of the powers will be reflected in this generation. Example, if there is a lot of shield in the pool, the chances of an enemy spawning with a shield is higher.

The second reason is so that enemies will spawn with varying power levels. For example, an enemy who puts 5 points into damage and 1 into shield like "Dick the macho snail" will only have 2 power slots filled, whilst another snail that added more into shield may have all its slots filled.

Rumshot Gumdrop: News

DESIGN CHALLENGES

TEN THOUSAND BOWLS OF OATMEAL PROBLEM

This challenge refers to how even when the system makes enemy power generation dynamic, it does feel like it is. This problem occurs simply because an individual enemy is not on screen for a long enough time that players can register the differences between them.

Solution:

Thus, to solve this problem I decided that there needs to be a visual difference between each enemy. Initially, I wanted to make each enemy grow little bits of decals that symbolise the powers they have but I quickly realised that this was out of scope as I do not have a dedicated artist.


Hence I settled on creating the elite class of enemies so that there is at least some visual difference in monsters so that the game wouldn't feel stale. Once the game didn't feel stale, players tended to be engaged for a longer period of time which allowed us more chances to make them notice that the enemies were in fact dynamic using the Killer system.

POWER-UP DENIAL

A problem I faced when developing this system early on was that players could power themselves up to a certain degree then stop getting power-ups completely. This created a stagnant game state as even when enemies were gaining more power slots, they were unable to get stronger as they always hit the max cap on powers.

Solution:

Added mandatory power-up selection at the end of each level.

POWER BALANCE

This issue is pretty much present in any system. The problem of having to balance the power-ups even ones so simple was quite the challenge. I was constantly faced with a single power being overpowered and nerfing it lead to it becoming either useless or allowing for another to take its place.

Solution:

In the end, my solution was pretty much one of brute force, every time an imbalance occurred I would simply bring out the nerf hammer.


However, the way in which I nerfed things most of the time was with their dynamics and not just pure number balancing. An example of this was the shield power. Initially, shields were overpowered as they would just keep regenerating. Thus I made it so that each charge or shield takes longer and longer to regenerate. This lead to an interesting situation where the strength of this power-up resembled a parabolic curve where early levels were great and later ones not so much.

Rumshot Gumdrop: List

DYNAMIC GAME FEEL SYSTEM

Capture.JPG
Rumshot Gumdrop: Image

OVERVIEW

The Dynamic Game Feel System's purpose was to create a unique game atmosphere relevant to the drunken theme and current enemy power-up pool. This is to reinforce the information conveyed to the player about what kind of threats they may face.

An additional purpose of this system was to create something I call perceived difficulty. Perceived difficulty is essentially the player's perception that the game is difficult without there being any real threat to them in the game. I try to achieve this by putting a strain on the player's cognitive load by making the game screen look messier and messier as time went on. Thankfully this paired very nicely with the games theme.

This system contains the following sub-systems:

  • ​Aesthetic tiles

  • Background noise generator

  • Animal generator

Rumshot Gumdrop: List

AESTHETIC TILES

The goal of the aesthetic tiles sub-system is to dynamically populate the game scene with decals and props unique to the current enemy power-up pool. This is to create a sense of dynamic game feel as depending on the power-ups available to the enemy the game will look different.

The image below is an early example of how the system takes unique decals from the red column that represents the damage power-up and combines it with the decals from the green column to create a new game feel. The idea is that with 6 power-ups I will have 6 unique decals to permutate into however many combinations. These combinations although similar should create a slightly different feeling for each of them depending on how many of each power-up is present in the pool.

The design process of this system took much longer than expected due to asset design and creation. For example, when trying to recreate the effect of the low fidelity mockup below it quickly became apparent that I needed to find ways of modulating my art assets for the final version.

Dynamic_Gamefeel_Test.png
Rumshot Gumdrop: Image

PROPS VS TILES

The aesthetic tiles system is broken up between, props and tiles both of which have their own behaviour. There are 3 types of each in order to have one for every power-up. Prop assets were assigned to non-stat modifier type power-ups and vice versa.

AESTHETIC TILES.png

PROPS

Props appear on top of platforms in order to give the level layout a different silhouette. The way these propagate is by referencing the current enemy power-up pool. If the pool has a lot of power-ups that are linked to the bamboo prop, for example, you will start seeing a lot of bamboo in the game.

Each prop was designed in a way that they can stack ontop of one another in using sprite layering hence it is possible to create different looks by combining them together.

TILES

Tiles refer to a type of decal that appears on the platforms you stand on. Unlike props, tiles do not reference the enemies power-up pool but instead appear when the player has given the enemy a stat modifier type power. So for example if the player gave the enemy damage up, the platforms in the game will turn red with the tiles.

The reason for this is because stat modifier type power-ups are a lot less noticeable to the player. Hence, in order for these power-ups to feel more significant, I thought that it would be appropriate to make the game feel relate more to the power-up's signature colour.

floor.png
Capture.JPG

PRIME EXAMPLE

Here is a good example of how the aesthetic tile system works. In the image, the enemy has access to a lot of the spread shot power-up (orange) and so the props in the game are all orange grass props. Furthermore,  the most recent power-up obtained is health (green) so the floor tiles are green. Please ignore the green lighting in the back for the time being as it is not part of this sub-system.

Rumshot Gumdrop: News

BACKGROUND NOISE GENERATOR

The goal of the background noise is to create a drunken atmosphere for the game. As a reference to what this would look like I pictured a disco feel. Hence I used bright colours and pulsing images to create a dance vibe.

Capture.JPG
Rumshot Gumdrop: Image

COLOUR VS NOISE

The background noise sub-system works with colour, and visual noise.

Capture.JPG

COLOUR

Colour is simply the background lighting's colour. This colour changes every time the enemy gets a power-up and it reflects the power obtained just like the tiles in the aesthetic tile sub-system.

This is done to create the disco feel of flashing lights and to reinforce the information of what power was just given to the enemy. This is especially useful when players were going too fast when selecting a power-up and neglect to see what they were giving the enemy.

Capture.JPG

NOISE

Noise refers to the little star decals you see in the background. These decals have several different shapes that alternate from each level. The decals also increase in density every time the player successfully clears a level.

This is to create the drunken feel of things getting messier and messier as the game goes on. Furthermore, these decals are animated to look like their pulsing to the beat of the music in the hopes that it will help create the disco dance feel.

Rumshot Gumdrop: News

BACKGROUND ANIMAL GENERATOR

The background animal generator's purpose is to once again create a drunken atmosphere through mess and to convey information on what power-ups are available to both the player and enemies.

The reason for using animal images and not more intuitive icons was a stylistic choice made to portray the feeling of impaired perceptions. Furthermore, being abstract in appearance also gives the game a more lively feeling as compared to proper power-up icons.

animals.png
Rumshot Gumdrop: Image
Untitled-2.png

GENERATION STEP 1

To set up the generation, I first put together 2 spawning areas, one for the player's animals and one for the enemies. I used the sides of the screen as this was dead space at the time.

GENERATION STEP 2

Then as players select a power-up of their choice, the UI will animate towards the correct section of the screen. Once the movement animation is complete, a random animal will be created with a random rotation value and in the colour corresponding to the power-up that created it.

Untitled-1.png
Capture.JPG

GENERATION RESULT

In this example I tried my best to pick up every rate of fire (yellow) power-up possible hence it is reflected that my power-pool is full of yellow animals whilst the enemy has almost none.

Also note how at such a late-game state, the HUD is extremely messy and it is hard to tell what is the actual number of power-ups. This reflects the drunken perception loss I was trying to create.

Rumshot Gumdrop: News

DESIGN CHALLENGES

FUNCTIONALITY OR FORM

The greatest challenge for creating the dynamic game feel system was balancing functionality and form. The nature of this system coupled with the drunken theme meant that creating the targeted game feel would go against many rules of UI design. Examples of the rules broken could be having too much clutter or even the non-existence of a reading font. 

Solution:

My solution for this issue is definitely not perfect but it was to prioritise the UX rather than the effectiveness of my UI. Ultimately what we are trying to create in this project is an experience and not really a showcase of technical prowess.

LACK OF IDENTIFIABLE THEMES

This problem is referring to how the game feel system always ends up creating a garbled mess in the late game. I actually note this down as a design failure as the system was unable to achieve its goal of creating a unique game feel for each game state.

Solution:

My solution to solve this if I were to do it again is to start with an end goal in mind for each unique game feel, then create a system to achieve each outcome rather than trying to create a system that puts base elements together in the hopes of creating unique outcomes.

LACK OF DEVELOPMENT TIME

There were so many things I wish I could have done for this system, such as dynamic character sprites and maybe even dynamic audio. However, time simply did not permit.

If it were possible to do it again, I would probably spend less time on the aesthetic tiles sub-system and try to do something with the music instead as I've completely left that vector of game feel untouched by dynamic content creation. 

Rumshot Gumdrop: List

KILLER SYSTEM

unknown.png
Rumshot Gumdrop: Image

OVERVIEW

The goal of the killer system is to give players information about some of the dynamic aspects of the game. It does so by showing players the overall power-up pool and the individual power-ups of the unit that ended the playthrough.

To be frank, this system was not planned for at the beginning as we felt such a system would be more for polish rather than a necessity. However, after many playtests, it became apparent that players were not aware that enemies were evolving based upon the choices they made. Hence, I decided to implement this system to try and help players understand that the enemies are in face dynamically generated.

Rumshot Gumdrop: List

HOW IT WORKS

Capture.JPG

EVENT CALLING

This system starts off when the player gets defeated. When defeated an event is called to inform the game over screen who the killer was and what were the kilers stats.

NAME GENERATION

With the information at hand, the killer system then generates an appropriate name for the killer. To do this it first selects from a list of random names, in this case "Lisa". Then it generates a title that corresponds with this enemies most prevalent power-up type, in this case "Loaded" from spread shot. Finally, it identifies the type of enemy so the player can lean what this enemy is called.

unknown.png
Capture.JPG

RESULT

It is at this stage that I hope players would become interested in the stats and "personality" of the killer so that they would notice how each enemy that killed them is slightly different.

Personally if given the time I would have liked to use some story generation maybe using the stroylets model to help make the killer even more personable than it currently is however, there simply wasn't enough time to do so when it became apparent we needed this system.

Rumshot Gumdrop: News

SYSTEM DESIGN CONCLUSION

To conclude this section. I believe that the systems I managed to create for this project met their goals and I am extremely happy with how they turned out. However, given the time I would like to redesign how some of them work, namely, the dynamic game feel system. As I believe even though it achieved its goal of creating an appropriate game feel, it lacks the ability to make players realise its dynamic properties.

Rumshot Gumdrop: Text

UI/UX

In this section I will go through the problems that came up when trying to create the intended experience and how UI played a part in this.

This is going to be a short section as UI design was not part of the initial scope for prototyping.

Rumshot Gumdrop: Text

OVERVIEW

The plan at the beginning was to have all the dynamic elements of the game up and running then make a functional but disgusting-looking UI just for the sake of it.

However, once our dynamic systems were up, people were giving feedback that they didn't realise things were dynamic. Worst still, nobody could understand what on earth was going on with the power-up system and background animals appearing all over.

Rumshot Gumdrop: List
Capture.JPG

PROBLEM 1

Players do not understand what the colourful animals in the background represent and what they were for.

Theorised cause:

It is my guess that due to there not being any animations at the beginning when you select a power-up, an animal of the corresponding colour just appeared out of thin air.

SOLUTION

Instead of relying purely on the "Gestalt law of similarity" in the colour to create the link between the 2 elements. I layered on the law of proximity and continuity by animating the power-ups moving towards the animal as they are appearing on screen.

Untitled-1.png
Rumshot Gumdrop: News


Capture.JPG

PROBLEM 2

Players did not realise that enemies were created using a dynamic power-up allocation system.

Theorised cause:

Because enemies stay on screen for a very short period of time, it is very easy not to notice the individual behaviours and simply thing that all enemies that look the same behave the same.

SOLUTION

This is an imperfect solution that seems to work. Essentially what I to give players a screen that tells them the stats of the enemy that kills them in the hopes that after a few playthroughs they notice each killer was different. In the ideal scenario, this will also drive player curiosity to learn and experience more of this project. 

This is not the ideal solution as it requires the player to connect the dots on their own and if they were to play only once, they will never notice any difference.

unknown.png
Rumshot Gumdrop: News

UI/UX CONCLUSION

Wrapping up this small section, I do realise I skipped any explanation on font choice and music selection. I did this mainly because they were never a high priority due to project scoping and I simply used whatever felt like it didn't break immersion. 

Long story short this portion has much to be improved.

Rumshot Gumdrop: Text

POST MORTEM

In this section, I will try to go through what went right or wrong, and my biggest learning points of this project.

Rumshot Gumdrop: Text

THINGS THAT WENT RIGHT

USER EXPERIENCE

Even though the UI and UX side of things were constantly clashing for dominance I believe that I made the correct design choice of prioritising the UX. I say this with confidence as during the later playtests sessions, feedback for the project was always matching the design intentions even when the feedback was negative.

I funny example of this was when a playtester got was ranting mid-playtest about how the background animals were just getting messier and messier. To quote "Dude! why would you do this. I feel as though I'm high on drugs". That comment is a close enough for me.

POWER-UP BALANCE

The balance of the power-ups is evident from our playtest's as we noted that most players have a different idea as to which power-up was the most overpowered. 

Of course, it was a long and ardues process to reach this state in terms of iterating and testing and iterating again. furthermore, if I am being completely honest certain things like stat modifier type power-ups being on par with the additive/companion types were balanced mostly by accident. If I had to make a guess as to why I would attribute this success to our prior research on Risk of Rain, by borrowing some of the concepts I think we put our iteration process on the fast track.

VISUAL AESTHETIC

Going into this project we knew that we would have to create our own art assets if we wanted to pull off the ideal user experience. So when choosing the art direction I was very careful to choose a style that was easy to create and forgiving to inconsistency. That is why I chose flat colours and a black silhouetted style.

I hope I do not come off as someone who likes to pat myself on the back from this statement though as I genuinely feel that the visual aesthetic really helped to bring the project together.

Rumshot Gumdrop: List

THINGS THAT WENT WRONG

DYNAMIC GAME FEEL SYSTEM

In all fairness, the system met all of its goals when it came to dynamically creating a game atmosphere. However, upon looking back I realised that the goals I defined were wrong.


To be more precise, when designing this system I wanted it to have the freedom to create whatever the system deemed appropriate, and this lead to it always creating a mess as in truth a mess was appropriate in the late game. However, this faces the 10 000 bowls of oatmeal problem where even though the scene is technically unique, it generally looks the same all the time. This is very similar to the concept of convergent evolution in reality.

A possible workaround for this issue could be creating a system that has preset ideas of what the game should feel like then using some sort of utility function to choose between them. This could result in a better user experience as the user may perceive the game feel as being dynamic even if it in trust is not.

LACK OF AUDIO DESIGN

This mistake is more of a missed opportunity. In hindsight using different background music would have been a tremendous boon to the project, but alas Elcoms and I lack the expertise in music creation, and the music we sourced never truly hit the spot.

LACK OF ENEMY BEHAVIOUR PATTERNS

This is a failing mostly on my part. I was banking so heavily on the idea that the enemies could inherit different power-ups and behave differently depending on what they inherited that I neglected to consider adding more enemy base types so that the behavioral patterns would be more diverse.

When this issue was raised it was already too late to go back and rework the enemy structure thus, I did the patchwork fix of adding new visuals for the snake and squid enemy types. This only created the illusion of diversity when in actual fact the code behind them is all the same.

Rumshot Gumdrop: List

LEARNING POINTS

KEEP IT SIMPLE

Being a project for a course on dynamic content creation, it is evident that Elcoms and I went a little overboard in complicating matters that did not need it. 

The best example is how the dynamic game feel system is so complicated with its various sub-systems yet is outperformed by the killer system which literally took an afternoon to implement.

RESEARCH PAYS OFF

Once again good reseach in the early phase of the project really paid off. I attribute our ability to iterate fast and communicate with one another to the research we did.

A fine example would be when the power-ups weren't working together as intended and we had to sit down and discuss what powers we should keep. We would reference our research and come to conclusions as to why the powers weren't working out and how we could 

ALWAYS WORK NON-DYNAMIC FIRST

This is applicable when working on any dynamic system.

I say this because when designing the dynamic game feel system, I knew what I wanted to achieve but I didn't know what it would actually look like. As I mentioned before, I achieved my goal only to realise that the goal I set was wrong. It would have helped tremendously if I had initially created what the game feels would look like then make a system to achieve them rather than what I did.

Rumshot Gumdrop: List

INSPIRATION & REFERENCES

This section onwards contains research and references for the game design and system design done before starting on production.

Rumshot Gumdrop: Text

BINDING OF ISAAC

The reference of binding of Isaac is used to understand the concept of its power up system.

l9UOQcLncNljhYWBRH8vj1z9KZpnAtln_edited.jpg
Rumshot Gumdrop: Bio

POWERS & BOOSTERS SYSTEM

KEY FEATURES:

  1. A power and booster system is identified by a structure of base powers that change the way the player character behaves and boosters that can augment said base powers.

  2. An example of powers can be the basic “tear shot” and the more extreme “blood laser beam”. The player can only have one or the other at any given time.

  3. An example of a booster can be upgrades such as attack speed boost or damage increase. These boosters are independent of any powerup and can be stacked upon one another. Boosters are also retroactive when changing the base power so, if a player were to swap from the basic “tear shot” to anything else, all boosters would be transferred.

  4. An interesting thing to note about this game's power system is for each power up you pick up there is a slight visual change to your character. Example if you were to pick up a shoe that increases your damage, the character Isaac may put it on as a hat to show he now has the shoe’s power.

PROS

  1. This sort of system is much easier to manage as the dynamics of each base power can be controlled. The main difference in the power level will be derived from the level of your boosters.

  2. The choice between each base power is very meaningful if properly balanced as each power will have its own strength and weakness. This will provide players with meaningful decisions that will take to account both player preference and situational awareness.

CONS

  1. This sort of system can feel stagnant after a while as players start to cherry pick their go to builds.

  2. Content can be perceived as less dynamic as only the base powers will be taken to account as unique.

  3. Does not mesh very well with the project's concept of adaptive powers.

TAKEAWAYS

Initially this was going to be the main reference point for our power up system however, after weighing the pros and cons. We concluded that this system would not be ideal. Though we do not intend to use this system, the feature of powers showing up on your character is intriguing and may tie in well with the dynamic game-feel we are trying to create.

Rumshot Gumdrop: FAQ

DOWNWELL

Downwell will be researched mainly for its downwards progression model and how it manages scoring system.

downwell---button-fin-1548975554879_edited.jpg
Rumshot Gumdrop: Bio

DOWNWARDS PROGRESSION

KEY FEATURES:

  1. The player moves down to progress:
    This gives an interesting situation where players can only move in one direction without the need for invisible walls provided the metrics do not allow them to go back up.

  2. An interesting scoring dynamic would be to use progression speed as a factor:
    The faster a player goes down the higher the score. this means better players with more confidence will earn more points compared to players taking their time and slowing down to see what comes next.

  3. Gunboots(Attack) when fired will slow down the player's descent:
    This is to give the players an ability to slow down the fall and see what's going on as well as attack.

  4. Difficulty:
    As difficulty increases, platform density increases. This will not only provide more spawning room for enemies but also force the player to move on platforms more often slowing their downwards progression.

PROS

  1. Unique method of progression.

  2. Interesting gameplay dynamics with room for creative exploration.

  3. Single direction of progression makes PCG level content easier to generate.

CONS

  1. Screen Space is under-utilised when showcasing information.

  2. Downwards progression can be very unforgiving to new players as the movement of the character requires quick reflexes.

TAKEAWAYS

From our rough understanding, we can get an idea of how to implement a scoring system that utilises downwards progression. The system we came up form this research lead to the way we incorporated dynamic difficulty into our game loop.

Rumshot Gumdrop: FAQ

RISK OF RAIN 2

Risk of Rain was researched for both its handling of difficulty and its power up system.

Risk_of_Rain_2.jpg
Rumshot Gumdrop: Bio

DIFFICULTY

KEY FEATURES:

  1. Enemy damage and spawn rates based on difficulty. This increases over time, and it never decreases.

  2. If spawn rates too high (ie causes bullet hell), we can make a “super” version of the enemy to reduce spawn number ( https://www.rockpapershotgun.com/risk-of-rain-difficulty )

PROS

  1. Gives a sense of progression and a gradually increasing difficulty gives a better learning curve than most roguelikes.

  2. Simple and effective.

CONS

  1. No room for difficulty adjustment.

  2. Content can be perceived as less dynamic as the “super” version is simply stats boosted and not a visual change.

TAKEAWAYS

While Risk of Rain has a good simple difficulty system that we can use as a base to start with, we will need to adjust it to our game mechanics and build an adjustment system on top of that.

Rumshot Gumdrop: FAQ

POWER UPS

KEY FEATURES:

  1. Booster only system:
    Unlike binding of isaac where the player can change their base powers according to pickups, risk of rains primary power selection takes place in character selection

  2. Boosters have varying types:

    ​Companion types

  • These will make something follow the player to assist in combat

  • Health pools can be independent from player

  • Damage values are not affected other boosters on player

    Additive types

  • Status debuffs

  • On hit effects

    Stat Modifier types

  • Damage up

  • Attack speed up

  • Crit rate/damage up

PROS

  1. Even though 1 vector of power permutation is removed, this mode of powerups can seem more dynamic as the balance between each boosters potency is around the same.

  2. Potentially outrages playthroughs. This occurs when players obtain certain powers in a manner that is improbable but insanely overpowered.

CONS

  1. Difficult to manage as power permutations can be broken.

  2. Content creation will be more taxing as each booster can be its own power in a way.

TAKEAWAYS

After looking at the pros and cons of Risk of Rain’s power up system as compared to Binding of Isaac, we have decided to base our system around this one. The main reason being the ability to add and stack multiple powers and have them all be meaningful in terms of power level is extremely beneficial to our core idea of giving the enemy powers you do not want

Rumshot Gumdrop: FAQ
bottom of page