I’m taking a break from my regular game development blog to talk about a writing side project I am involved in:
A script that I wrote during my time at NYU is being made into a short film by a group of NYU seniors!
The script is called ThoughtCatcher. It is about a young engineering student cursed with an utter lack of originality who accidentally builds a device (the “ThoughtCatcher”) that allows him to hear others’ thoughts. He uses the device to become a modern-day Leonardo da Vinci, but soon finds himself in danger when his jealous classmates learn of his secret.
If you like Amadeus, The Social Network, or Wes Anderson films, you’ll like this film! It’s a story of envy and invention mixed with a large dose of dark humor.
This past month working on Jukebox Beatdown has been demanding but productive: I rebuilt the game’s mechanics, reconstructed my codebase, and recruited new team-members. In this blog post, I will update readers on new features within Jukebox Beatdown. Along the way, I will also talk about the challenges I faced and how I approached them as a designer and software engineer.
(The section entitled Engineering is structured more like a tutorial, so feel free to skip if you are not interested in computer science.)
Want more Jukebox Beatdown? Join our mailing list:
Overview
My design process is very player-centric, so playtesting (asking friends to give feedback on the game) is a crucial part of my process. My friends’ feedback provides direction for the next phase of development. If you have been following this blog, you may remember that my most recent playtest session gave me three primary notes:
The game needs more “juice.” In other words, there needs to be more feedback for the player’s inputs. More simply, the gameplay is not satisfying.
If the game is going to be marketed as a rhythm game, music needs to be a bigger part of the game’s mechanics.
It needs to be clear that the player’s hands are the player, not their head. Alternatively, this mechanic needs to be reworked.
Most importantly, the core gameplay loop (“boss fights synced to music”) sounds compelling, but the most recent execution of that idea is not engaging players.
This blog post will cover three main topics: Design, Engineering, and Producing.
An still from the previous iteration of Jukebox Beatdown. Dr. Smackz, the giant boxer pictured above, punched to the beat of Mama Said Knock You Out by LL Cool J.
Design
I am generally a bottom-up designer, which means that I try to find a fun, exciting, and unique mechanic then build other aspects of the game (story, art, engineering) around that mechanic.
While the above adjectives are subjective terms, there are a few concrete questions that can confirm the presence of each:
Fun: If a player plays a prototype of my game, do they want to play it a second time?
Exciting: When someone hears the elevator pitch for my game, do they ask a follow-up question?
Unique: When hears someone the elevator pitch for the game, do they assume it is a clone of an existing game? (I.E., “So it’s basically Beat Saber?”)
As I mentioned in my previous blog post, Jukebox Beatdown was passing the “Exciting” test but failing the “Unique” and “Fun” tests. People were hooked by the pitch but bored by the gameplay. They also perceived the game as being a Beat Saber-clone, when it was actually a rhythm game crossed with a bullet-hell game.
Beat Saber is one of the most famous VR games and by extension, the most famous VR rhythm game. Due to its fame, I wanted to steer clear of any mechanic that resembled Beat Saber too closely.
Given this, I decided it was time to start over and try to create a new mechanic that engaged players and incorporated music. If I could not create a new mechanic that passed these requirements in two weeks, I would put the project on ice.
My previous game’s most popular minigame revolved around using tennis rackets to keep falling eggs from hitting the ground. It was a weird game, but a fun one!
My last VR game had had success with a basic “bat” mechanic (you had to bounce eggs falling from the sky with tennis rackets), so my first inclination was to prototype a version of that mechanic that could work in the context of Jukebox Beatdown. I created a “Beat Bat” that the player could swing at enemies. If they hit the enemy on the beat, which was designated by a bullseye-like icon that shrunk as the beat approached, they would get a critical hit.
A very quick screen-grab of the Beat Bat prototype. It didn’t feel intuitive to me and it felt too similar to Beat Saber.
As a player, I found this mechanic difficult and awkward. It also felt too much like Beat Saber, so I went back to the drawing board once more.
My next idea was to have the player shoot on the song’s beat in order to apply a damage multiplier to each bullet. I was worried that this mechanic would feel shallow, but I also figured it would be accessible to less musically-inclined players, so I built a quick prototype. My first prototype rewarded the player with a more powerful bullet when they shot on the beat in 4/4 time regardless of whether a note was played at that time. I liked this mechanic, but it felt too basic and unsatisfying.
To learn how to make the rhythm mechanic more compelling, I decided to study existing rhythm games made for both VR and traditional platforms. I studied Audica, Beat Saber, and Rez Infinite, but by far the most useful game to play was Pistol Whip. Whip was useful partially because it had a similar shoot-on-the-beat mechanic, partially because its implementation of that idea was frustrating, and partially because it was built for a different kind of audience. These elements made me think of how Jukebox’s mechaniccould be different and, I thought, more satisfying to its audience. (As a side note, all of the games mentioned above are excellent. My notes on the games below reflect my personal tastes rather than my opinion of the game’s quality. They are all extremely well-crafted.)
Below were my main takeaways and notes from playing those games:
Pistol Whip:
Pistol Whip is a on-rails VR shooter in which you get additional points when you shoot on the beat.
The shoot-on-the-beat mechanic always applied even if there was no instrument playing on the beat. This created awkward moments in which you had to shoot on the beat but there was no way for you to know when the beat was occurring besides a faint visual tremor in the level’s environment art and a haptic effect on your controller.
The shoot-on-the-beat mechanic served no strategic purpose; this made it less compelling. As far as I could tell, there was no incentive to shoot on the beat besides raising your score. I felt that this limited the appeal of the game to people who care about high scores. As someone who never felt strongly about leaderboards, this made the mechanic less interesting to me. (There are people who love this kind of mechanic, so points and leaderboards are a great idea; I just felt the mechanic was a missed opportunity.)
The feedback for shooting on the beat was too subtle: when you shot on the beat in Pistol Whip, the only feedback you got was a red dot above the enemy you shot. This felt like a missed opportunity to reward players.
Your hitbox was your head: in Pistol Whip, you are your head. In other words, to dodge the enemy’s bullets, you need to move your head around. I’m not a fan of this design because:
I personally dislike standing up for long periods of time to play a game.
I worry about banging my head against my furniture.
My hands afford me finer control than my head does.
This control pattern makes the game inaccessible to some players with disabilities.
Audica:
Audica is a music-shooter from Harmonix, the creator of Guitar Hero. It was one of my favorites.
A rhythm-game can be made more interesting by requiring the player to hold down the trigger at times. This was a mechanic I had not seen in many other VR rhythm games and which I may incorporate into Jukebox Beatdown in the future.
Audica has fantastic particle feedback for every successful hit. Particle feedback is highly satisfying.
Rez Infinite:
Rez Infinite is a critically acclaimed music-action-adventure game in which your shots are timed to the music.
Rez Infinite made the interesting choice to ensure that the player bullets always hit the enemies on the beat by having the player lock-on to enemies and then fire homing missles rather than shoot them directly. When the beat played, the missles would fire out of the player and hit the locked-on enemies so that it appears that the player has hit the enemy in perfect time with the beat. I want to recreate this effect with the homing missles Jukebox Beatdown’s bosses will use against the player.
With these notes in mind, I built a new prototype with changes that I felt made the gameplay more interesting:
Shooting-on-the-beat became a risk vs reward mechanic. If a player shot on the beat consistently, they would be awarded an increasing damage multiplier: their first shot on the beat would multiply their damage by two, their next shot would multiply their damage by three, and so on. However, if the player missed the beat or was hit by an enemy, their multiplier would reset to one. This gave players two options: they could either time their shots to the beat in pursuit of a high damage multiplier (but have to lower their firing rate to do so) or they could ignore the multiplier and simply blast away, making up for their lack of damage per bullet with a higher firing rate.
Shooting-on-the-beat was made more dramatic. As the player shot on the beat, their bullets would grow larger and change color. Additionally, a Guitar Hero-esque combo counter was tied to the player’s hands.
With the shoot-on-the-beat mechanic on firmer ground, it was time to incorporate more music into the boss’s attack patterns. In my previous prototype, I had programmed the prototype’s boss, a giant boxer, to punch the player on the beat. However, almost none of my playtesters perceived that the boss’s attacks were tied to the music and some even expressed that they wished that it had been!
It was time to turn things up a notch. I felt that if players did not recognize events on the beat, they might recognize specific actions tied to specific notes. With some engineering secret sauce, I put together a pipeline that automatically tied notes to specific game-events. For example, a C# note could fire a rocket while a B note would shoot a laser.
The red bullets that the Beat Brothers are dodging are triggered by notes within the song’s melody.
However, as I will note in the Looking Forward section, this change was still too subtle for players to notice.
Engineering
This section is more technical in nature and resembles a tutorial. If you are not interested in computer science, feel free to skip this section.
After I implemented the above mechanics, I found the game had two big problems: poor performance and significant disorganization.
Performance:
Due to the high number of projectiles on screen and some funkiness with my music-syncing plugin, Jukebox was crashing within ten seconds of start.
To fix this, I implemented a game programming pattern called an Object Pool. The purpose of an Object Pool is to enable a program to generate and manipulate large groups of in-game objects without adversely affecting performance. Large groups of objects can cause problems because the operations for Creating and Destroying these objects are computationally expensive, especially when executed many times per frame. To sidestep this issue, the Object Pool instead generates objects at program-start then places them within a “pool” of similar objects. When one of these objects is required, it is activated and moved to where it needs to be. Once it is no longer needed, it is deactivated until it is required once more. This saves performance significantly because it removes the need to perform many expensive Createand Destroyoperations.
In the case of my game, this pattern was a lifesaver because the gameplay evolved to include up to 80 bullets on-screen at any given time. With this pattern in place, I was able to eliminate crashes.
As the bullets go offscreen, they are deactivated and returned to the pool. From Ray Wenderlich.com, one of the many resources I used to learn how to create an Object Pool. Click on the link above to learn more about Object Pools.
Organization:
Once I felt more confident about the project’s direction, it was time to refactor my code.
During prototyping, my code had gotten messy and found myself losing time because I was writing multiple versions of the same few functions for similar classes. For this reason, I decided to create some basic Inheritance Trees.
If you are not familiar with Inheritance Trees, it is a manner of organizing code so that it incorporates basic is-a relationships. Is-a relationships are useful because they allow us to define objects using abstract terms rather than stating every attribute of every object from scratch. The textbook example is classifying animals:
Assume that you do not know what a Dog is, but you do know what an Animal is. If I tell you that a Dog is an Animal, you may, for example, know that an Animal is living and that it can reproduce, so a dog must also be able to do those things. Rhinos and Chickens, by virtue of being Animals, must also have these attributes.
Assume now that you know what a Dog is but you do not know the traits of particular Dog breeds. If you know a Dog has ears and four legs, you can assume that a Greyhound, Chihuahua, and Great Dane do as well. That is the value of an Inheritance Tree: it enables you to define objects/classes without having to repeat yourself.
To write the inheritance tree for my health functionality, I took all my health classes and wrote down all their properties and functions. I then identified which properties and functions I wanted in every object that had health. These “essential” functions and properties were then put into my most basic health class. After this class was written, I worked myself “down” the tree, creating increasingly more specific classes as necessary.
One advantage of an inheritance tree like this is that it helped me enforce certain design standards. For example, I wanted every object to play a sound effect and spawn an explosion effect when it “died” so that combat always felt dramatic. By defining this functionality in my base Health class, it was included in all the sub-classes (descendants of the base Health class like EnemyHealth, PlayerHealth, BossHealth) so I did not have to remember writing the same functionality for every sub-class.
Producing
One of the more challenging aspects of this project has been finding appropriate and compelling music on a tight budget.
Fortunately, I’m excited to announce that Benjamin Young, a composer whose credits include Love, Death, & Robots and Star Wars: The Old Republic, will be composing and recording an original disco song for the game’s vertical slice! Check out more of Ben’s awesome music here!
For the last bit of exciting news, I’m happy to say that we have a new logo! In my next blog post, I will introduce our new poster and concept art as well!
Looking Forward
After implementing the above changes, I hosted a playtest party in December to see how players would react.
The response from the twelve play-testers was generally positive and it was clear that the next move would be augmenting these changes rather than changing direction once more.
The critical feedback grouped around three main points:
The shoot-on-the-beat mechanic could be made more complex. In its current iteration, the shoot-on-the-beat mechanic is tied to the snare drum section of Disco Inferno. Some playtesters felt that the rhythm section be made more complex.
The boss’s attacks need to be made more interesting. At present, the boss follows a simple attack pattern in which he moves around the stage then does a special attack in which he spins while shooting many green pellets. This needs to be made more interesting.
The player needs more interesting choices within the game-loop. The risk-vs-reward dynamic in the shoot-on-the-beat mechanic is interesting, but I can give the player more opportunities to make interesting choices. For example:
Create “beat zones” that reward the player additional points when the player hits the beat within them. Make this a risk vs reward mechanic by putting the zones in dangerous spots.
Build a mechanic around holding down the trigger.
Reward the player for alternating which Brother/hand shoots on the beat.
There needs to be clearer feedback for the player’s actions. Combos, hits, and boss attacks need more visual and audio feedback.
Thank you for following the development of Jukebox Beatdown! To get blog posts, beta-invitations, and launch coupons for the game delivered to your inbox, sign up for our mailing list below:
In addition to being a game designer or engineer, one long term goal of mine is to become a video game producer! To accomplish this goal, I recently asked a few game producers I know what I could do to prepare myself to be a producer. They said:
Learn Jira and Confluence.
Become a Certified ScrumMaster.
To accomplish the latter, I decided to attend a ScrumMaster class this weekend and take the CSM exam. I got a perfect score, so I am now an official Certified ScrumMaster! (I also got a Jira certificate this week.)
Scrum is a project management framework used to deliver complex products. It is built to avoid common problems in complex projects like:
Excessive crunch.
Building a project that nobody wants.
Running out of budget or time.
Without using the Scrum lingo, I would break down the Scrum process into the following high-level steps:
Generate ideas for potential features for your product.
Prioritize a list of those features.
Determine a length of time shorter than a month and longer than a week during which you will work on those features.
Select the highest priority features that you can commit to finishing within that allotted amount of time.
Work on those features for that allotted amount of time, no more or no less.
Present your completed work to relevant stakeholders.
Retrospective: Facilitate a discussion with your team how about they can work together better in the future.
Repeat, skipping step three. You generally use the same amount of time for every sprint of work.
Throughout this process, you also periodically refine your list of items to complete.
I am purposely not using the Scrum lingo above so people new to Scrum can more easily understand the process as a whole. I also left out a number of important steps for simplicity.
If you are curious about Scrum, please reach out to me or check out the official Scrum website.
In addition to working as a game designer or engineer, one of my long-term goals is to become a game producer, so I recently asked a few professional game producers I know what I could do to get to that position. They said:
Learn Jira and Confluence.
Get your ScrumMaster certification.
Make more games!
To do the first step, I decided to take the above online course on Jira and Confluence administration. If you are not familiar with Jira or Confluence, they are two of the most-used tools for teams creating large software projects. Jira helps teams plan their workload while Confluence allows them to organize their documents.
Coincidentally, I will be getting my ScrumMaster certification this weekend. After that, I will be continuing work on the other games mentioned in this blog!
I’m excited to announce that I have been accepted into the 2019 iteration of Oculus’s Launch Pad program!
What is Launch Pad?
If you’re not in the world of VR, Oculus is the world’s preeminent VR hardware company. They are known for building some of the world’s most popular VR headsets, including the Oculus Rift and the Oculus Quest, their amazing new standalone VR headset.
The Oculus Quest.
The purpose of Oculus’s Launch Pad program is to populate the VR ecosystem with new and diverse content. At the start of the program, one hundred developers from North America are invited to San Jose to attend a two-day VR bootcamp led by Oculus. They are also invited to Oculus Connect, Oculus’s flagship VR conference, that same week. After this initial training, Launch Pad members are provided technical support as they develop vertical slices of the projects they initially pitched to Oculus in the application stage. In early 2020, these developers will have the opportunity to pitch their vertical slices to Oculus again in hopes of gaining funding and ideally, launching their game on the Oculus store.
Some amazing projects have come out of Launch Pad in previous years, including Bizarre Barber, an awesome VR action game from NYU. I am thrilled to have the opportunity to work towards creating a VR demo of the same caliber.
For my application to Launch Pad, I submitted Jukebox Beatdown, a VR boss-rush game in which every boss fight is a distinct interactive music video.
In Jukebox Beatdown, you play as Kleft and Kright, two up-and-coming alien musicians that are tied to the player’s left and right hands respectively. Your goal is to make it to the top of the Billboard Galaxy Top 10. To do so, you will need to battle the existing Top 10 musicians in a series of fast-paced, music-themed boss fights.
Kleft and Kright’s first album. If these characters look familiar, that is because they are Goopy Le Grande from Cuphead (2017) on the left and Slime from Dragon Quest (1986) on the right. They will be replaced when we finalize our concept art.
So What’s Next?
Right now, I am exploring the best way to build an awesome vertical slice of Jukebox Beatdown. Since the game is made up of a series of boss fights, I think the most logical vertical slice would be a single boss fight.
To create this vertical slice, I will need to achieve the following:
Find or commission original music for the boss’s score.
Sync the game’s visuals to its music in a satisfying and clear manner.
If there is time, optimize the project so that it approaches the technical requirements for the Oculus store.
Most likely, I will not hit step four and not totally complete step three. However, I think the game should be able to stand on its own should that happen. In game producing, I believe you should find what makes your game fun first then build everything else around that element.
I’m excited to see San Jose and attend Launch Pad!
Will you be at Oculus Connect and/or Launch Pad? If so, fill out the form below and we can meet up!
I’m excited to announce that I am in preproduction on a new Virtual Reality game tentatively titled Jukebox Beatdown! In this post, I will discuss what this project is, why I am working on it, and what I hope it will become.
Jukebox Beatdown is a VR boss-rush game in which every boss fight is a distinct interactive music video.
Wait, What’s a Boss-rush Game?
“Boss-rush” games are a subgenre of the action genre in which the entire game is a series of boss fights. Popular examples from this subgenre include Cuphead, Titan Souls, and Shadow of the Collossus.
An epic battle from the Shadow of the Collossus.
So why make one?
One of the great things about boss-rush games is that they afford their designers significant room to craft dramatic moments. Since the game is focused on a small number of set-pieces, far more time can be invested in giving each boss a strong, memorable personality. This is important for me because I want to create a game that is manageable but also has a strong, unique aesthetic.
The bosses in the dazzling Cuphead ooze personality.
The other great thing about boss-rush games is that they are very modular. In most boss-rush games, you can take a boss or two out of the game and still have a complete experience. This is important for me because I am currently working fulltime and have limited availability to work on this project. Whether I get around to making three bosses or ten, I want to make sure I can deliver a complete experience to players.
You play as Kleft and Kright, two up-and-coming alien musicians looking to make it to the top of the Billboard Galaxy Top 10.
Kleft and Kright’s first album. If these characters look familiar, that is because they are Goopy Le Grande from Cuphead (2017) on the left and Slime from Dragon Quest (1986) on the right. They will be replaced when we finalize our concept art.
To do so, you will need to battle the existing Top 10 musicians in a series of fast-paced, music-themed boss fights.
Some ideas for bosses that the Handymen could battle.
Every boss will have a unique song, art style, and attack pattern.
I want the player to feel like they are stepping into the world of music when they play this game. To achieve this, each boss fight’s environment will be themed after a prototypical music video from their genre of music. For example, you might fight a grunge-themed musician in a rusted, sepia-tinted industrial park or a classic music conductor in a large, ornate orchestra hall. Below are some music videos from our moodboard. These videos were all chosen because they have a strong, consistent visual style.
Deee-Lite - "Groove Is In The Heart" (Official Music Video)
Nirvana - Smells Like Teen Spirit (Official Music Video)
LL Cool J - Mama Said Knock You Out (Official Video)
The Trammps - Disco Inferno
Technotronic - Pump Up The Jam (Official Video)
Beastie Boys - Sabotage (Official Music Video)
In the same way that each boss will have a unique art style and song, they will also have a unique attack pattern that compliments their song. For example,
A dubstep-themed boss might launch a cascade of bullets when, “the beat drops.”
A heavy metal-themed boss might swing his “axe” around to hit the player.
A disco-themed boss might take the form of a giant disco ball that rolls around the stage to crush the player.
In most cases, these bosses will take after a common “boss battle” archetype. These are some of the boss archetypes from our moodboard:
A "Bullet Hell" Boss
A "Swinger" Boss: Executioner Smough from Dark Souls (2011)
A "Charger" Boss: From Binding of Issac: Rebirth
The "Giant" Boss: Colossus of Rhodes from God of War II
Gameplay
To defeat these bosses, the player will need to pilot Kleft and Kright, the two aliens living on their hands, around attacks while simultaneously “spitting beats” (musical notes) at the bosses. One thing that makes this game fairly unique among VR action games is that the player is represented by their two hands rather than their body. I made this decision because I found that this gives players more precise control than a typical VR control scheme in which an imprecise hitbox stands in for the player’s body. Boss-rush games are very skill-based, so it is important that when the player dies, they feel like they are at fault, not the game.
Spartaga VR has a similar control paradigm to this game. Your hand is you.
To keep the game interesting, I want to experiment with introducing some rogue-like elements to the boss-rush. These would include:
Implementing permadeath (when you die, you have to start over.)
Randomizing the order of the bosses each time you play.
Giving the player random upgrades each time they start the game and beat a boss.
These elements could limit the audience of the game to more hardcore players, but I also think it could add a great deal of replay value to the game.
What’s next
In my current demo of the game, you go through a short tutorial and fight Dr. Beatz, an enormous boxer punching to the beat of LL Cool J’s “Mama Said Knock You Out.”
While early playtesters have generally responded positively to the game’s concept and theme, it’s clear that there is still work to do in terms of making the core gameplay loop exciting. These tasks include:
Adding more “juice” to the game (making the game’s mechanics feel more impactful).
Incorporating music more into the game’s mechanics.
Making it more clear that the hands arethe player.
Though there is a lot of work to do, I am excited to begin this process!
I took an online course on Unity’s AI system as I needed to know how to create game AI for my thesis project, Wormhole VR. I now know how to create game AI for Unity.
In this series of blog posts, I will talk about my process as a producer, designer, and programmer of Real Al’s Humanity Academy. I’ll discuss why I made the decisions I did in each of these roles to give readers a better idea of how I approach these disciplines. The intended audience of these posts are potential employers, collaborators, and/or fans of the game who want a more behind-the-scenes look.
In this post, I will discuss how our team designed the project’s game mechanics.
In the previous posts, I discussed why our team set out to make a VR party game and why we thought a minigame collection was the best fit for our team.
With our gameplay concept selected, we brainstormed individual gameplay mechanics. As in Warioware or Dumb Ways to Die, each minigame would be based around a simple mechanic. When the game progressed, the minigames would become increasingly complex and difficult.
The Dumb Ways to Die minigame collection was another source of inspiration for our game.
A core principle that we kept in mind throughout this process was to design every minigame for VR and only VR. At that time, there were many VR titles on the market that were essentially 2D experiences shoehorned into the medium. We wanted to make something that could only be experienced in VR and that utilized VR’s strengths, such as its physicality and 360 degree environments.
One of my favorite aspects of VR is its physicality. Like the Wii remotes before them, the HTC Vive’s motion controllers feel fantastic when you use them to perform physical tasks like swinging tennis rackets, boxing heavyweights, or climbing mountains. To brainstorm minigame ideas, I would grab a Vive controller and play with it like a toy until I found a motion that I found satisfying. Then, I would try to spin this action in a surprising way. For our “Bounce the Eggs” minigame, I first started with the motion of hitting a tennis ball. At that point, I prototyped surreal variants of this action, like the balls transforming into balloons on impact or the balls shooting out from the floor. Somehow, we arrived at eggs falling from the sky in a supermarket.
Our “Bounce the Eggs” minigame in action.
Another aspect of VR that I loved was the fact you could build a game all around the player. There’s something magical about turning around while in VR and finding a whole new side of the environment for you to explore. We applied this thinking to our game by designing every minigame so that you had to turn around and explore your environment to win.
Early in my time at NYU, I went to a VR masterclass that had Saschka Unseld, the director of Oculus Story Studio, in attendance. He said:
Film is about showing, not telling.
VR is about discovering, not showing.
I found this statement to be true in my time as a VR consumer and we tried to apply this paradigm to our design of the minigames. Imagine that each level is divided into a north, east, south, and west quadrant. Whenever it was possible, we tried to put a compelling and unique gameplay or art element in each quadrant so that the player would always feel rewarded when they turned around.
The “Grab the Numbers” minigame forced players to turn around because the numbers they needed were sometimes behind them.
I loved this phase of production because our team had the chance to experiment. We made minigames where you popped balloons, smashed computers, played blackjack with floating cards, and dodged evil bees.
To externally validate these designs, we were constantly playtesting our ideas. In order to expedite playtesting, I would parameterize the settings of the various minigames and then have playtesters try variants of the same minigame one after the other until they felt just right. For the egg bouncing minigame, I would modify the eggs’ speed, size, color, and sound effects until every bounce felt satisfying and fair. This method of iteration was one of my favorite parts of the process.
Sometimes, the minigames would get stuck even after several rounds of tweaking. When this happened, we’d review our playtest notes for a diagnosis. Most of the time, the issue was that the minigame was too complicated to understand in five seconds. When this happened, we identified the best part of the minigame and simplified or eliminated the rest. In one case, we had a minigame in which you had to use a flashlight to find a lever in the dark and then pull that lever. Playtesters didn’t like the minigame, but they did like the flashlight, so we kept the flashlight and redesigned the game around finding ghosts in a dark room.
Players loved our flashlight mechanic, but not the rest of the minigame, so we kept the flashlights and ditched the rest. To make the flashlights even more rewarding, we added about forty unique images to the walls of the flashlight level so that players would be encouraged to explore the room.
When designing minigames, we found that a few guidelines generally held true. We measured our minigames’ success by two simple metrics: A) Did they want to play again? B) Did they say they liked the game? In general, we listened to “A” a lot more than “B!”
Simpler minigames performed better. Every minigame that required two phases ultimately became a one phase game.
Minigames that heavily utilized motion controllers performed better.
Minigames that gave dramatic reactions to the player’s actions performed better, regardless of whether the player won or loss. [For most players, a dramatic failure is more satisfying than a tepid victory.]
Minigames that forced the player to utilize all 360 degrees of an environment performed better.
Minigames that asked the player to simply touch an object were not as satisfying as minigames that required “bigger” actions like swinging, punching, or throwing.
For most players, the game felt well balanced and fair when they won about 75% of the minigames in the first round and won about 50% in the later rounds.
Players appreciated failure the most when they could clearly see how close they were to success. I think the egg game was popular in part to the fact that you could clearly see how many eggs were left to bounce at any given time. On other hand, I felt that the ghost game was sometimes unsatisfying because you could easily feel like you had made no progress if you didn’t spot any ghosts.
A progress bar from the amazing Cuphead. Players love to see how close they are to success.
At this point, we kept the game’s art and theming to a minimum. We wanted to to communicate the game’s general tone, but we did not want to finalize art assets until we knew that our game mechanics were solid. In general, we thought it would be easier to create a story around a set of mechanics than vice versa. I also didn’t want our team’s artists to spend time building assets for a mechanic that would ultimately be cut.
We knew from playtests that many players enjoyed taking turns playing the game with their friends. While this was great, we needed to give players a reason to invite others to play the game with them, so we implemented a simple local high score system. Putting a leaderboard in a game can awaken players’ competitive spirits; we found that most players would do an additional playthrough if they were aware of the leaderboard and were in the presence of their friends.
The final big test of our game’s mechanics that semester was the NYU Game Center’s biannual show. This was an important show for us because the show often had professional game designers in attendance.
The NYU Game Center, where this game was first designed.
Thankfully, the game was well received; several people even said the game was terrific. Most importantly, the game seemed to achieve its stated mission: it thrived in the show’s party-like atmosphere. Many people would first play the game individually then challenge their friends to beat their high scores. For me, this was a profound moment. We had built the foundation of a solid VR party game.
However, there was still significant work to do; the minigames needed refinement and the game lacked a theme. In my next post, I will discuss how I wrote the game’s script and how our team approached the game’s art.
Enjoyed this blog post?
Subscribe below for more dev blogs and news delivered to your inbox.
I took an online course on Unity’s networking system as I needed to know how to create networked games for my thesis project, Wormhole VR. I now know the basics of creating networked (online multiplayer) Unity games.
In this series of blog posts, I will talk about my process as a producer, designer, and programmer of Real Al’s Humanity Academy. I’ll discuss why I made the decisions I did in each of these roles to give readers a better idea of how I approach these disciplines. The intended audience of these posts are potential employers, collaborators, and/or fans of the game who want a more behind-the-scenes look.
In this post, I will discuss why our team chose to make a minigame collection given our stated mission.
In my previous post, I discussed the mission that guided this project, which was:
Make a VR game that people would want at their party.
With this goal in place, I started recruiting people who felt as passionate as I did about making VR games less isolating. I reached out to Keanan Pucci and Matthew Ricci because they were some of the hardest working people in my VR production class and seemed equally invested in solving this isolation issue.
Once our developer and designer team was in place, we started brainstorming ideas to achieve our goal. We decided that we would each bring five gameplay ideas and five theme ideas to our meetings until we found an idea we all believed in. I personally set aside twenty-five to fifty minutes a day to brainstorm ideas so that I was always bringing my best ideas to the group meetings.
We analyzed these ideas with a lens similar to the “Hedgehog Concept” mentioned in Jim Collins‘s book, Good to Great. Essentially, we asked ourselves three questions:
1) If we sold this game, would other people want to buy it?
2) Could we make a version of this game that was competitive with similar games on Steam?
3) Are we passionate about this idea?
If the answer to all these questions was yes, we would go forward with the idea.
Between the three of us, “Warioware in VR” was our favorite idea, so we tested that idea first. If you’re not familiar with Warioware, it is a fast-paced casual game in which players compete to complete as many five to ten second minigames as they can. In the minigame pictured below, you are given five seconds to slap Wario and wake him up.
To answer question number one, we pitched our game to anyone who would listen and gauged their reaction. The game was easy to pitch and most people seemed enthusiastic about the idea. For question two, we spent significant time looking through Steam and Itch.io for similar games. There were one or two Warioware-like VR games, but they were either buggy or bland; we felt that we could do better. It was clear our whole team was excited about the idea, so we decided to move into planning the project.
The Warioware concept had other game development-specific advantages to it. For one, it was modular: a minigame could fail in production and the rest of the project would be fine. This modular design gave us the flexibility to pursue three minigames if things were going slowly and ten if they were going quickly. If we had instead made a narrative game, we would have to commit to finishing every chapter or the experience would be incomplete. Some members of the team were relatively new to VR development, so this modular paradigm helped diffuse production risk.
The other advantage to the Warioware concept was that it gave us room to experiment with a variety of art styles. If you have played Warioware, you’ll know that each of its minigames has its own unique look: there are games rendered in claymation, 3D animation, acrylic paint, watercolor, and more. Warioware’s art is not always the most realistic or technically polished, but it makes up for this with visual inventiveness and humor. We knew our team couldn’t afford to create naturalistic animations like in AAA VR experiences like Henry or Robo Recall, so we decided to also aim for humor and inventiveness in our art rather than technical polish. You can find some images from our initial moodboard below:
Now that we had our core gameplay paradigm in place, it was time to brainstorm our mechanics.
Enjoyed this blog post?
Subscribe below for more dev blogs and news delivered to your inbox.
In this series of blog posts, I will talk about my process as a producer, designer, and programmer of Real Al’s Humanity Academy. I’ll discuss why I made the decisions I did in each of these roles to give readers a better idea of how I approach these disciplines. The intended audience of these posts are potential employers, collaborators, and/or fans of the game who want a more behind-the-scenes look.
In this post, I will discuss why our team set out to make a VR party game and what problems we hoped to solve by doing so.
This project started as a question in Robert Yang’s VR production class at the NYU Game Center. On the first day of class, Robert asked us, “What do you dislike most about VR?” Though I was absolutely fascinated with VR, I still found some issues with it: the cords got caught on everything, the sensors took a millennium to set up, and the headsets often ran hot.
However, there was one issue with VR that outranked all the rest: VR was incredibly isolating. When Robert’s question was posed to me, I had owned a Gear VR and borrowed an Oculus Rift for about a year. I had enjoyed many great single-player games and narratives with both headsets, but these play sessions were always dampened somewhat when I took off my headset and saw that one around me had shared in my experience. The technology made you feel lonely.
Moreover, the technology was difficult to share. If you invited your friend over to try your Oculus Rift or HTC Vive, they might have a great time, but you would be stuck watching them play through your computer’s monitor. There are a few great local multiplayer VR games such as the amazing Keep Talking and Nobody Explodes, but these are few and far between. Checkers, which could be played with stones and grid paper, had more staying power as a social activity than VR, which has billions of dollars of investment. If VR could not fix this isolation problem, I honestly thought it would die out (again.)
In Keep Talking and Nobody Explodes, one player defuses a bomb in VR while the other reads them a series of complicated directions from their phone.
I thought VR had incredible potential as both a gaming platform and a storytelling medium, so I wanted to make something that proved to others that VR gaming could be a fun social activity. I wanted to make a game that someone would turn on at a party and that the whole room would enjoy, such as Wii Sports. With this in mind, I began the project with a simple mission:
Make a VR game that people would want at their party.
In my next post, I will discuss about how our team approached this question as game designers.
This last weekend, I participated in the 2019 Unity XR Jam at the RLab, NYU’s XR center in the Brooklyn naval yards.
It was an an amazing experience and I got to meet many great people in the developer community.
While I was there, I got the opportunity to create an awesome project called Surveillance State. It’s essentially Where’s Waldo with CCTV cameras in VR. You can check it out here.
Finally, here’s a video of me piloting a drone with a Magic Leap headset! (Not my project.)
I'm excited to announce that Real Al's Humanity Academy, a VR game I produced, wrote, co-designed, and co-programmed, officially launched on Steam today!
If you like the game, please be sure to leave a positive review! (The game is made for the HTC Vive VR headset.)
Keanan Pucci and Matthew Ricci co-created this project; we collaborated on the project's design and programming. Other awesome collaborators on this project include Brodie Cornett (the voice of Real Al), Daniel Pauker, Amanda Berlind, Anjali Krishnan, Alex Danger Raphael, Emily Zhao, Anthony Michael, Hilary Taylor, Julia Hemsworth, and Natalia Bell.
Without this superstar team, this project would have been impossible!
Thank you also to all those who playtested the game and to our professor Robert Yang at the Game Center for nurturing the original version of this project in his class. Thank you also to all of those who gave advice to us as we set up an LLC to launch the project on #Steam (you have been thanked in the project's credits!)
I'm excited to announce that Real Al's Humanity Academy, a VR game I wrote, produced, co-designed, and co-programmed, is launching on Steam on April 1st! Make sure to wish-list below!
Happy to say that the Wamco PIE, a VR experience I wrote, programmed, and directed, was shown at NFFTY, the National Film Festival for Talented Youth, this weekend!
Ivy Film Festival is one of the world's largest student film festivals, so it is an honor to be invited. In the past, the festival has hosted guests such as Robert De Niro, Wes Anderson, and Jack Nicholson and held preview screenings of films like No Country for Old Men and Super Size Me.
The piece will be featured in the festival's Virtual Reality Arcade. If you are in the Brown area, you can sign up for it here. The festival is free and open to the public. For those not in the Brown area, you can check out a video play-through of the experience here.
I am feeling a bit under the weather today, but I hope to be able to take the train up to see the festival for a bit this weekend. If you are in the Brown area, let's meet up!