What the Disc?
Disc Room Game Jam is a game jam on Itch.io hosted by Devolver Digital and Disc Room developers Kitty Calis, Jan Willem Nijman, Terri Vellmann and Doseone. Early October I initially heard of this upcoming game jam but I missed the first day on October 17. It was only 3 days later when I saw it's ongoing and I immediately talked to my friend Mike, fellow game dev and an amazing pixel artist (Jack Axe) to ask if he's interested in joining. Knowing we're both fans of JW we're both excited to join.
Not a Clone
I want to address this issue first. Among Us is a great game, we have full respect for the developers. I am thankful for them in making the social deduction genre mainstream in digital form. I played a lot of tabletop games including social deduction games like BattleStar Galactica and The Resistance with my friends at our local game store but with Covid19 this won't be happening soon.
In Disc Us, we have put a twist and a different formula that wouldn't work otherwise for both games. We have infinite lives, cell for suspects, always-on chat and Zelda-like room transitions.
"Good design is a process, not a delivery." - Steven PONKIN
If I told you the original design of the game, you'll have doubts about my plan and I can't blame you. We have a 3-day progression, and each day everyone gets their ration of oxygen based on votes and the amount of oxygen collected. This presented a lot of problems and it's also very complicated in both design and code so it got immediately scrapped during the first days. But honestly, I just don't want to deal with coding this system (perks of a game designer/coder).
Instead of working more on game design on paper, we worked on the prototype. That's the best advice I can give to a new game developer. It's best to think of ideas when we have something that we can play with. I worked on the spawn and chat system, movement and room transitions while Mike drew the characters, oxygen tanks and rooms. I used Photon PUN for networking. I also used SmoothSync for interpolation to compensate for lag and reduce the networking costs.
4 opened windows to test networking
In the first iteration, the oxygen hub was at the center of the spawn room and it presented obvious problems. It makes the room too busy for first time players and it covers the other players.
It's a good idea if developers can share sketches early
The Oxygen Hub moved to the top of the spawn room
Make Problems and Solve Them to Make More Problems to Solve
For me, game design is about solving problems you also created. Fun right? With a game full of discs, it's not hard to die. You will die a lot. That means players need to have infinite lives. This solution also solves one of the issues in Among Us.
"If you get killed first that sucks. Your game is boring. If we can figure out something to make it more interesting for the first person killed or maybe all Ghosts..." - Bromander
So I respawned players who got killed. But wouldn't that contradict the game's premise of having a murderer in the group? You can also just tell who killed you. But I remember this movie exists. Happy Death Day is a serial killer movie with a Groundhog Day twist.
A scene from Happy Death Day
You won't know you killed you because they transformed to a disc. You also get sent to the spawn room meaning you get less time to finish your tasks. So now this makes the traitors' role harder because humans have unlimited tries but suspected players just get ejected. Yay more problems!
That escalated quickly
We addressed this issue with a cell for suspected players. This means you have many ways to get back in the game. Get a traitor teammate to free you, get someone to trust you and free you, or put the key near the jail early on so you can pick it up while in jail if you think they'll suspect you. I also wanted an ability for traitor discs to cut the cell bars in disc form and if you get caught by a human, you're out of the game completely. I didn't have time for the jam though.
Accidental Game Designs
If you are a traitor disc, you are outnumbered. So we need to give you more advantage. I didn't want to do vents though. When playing the game, I encountered a bug where I got transported to outside the room. I added a zoomed-out camera and it instantly felt god-like to see the entire area while being able to go to any side of the map. But it's too slow.
I implemented travel points instead.
We have a game loop at this point and we playtested it. We quickly found out that retrieving all oxygen tanks was too fast for multiple players doing it. We did all 12 in just over a minute. A fetch quest is what all the tasks will be about so I added more but with variety. They should have different playstyle. With orbs, each pedestal is placed in the middle of one of the rooms and the orbs are in that room too. In this way a Traitor can go ahead and take away the orb from the rooms and sabotage early on. There's no way to remove the orbs once they're on a pedestal so it's a case of mouse and cat. The trash needs to be put away at trash vents, the same one where traitor discs can fast travel, forcing both teams to meet.
Throw Designs That Don't Work
I moved from rectangle screens to square rooms and back because seeing what goes in the other room breaks immersion. And adding a cover to both adjacent rooms just sounds worse, design and code-wise.
I also tried working on a random dungeon map creator but knowing we have limited time, I scrapped it. It works but it will need a lot of tweaks to make the layout fun, easy to navigate and free of bugs.
Screenshake and Other Auto-Game-Designs
At day 7 we are already adding what every other game has. Screenshake, hats, color swaps etc.Here's what I used for the color swap. https://gamedevelopment.tutsplus.com/tutorials/how-to-use-a-shader-to-dynamically-swap-a-sprites-colors--cms-25129
The initial plan for the hats was to make animated frames.
Instead I coded this crap for the object with SpriteRenderer and just changed the sprite.
Death will be a major part of the game so we made it impactful with bones and blood particle effects. Mike also made a special death animation and with color swapping shader, he didn't need to make these frames for each color.
We also need music in addition to the sound effects Doseone provided for the jam. Fortunately I saw getdizzzy's tweet that his team Symmetrical Audio made music for the game jam. The music is one of the best features of the game. Check them out. https://soundcloud.com/symmetrical-audio/sets/disc-jam
Numbers in Game Design
Game balance, item costs, running speed, they are all part of game design and I'm bad at them. Good thing I never liked hard coding numbers in my scripts, I always assign them to a variable to be able to tweak them anytime. Because of this, I was able to add customization quickly so I instead let the players balance for me. When in doubt, make the tasks count lower, the player speed faster, the bad stuff's hitboxes smaller and the good stuff's hitboxes bigger.
We agreed on the title a few days before submission. That's also when Mike worked on the banner for Itch.io which we used as the title screen. I finalized the title screen UI. What I liked about Among Us' version is its simplicity of multiplayer UI.
There's Create Room or Host if you don't want to join a current random room, or if you want to make a private room with friends. I made a Quick Join button though since I feel everybody just wants to play ASAP.. Some players don't want to see a list of rooms (Counterstrike is to blame) click on one and then inform you it's already full. This Quick Join is similar to multiplayer mobile games. Join with Room Code in Among Us is so intuitive. The room code is revealed to everyone in the room they're in. It's so neat and practical!
Implement Fun and Easy First, Do Boring and Hard Later
A few days before submission, I have a long list of bugs to fix and features to implement. This is that time when developers binge watch Netflix or sleep all day. They know it's hard, it will be boring but it needs to be done. In Disc Us, it sure will have voting, role assignments and result scenes anyway, so I put this task last.
At one point I was just hoping players would escort the suspect to their cell and manually lock the cell, if I wasn't able to code it in time. I managed to pull it off but with bugs I found out later (players leaving mid-game, arghhhh!).
Hardest Part of Making a Multiplayer Game
What do you think is the hardest part of making a multiplayer game? Rollback netcode? Lag compensation? I found out that it's actually getting human players to play your game. I can test the game with multiple windows. But the human element is missing. Will people sabotage other players? Will they kill in plain sight? Will there be lies and mistrust?
All of these ideas I put in code were untested. We never played an actual run and never had 4 players during testing. I uploaded a beta version in Newgrounds and itch.io but we're still struggling to get 4 players. I requested from Tom Fulp of Newgrounds for a feature so we can try out the multiplayer and we got a frontpage. Thank you Tom! The game got Daily 4th and 3.8 score at the time. That's when things get exciting . I got all sorts of feedbacks, from bugs to unclear instructions to social interaction related issues. I update the game every time I get a build made.
Lessons In Social Deduction Genre
This social deduction genre is really interesting. It's short burst (less than 5 minutes), very interactive and you can get different scenarios from different players' game style and roles assigned. "It's honestly fun." That's the comment I'm getting a lot.
A gamer being in-character
As my best pal, Barliman commented, "It's the psychological part that is interesting in that game. Among Us is a very simple game but somehow you feel that you are part of a collective who decides the fate of either yourself or another person's life like in a movie."
Lorie (Gnome More War / Nintendo Switch) also commented, "Played it. It's better with more players!"
Indeed, it's very fun with many players. Try the game now as we have many players online thanks to Itch.io's top multiplayer and Fresh Games list.
It's also included in RockPaperShotgun's list of their favorite Disc Room Game Jam entries so be sure to read that and find other amazing entries.
What's Next for Disc Us?
I already reworked the networking to address disconnecting players but it still needs some private testing. I might do the random room generator. We can add pets, more hats and more colors. We may make a completely new serial killer movie themed game, (pitching!). We'll see! For now you can play Disc Us on Itch.io and Newgrounds and tell us what you'd like to see in the game in the comments section!
What's Next for Me and Mike?
We'll be back on working our full scale game Jack Axe for Steam and Nintendo Switch and this game jam gave us our much needed break and it gave us relief and took the burnout from Jack Axe development. In fact, Mike was able to port the game to Nintendo Switch after so many errors during the development of Disc Us. Another game dev tip! Work on something else if stuck!
What's Jack Axe? It's an axe tossing, single or multiplayer, platforming adventure in a vibrant open world inspired by Filipino and Norse mythology. Check out the Steam page and wishlist if you like what you see! https://store.steampowered.com/app/985780/Jack_Axe/