Project Overview
Finding your place as a game designer for a visual novel can be difficult. In our group we discussed what could be done to increase interactivity in the game and eventually came to a cool solution. The visual novel would have mini games that directly impact the story. They would emulate a part of the story and the outcome of the mini game would be reflected in the branching narrative. As a lone game designer on the project, I now had my work cut out for me.
There were several challenges with this task;
Concepting, prototyping, testing and implementing multiple mini games
Surprising the player
Without demanding too many art assets
Without demanding too much work for programmers
Weaving every mini game into the story, in a way where different outcomes can reasonably be portrayed in the narrative
Rapid Prototyping
Within a few weeks I developed six different mini games, three of which there was room for in the final project.
The prototypes needed to be tested and interated on very quickly, since we in this project had only a couple of weeks for the entire project. Of course our musician, artists, sound designer and our programmers needed time to be able to produce the assets the mini game expected of them. Not to mention that the story in which the mini game would be included first had to be written by our writers. I had no time waste.
I used different tools for the prototypes. Most of them were made in GameMaker Studio, but one also used Twine and mainly paper and pen.
I prefered making prototypes to better communicate my ideas. A design document can be an effective tool, but leaves more things open to interpretation. A prototype can better show an idea and makes it easier to discuss since it puts mechanics, world settings and much more into practical context.
My team agreed with me. No one in the group wanted to read through design documents and would rather get their hands on a prototype to see what how things work, where sound could be implemented and how art could be made to fit.
Stealth
The stealth mini game was supposed to fit in with the story of the game's influencer character. Fans would be looking for the famous influencer and you would try to sneak past them.
Since we wanted to potential endings of the story depending on the dialogue options chosen by the player, there were two modes;
good guy mode, where you simply try to avoid everyone with some of the actively looking for you
and bad guy mode; where you hunt the ones not actively looking for you.
The above video shows the prototype I made in GameMaker. Due to technical issues, the Unity version could not be used in the final product. In this version, I did the design, programming and VFX. Sounds, music and art assets were made by my groupmates.
Platformer
Platformer gameplay starts at 0:50, with some narrative context before that.
This is the Platformer mini game that replaced the Stealth mini game. It was meant to fit in with the story of an unfinished character. The idea was that the player character was in an arcade hall, playing this game. The same game would be played twice, but the second time
the player character would try to impress the person they were talking to and "hack themselves into the game" and start eating the NPCs in the arcade game.
When the Stealth game had to be scrapped only a couple of weeks before our deadline, we decided that this mini game would replace it. Due to limited time, I was tasked with the Unity implementation and programming of the final version of the mini game.
Design wise, I decided to use the wall jump to create action. Simply jumping from platform to platform can feel static, so having to fight gravity as a kind of timer made the game more interesting. Of course, the level needs to properly paced. Therefore I
placed some rest areas with checkpoints to break up pace when I saw fit. The closer to the end they got, the more time the player would spend in the air, with increased durations of action. This was used to create a sense of progression and create a
"boss stage" at the end of the level. The main way I managed to force the use of walljumping was through placing spikes upon surfaces that the player would otherwise land on, causing players to jump over and around walls.
I was happy with the results. The level was difficult, which surprised players. The mini game gained local noteriety for its difficulty, and people would gather their friends to face off against each other and see who could get the fastest time.
In retrospect however, I would make the level easier by adding branching paths that would reward the player proportinally to their difficulty.
In the above video, the Unity version is shown, and below, my GameMaker prototype is shown. In Unity I designed the mini game and programmed it. In the GameMaker version I made everything.
Candy Bucket (formerly known as "Fish Pong")
This mini game is the most light hearted one of the bunch. Storywise, the player is talking to someone in a candy store, which leads to them buying some. This mini game is a fun respresentation of that.
While this mini game has little to no depth, it is arguably the most suited for genre. It is very casual and does not really put the player at risk of losing. It's simply relaxing. A lot of players enjoyed this
mini game more than I had expected.
The three different candies give points leading towards different endings to the interaction, or date. Players who really want to pay attention to the mini game to perform and get a certain ending can
do their best to focus on catching certain candies.
SQUIRRELS VS B.I.R.D.S.
This mini game is inspired by old school RPG combat systems, like in Pokémon. The player chooses one of two classes, and then fights off a bunch of B.I.R.Ds. Both of these classes use risk and inherent conflict
as part of their core design.
The warrior class spends Health to use abilities, sometimes even at the cost of being attacked twice by each enemy. But the abilites use the amount of missing health to deal damage back to them.
This causes tension and forces the player to contemplate their moves. It also builds up to a big moment of release when they finally use one of the big abilites that cause great damage when they are low on health and can finish
off several enemies at the same time.
The assassin class is based around creating big combos. The Ambush ability can only be used on enemies that have not yet damaged you. This condition can be reset with the Vanish ability, at the cost of doubling the damage you take this round and then
doubling the damage you do the following round. Then, the Shadow Techniques and Bursting Shadows abilities can be used to recast all abilities you have casted up to that point. This leads to the player taking risks with Vanish, and/or stunning targets
to control the crowd until they can finally unleash their built up power upon the evil B.I.R.Ds!
I balanced both classes around being able to finish the game within 5 turns. Due to the risk taking nature of the classes, they are usually only 1 turn away from death upon winning. Some playthroughs do take longer, such as 9 turns, but
that is when players are playing more carefully and their healthbars are constantly dancing with death.
Lessons learned
The main lesson I learned is about interdisciplinary teamwork. We were a group of 10 people, with all kinds of different disciplines. Understanding how a change to a mechanic can affect art, sound, music, programming etc.
is a very valuable lesson to have learned. Now I find it easier to take an holistic approach to design, and not only make most use of the assets I have, but also to incorporate other disciplines in my work process
to allow influence from my teammembers, which strengthens morale since it allows them to feel part of the entire game.
I also learned to follow the fun and follow the game. In wanting to make something that could show off some design skills, I neglected the true intended audience and expected experience. While in this case, I think it resulted
in a memorable game, I also realized that trying to force a game into becoming something it doesn't want to be is unrealistic and might not work.