She’s A Little Spooky!
Indie game design / art / programming
Intro
With a background in Film at the University of Utah, I have long been fascinated by how cinematography, mise-en-scène, music and other cinematic elements can evoke deep emotional responses from the audience. But when I ask myself why did some films like Hayao Miyazaki’s Spirited Away leave such an echoing impression in my heart, well, I think it’s the spirit it carries. It’s something about childhood wonder, the innocence, curiosity, the bravery to explore, and most importantly, the quiet, profound growth that comes with saying goodbye.
When I was trying to think of a way to bring the same spirit into my game, I knew I need a story that’s simple, but wonderous. And I remembered a story of a children’s book from my childhood called “My Grandfather Became A Ghost”. In the book, a boy’s dead grandpa comes back as a ghost and they need to figure out why he’s back. After some adventure, grandpa realizes he forgot to say goodbye and that’s what he’s back for. And I knew that’s exactly the story I needed.
Full Playthrough
TimeStamp
(Gameplay Only)
Level 1 4:10
Level 2 7:29
Level 3 12:13
Narrative
I did change the story quite a bit. Instead of grandpa, the one who comes back is the boy Kai’s older sister Yui who would always look out for the boy also fight with him from time to time. She is Kai’s most important person.
And since this is a game project, the narrative needs to ultimately lead to gameplay. I planned three major levels with unique mechanisms with dialogue scenes in between to tell the player what is happenning, where we are and also portray the characters’ personality and relationship.
Kai’s Home
Kai finds out Yui is back as a ghost with a memory loss.
They decide to find out what she forgot.
They need to sneak out without getting caught by parents.
Mom can’t be awake by noise, Dad needs to be distracted from the TV.
Bully’s Home
They decided to spook the boy who made fun of Kai for crying over Yui at school at the boy’s home. (I thought it would be a waste not do something ghostly when we have a ghost character)
They need to lure the bully and spook him step by step.
I did worry if this is too much, a ghost and her brother sneak in another boy’s house and make it “haunted”. But then I thought, just like comedy, sometimes it’s all about the delivery. And the way I viewed this part of the story was something playful and innocent instead of with a malicious intent. These characters are just kids, even the sister, she’s also a child. And kids do kids’ stuff.
Furthermore, I did plan a scene when the bully got jumpscared and they finally shared understandings and vulnerabilities of missing someone. The bully made fun of Kai at school because he saw the same vulnerability in Kai that he shares but hates himself for.(Yes I know psychology)
School
Every level has slightly different ways to playthrough. And I wanted level three to be much bigger, and with more npcs, because… why not? It’s the last level!
So School becomes the perfect place that fits that requirement, big(more content), more npcs(guards), and more thrilling(dark).
Came out from the bully’s home, Yui still has no clue what she forgot about. Kai guessed it’s the teddy bear she gave him that’s in the office at school. He lost it at school but felt embarrassed to admit he was the boy who plays with teddybear when boys around him plays something more boyish. Then they decide to get it back.
Final Scene
After getting back the bear, Yui still couldn’t remember what she forgot. They had to go home.
But it was almost morning and they had to say goodbye.
This scene is all dialogue, they reminisced the time they spent together. And after that, Yui recalls she forgot to say goodbye to Kai and faded away.
The final scene is quite emotional, but it’s tricky when you try to make your audience cry or try to evoke something in them. Sometimes it’s not even about what the characters say that make you empathize with them. It’s how much you’ve been through with them that forms the emotional bond and know what the situation they are in at that point truly means to them. And that takes time. Ever wondered why it’s almost cliché to have a montage of someone’s past during a film? Because it does help the audience to know the character better.
In this game, I tried my best to squeeze in character development elements in the dialogues. And I took control over the pace of the game especially the dialogue. Because emotions take time to absorb. That’s why I did not compensate on the length of the game. If I didn’t add so much in between dialogues and suddenly in the end let them say goodbye to each other, the player could react no more than “there she goes”. I even think the character development is not enough because obviously a small indie game can’t possiblly compare to the emotional build up of a two-hour movie. But this is the closest version I can make.
Level Design
In these three non-dialougue levels, player controls the ghost(Yui). Each level has unique goal, sneak out, lure, retrieve item(get to a certain room).
If Kai(boy) gets seen by an npc, gameover!
Ghost(Yui) cannot be seen. But she can interact with items all across the map to make noises to either distract or lure npcs. Npcs all had different behavioral patterns but will investigate noises close by.
Ghost(Player) Abilities
Walk through walls(doors actually): some doors will alert the npc to investigate. Walk through won’t trigger investigation.
2. Interact with items to distract / attract npcs.
3. Call Kai ( follow mode on/off) : Yui calls Kai from any postion, and Kai comes to Yui unless there’s a locked door. If the door is locked, Yui needs to walk through and unlock it. The follow mode can switch on and off.
4. Ask Kai to hide in the current room he’s in if there’s a hide spot in that room.
5. Ask Kai to knock the door when Kai is near one. It’s another way of attracting the bully boy.
Path Finding Solution
This is one of the key mechanisms of the game. Both Kai and npcs need to either find and move to the player, or a certain place on trigger.
My solution in this game is building a room check system.
Every room has a room script. And all doors have two room check colliders on each side of the door. See image below.
And in every room script, there are connections including all the adjacent rooms.
And in each connection, if it’s not leading to a stair, then there should be a door. By dragging in the correct door script, the two roomcheck colliders can update all characters’ current room. See gif below.
And since each character has their current room, and all the rooms have connections. Any character can move to any room by finding all the connections needed to get there.
Map Design
Scale: Each of the three maps are bigger than the last since I believe it’s natural to gradually crank up the difficulty and playability.
Layout: I also tried to introduce different pathways each map to prevent the game from being dull.
Interactable items: Since the overall map layout is ready, I know where I need to distract the npc to so that player can pass. So all I had to do was to think of something fun to interact in that room where I want the npc to be.(e.g. vending machine in dinning hall)
Arrows are pathways. Stars are interactable items. “N” means npc. “H” means hide spots. “L” means locked doors.
Art
I got the inspiration from FallOut: Shelter. But in that game though it looked 2D but it’s actually 3D which has perspective. I did every thing in complete orthographic view except the floor has tiny bit of perspective but aesthetically it looked alright.
For characters, I think I did a pretty good job on creating the two main characters including the animations. (In Aseprite)
I certainly find them lovable.