Sentinel Onslaught Development Log
Project Goals:
Before getting started on this project I set aside some goals that I would like this project to meet.
Single player
Time-Limited
Emphasis on Design
Something I would like to play
I already had an urge to create a roguelike as it seems to fit all of the goals quite well (other than the time-limited). This piece was mainly intended as a portfolio piece and therefore I had to clearly highlight the design of the game and I did this by creating my first combat-based game.
Product Vision:
Roguelike/lite
Juicy / Fluid
Lots of items
Innovative
Due to this being a portfolio piece, it was important that the game highlighted my design abilities. One of the best ways that I can do this is by making the game as juicy as possible. The other best way that I can do this is by making the game have a twist on the genre and therefore I had to come up with a unique element that would be fun and interesting.
Market Problems:
Too Random
Can feel not authored enough
Combat can make or break
Nostalgia driven design
To achieve this, I tried to analyse what issues the roguelike/lite genre has that I may be able to solve or attempt to remedy. The most difficult of this is the combat as this was my first time creating combat and combat is a very difficult thing to get right within games as the slightest thing being “off” can make the combat feel weird or clunky.
Game Vision:
Everytime you shoot, you take damage.
Unique art style
No limit on player power.
Roguelikes are a genre where combat is either really fast and frenetic or slow and methodical (turn based). I wanted to combine these two and make it so that you have the danger and speed of a fast paced roguelike such as Risk of Rain 2 or Binding of Isaac and the methodical thought process of games such as Rogue and Caves of Qud. In addition, to this, given the right choices, I also wanted the player to feel like a god and not limit the players power fantasy.
Game Pillars:
Skill > Luck
Items
Thoughtful Gameplay
Whilst the game is mostly going to be thoughtful and considerate yet still fast paced, skill will still play a very important role with the players success within the game. A players mental ability can help them so far but there would need to be a certain mechanical skill level that the player must achieve to succeed. Herding the enemies around the player to dodge them, avoiding their attacks, shooting them whilst still ensuring that their health doesn’t drop to dangerous levels.
Fantasy:
Can become very powerful
High-Octane
Explore alien environments
The alien environments eventually morphed into a more fantasy-esque aesthetic as it was easier to source art for fantasy rather than sci-fi.
Mechanics:
Random generation (items, locations, enemies etc.)
Parasite as a gun
Lots of items to pick up
The random generation of locations was dropped as this added too much development time and didn’t really add that much to the experience of the game other than a change of scenery since the environment was not supposed to pose a threat to the player in the first place.
Mechanical Problems:
Room generation is technically challenging
How do you shoot from a parasite?
Will require a large amount of time / programming to create
After researching random room generation, i realised that this will be out of my programming capabilities given the time frame and therefore dropped it. In addition, on the basis that this is a roguelike and has lots of random elements and combat means that a large amount of programming will need to be done to implement these features.
Mechanical Solutions
Dont generate rooms, instead use pre-made environments
Alien / parasite gun tech
Will make use of Unity Assets to make easier / faster.
The most important one here is that I used unity assets to make creating this game easier / faster. Whilst I can write in C# to an adequate degree, I am slow and inefficient. I decided to use visual scripting (in Unity) to improve my efficiency as programming was not the primary thing that I was trying to highlight with this project, my design capabilities is.
Obviously some things had changed from the initial ideation to what the game is like currently, mainly thematic things such as the setting, the weapon etc.
UI Design
The UI for the game was relatively intuitive as I analysed other games that were first person shooters or roguelikes to see what sort of information I would need to convey. One of the most important information that the player needs to know is the health of the player as the basis of the game revolves around you damaging yourself to attack. Therefore, a player needs to know how much health they have as quickly as possible. It was essential that the player has a health bar so there is a visual indicator as to how much health they are losing per attack, so they can balance their health and ensure they don’t shoot more than they have in health. It was also imperative that the player knows when they are low health even if they are not checking their health bar. Perhaps the fight is too intense and the player cannot pull their eyes and focus away from the action towards the UI. Therefore, I added a red filter around the edges of the screen when the player becomes low health, increasing in intensity the lower health that they have. On an early build of the game, I only added the health bar. Upon player testing, players found themselves killing themselves very frequently as they were not checking how low their health was. Adding in the low health indicator fixed much of this frustration.
Timeline
An agile timeline was created for this project. This was sectioned off into various production stages of the game. This went mostly to plan despite spending longer on certain sections than I had anticipated.
Overall, I was left with very little time near the end to work on things such as enemies and polish. However, this was not able to be changed as I only had 15 weeks (part-time) as per my university assignment.