InterDineMensional (Portfolio Section)
InterDineMensional is a Visual novel in which the player plays Graciana, a server at a diner in the middle of space. The plot of the game is told by the various characters the player meets throughout their playthrough. Every time the player serves a customer, the player gets to play a minigame in which the player does a simple task to gain or lose affection or gain a mysterious chaos point. Depending on how many chaos points the player has, and how much affection the player has, each character has 3 endings the player can achieve, including the big boss O'ryan, who is the end boss, and depending on the endings the player gets with other characters, the game will end in one of three ways.
InterDineMensional development
This was my final semester at Fitchburg State University. During this semester I worked with four other students to make this capstone project. We worked in the FSU Game Studio, which is essentially a professional game studio. The five of us worked together to make this visual novel with minigames incorporated.
During this semester we decided to use a dialogue system called Inky, I used the premade unity integration as a starting point and made a fully functioning visual novel dialogue system.
My role
I was the only programmer on the team, and because of this it was my job to program everything, make the implementation of assets easy for artists and writers, and help with implementation, prototype, debug, and build the final product.
Dialogue system (front end)
Whenever a character speaks, their character portrait will lighten up a bit, and go back to normal once they stop talking, this is referred to as the spotlight.
Even if the character is not in the spotlight, their sprite can, and will change, and in doing so, change their expression to go along with the current conversation.
Sound effects can play during a conversation, and music can be changed during the conversation
The scene can fade to black and the conversation will continue, and when it fades back in the background image can change, or it can be a whole new scene.
items you acquire, or objects you need to know about for a minigame can pop up in the middle of a conversation so you can see what is being referred to.
if you hold the right ctrl, you skip through the dialogue.
You can also have it automatically advance through dialogue.
Dialogue system (behind the scenes)
Using Inky allows for a lot of freedom when integrated properly. I fine-tuned a lot of the implementation to make it as easy as possible for writers to call variables, adjust their value, and call code through the use of tags.*
There were plenty of intricacies when it came to the programming of this new dialogue system. My main goal was to make it so the writers could write in Inky, and easily implement different tags and variables to call different logic in the game's code. Including changing conversations and calling minigames.
Minigames
I created two minigames to go with the story and tasks you had to complete to progress the story, different levels are called based on how far you are into that character's story:
Burger Assembly Minigame (BAM)
click and drag the plate at the bottom of the screen to catch falling burger layers. If you collect a cosmic ingredient you lose a point.
Level One: three lanes of ingredients, one cosmic ingredient, can refer back to the ingredients requested at the beginning (points are example values, they are different for each character).
pass: +1 affection
fail: -3 affection
Level Two: four lanes of ingredients, four cosmic ingredients, can still refer back to the ingredients requested at the beginning
pass: +2 affection
fail: -2 affection
Level Three: five lanes of ingredients, seven cosmic ingredients, you cannot refer back to the ingredients requested at the beginning. If you only get cosmic ingredients you get the cosmic points option.
pass: +3 affection
fail: -3 affection
cosmic: +6 chaos
Trash Throwing Minigame (TTM)
click to throw a bag of trash, or recycling into moving dumpsters. Each bag that is thrown into the correct dumpster gains the player a point. If something is thrown into the black hole you lose a point. Anything in the wrong dumpster or on the ground does not gain you a point. Once the point total has been reached, or the timer runs out there is an animation showing the player's score, then back to the story.
Level One: one dumpster, and one bag type
pass: +1 affection
fail: -3 affection
Level Two: two dumpsters moving in opposite directions and a new bag type to sort through, and the points required have increased.
pass: +2 affection
fail: -2 affection
Level Three: the blackhole has been added and the points required have increased. If you reach the points requested*(-1) you get the cosmic point options.
pass: +3 affection
fail: -1 affection
cosmic: +6 chaos
Hindsight and feedback
The classic saying "Hindsight is 20/20" certainly applies here. There were many mistakes myself and my team made during development, here are a few things I would have changed about the production of this game if I could go back, and why.
A lot of people agreed that the minigames did not fit well with the visual novel aspect of the game. The minigames themselves were ok, but it completely broke the pacing of the game. This in combination with the fact that I wanted to write a character's story leaves me with this alternate way of handling things:
Make one minigame, but make this one slower-paced and more relaxing (like the game Coffee Talk. Then I could have spent more time on the Visual novel programming aspects, and maybe written a character, or added one of the many things we had to cut due to scope creep.
I should have been more organized with my code. This one is self-explanatory, I was not as organized as I could have been with my code, so because of this, I will be much neater in the future.
I made the save system using player prefs, which does not allow for multiple save files and is not built to save much more than setting selections. I have learned from this, and because of it, I will not do it again in the future, at least not for larger-scale projects like this.
The whole point of this project was to learn how to work in a professional setting, so of course there were mistakes. The important thing is that I was able to accomplish something impressive, and I was able to learn from my mistakes in a safe environment.