Rogue Party
Rogue Party
Itch page coming soon!
The basic loop implemented (works with up to four players) but players fight, whoever has the lowest score picks first, then after all players have picked, they resume fighting.
Overview / Goals
Rogue party is a top-down party game I've been slowly developing in my free time. The overall concept of the game is that it's played in a round based format, with performance inverse to progression. In other words, the worse you do the more the game rewards/helps you, so as to balance the game out in a party setting. The main systems are all implemented, like the combat, upgrades and gameplay loop, it just needs art and audio which has been slowly in the works! In the future I plan to add online support, and more player upgrades.
The basic gameplay loop consists of a fighting phase, where the players will fight each other to be the last one standing, a ranking phase, showing the points players earned in the previous round (think Ultimate chicken horse) and finally, a picking phase where players will pick upgrades from a pool of 'cards' starting with the player who performed worst.
Features
Local multiplayer (and eventually online)
Using unity's new input system I've incorporated local multiplayer elements with top-down shooter combat
For combat there is currently a customizable weapon system with many factors like reload time, fire rate, accuracy, bullet speed, & mag size
Rogue-like elements
The upgrades affect nearly every aspect of the player and their weapons, and add new and wacky effects to how they play. These could look like a teleport doge, bullets spawning effects like fire or ice, bullets that can pass through walls, or can bounce, etc.
Upgrades are easy and designer friendly to set up using scriptable objects, with all aspects being simple to add or edit features!
Design Challenges
Balancing scoring
There was awhile during very early development / brainstorming where I really wasn't sure how I wanted to go about player scoring and card picking.
At first I had the thought of having players carry loot they got over from life to life, but when they died, other player's could pick it up - sort of like a battle royale. However this could quickly lead to one player becoming incredibly stacked and this wouldn't work well round to round.
Another early idea was having a shop system, where players would still get coins inverse to their performance and would take turns entering a shop to buy items before the next round. While I do think this could be interesting, I wanted this game to be accessible to new players AND readable on a living room TV so I decided against it as it felt like it may have been overcomplicating things
What I landed on was the 'card' picking system, where a certain number of cards are presented to players based on the total player count, and they pick their cards in order based off total points. The only other thing I played with here was whether each player had their own set of options for cards to pick or if all players saw the same cards, and once one was picked, it was no longer an option. Of these two options I've shifted towards the latter as it has seemed to lead to more interesting interactions between players as they now sometimes choose to block or 'steal' cards from other players.
Balancing combat
Another interesting challenge with this project is figuring out how weak to make the players initially and how strong to let them become. The main experience goal I have for the game is for the player to feel a strong sense of growth, an like the cards they're picking really influence the course of the game. This is interesting as I feel like the weaker I make the player in their un-upgraded state the more you are able to notice the growth, but it makes the first round or two more annoying as your character is generally pretty weak and slow.
The solution to this has entirely been playtesting and slowly tuning different variables like bullet speed, mag size, projectile size, damage, and player speed. Another solution I've thought about is possibly having players pick upgrades before they even start from their own pools of cards so that they never even have to play as a fully default character.
Behind the scenes
The current upgrade card object, with the option to edit nearly every aspect of the player
Designer friendly systems
For all important systems, they are all easily toggle-able with variables accessible in the inspector for concise iteration
I've also been using Scriptable objects where applicable, for easy design of upgrade cards, and modifications to player behavior
Documentation and task management
On top of the usual initial documentation for project goals and overarching design concepts, I decided to stray away from Trello to try something new for this project. I used Milanote for the flowchart-ability of tasks and to better visualize tasks for the project as a whole. I'm not sure how this would compare in a team based format but it has been working well for me as a solo dev.
This was also pretty helpful for thinking about setting up the systems as a whole and figuring out which systems should 'talk' to each other when programming.
The milanote file with different branches for each discipline and a task list for each.
More challenges (and how they were addressed)
Architecting a game
I've made a good few games before that didn't turn out how I wanted! So, for this game I knew that if I wanted it to succeed I would need to plan it well and do a lot of design brainstorming before I even really opened Unity. I didn't want to just go in with loose ideas and goals, I wanted a set path with deadlines and distinct goals.
Another huge part of this was keeping track of bugs, as I wanted to have some good potential QA experience, so for this project I've been really trying to keep an eye on exactly what's breaking (and why I think it is). This has been incredibly helpful for the project so I have a clear list of all the little things I've noticed, so I can fix them as I go along so that they don't end up snowballing into a larger problem!
Working in my free time
This was and wasn't a challenge. I obviously love game development (which is why I'm pursuing it :) ) but my schedule is seemingly always packed. Splitting my time between school, work, two clubs, hobbies and relationships doesn't leave a ton of time to work on this game so I just have to make sure I make time for it so I CAN finish it. However because the concept is so cool and the systems are in place I decided to put it on my portfolio even though the game isn't fully finished.
Taking design inspiration while still being original
I ADORE party games. I have probably 7+ downloaded on my Xbox that I love playing with my roommates, and there were definitely a few I was inspired by when making this game. Because I like these games so much, it was initially hard to separate my game from theirs, as there were a few concepts I wanted to incorporate while still making my own game. It took a bit to flesh out my concept but through my own thoughts and discussion with friends and other designers I'm happy with the current design plan.