4 week project

Brief introduction

To start the 4 week project, I was wondering to make something like Room Escape games(such as the Cube Escape), and the memory of my childhood that I used to seek things and hide them during my summer holiday when I stayed at home alone and my parents all went to work comes with me. Thus I make it to seek things and hide them in former state in the house. It has 30 levels corresponded to a 30-day summer holiday, players can do homework, read comic books, play video games, watch TV, have some snacks while parents are out at work. But they will check your homework and the stock of snacks, so players have to make balance between entertainment and study, otherwise it will comes with bad end.


- Theme: simulate a home-stay summer holiday 

- Concept: seek and hide objects, select event trigger

- System: click and drag objects, variable counting



Flowchart 



Flowchart 1

Flowchart2

The former one is what I prepare before creating the game, and the latest one is the final version that make the process better. 

Players are able to seek objects and trigger 2 events in a day, then jump into the afternoon time to hide objects and parents(NPC) will back and check if all the objects are hide well. Every time trigger event doing homework add 0.5 to the Homework variable,event having snacks triggers to 0.5 minus in Snacks variable. What’s more, homework will be checked every 5days and snacks every 10 days. If Homework is less than 60% or Snacks is less than 30% , it will call to bad ending. If Homework is more than 60%, Snacks will be add 5 as rewards. Only if make it through 30 levels successfully, it will call to happy ending and even perfect ending for those finishing more than 80% homework(80% included) and holding at least 2/3 snacks(2/3 included).



Plot setting

I use Unity3d and Fungus to create this game. Fungus is really useful to make text adventure like games and those having lots dialogue, the most important is that you don’t need to write scripts to control the flow. 

As the picture shows, I separated the plot into different blocks. The game is started in the block day1 ,the block living room and bedroom are used for view changing, and block hide time is to hide objects and set counting timer. Judgement block is used to check if every object hides well and check block to calculate variables of Homework and Snacks. To change the level, using day change block.(Sorry that I didn’t link all the blocks well so far...)



Variable settings 



Here shows the variable settings in the start of game. The integer variable Day is used to counting days(levels)in the game, and float variable Homework and Snacks counting how many homework has done and how many snacks left.

Boolean isAfternoon will set as true when player already select 2 events and jump to hide time block then change the scene into afternoon version, Boolean isEvening will set as true when player make it through in block judgement and change to evening scene.

When players find TV controller, they may not use it and trigger event watching TV by clicking TV controller, so I make Boolean isTVon to confirm the state of TV. If player click TV controller, isTVon set as true.

The flowing Boolean variables (____ok) are used to confirm whether the finding objects hides well. Once they are being found, the correspond variable set as false, if they finally hide in right place, then the variable will set back to true. 

Boolean isLocked is very important that I’d like to demonstrate it in next part problem solving.



Game scenes

I design 2 scenes in the project, a bedroom and a living room.These scenes are already made and I add some interactive objects in it.

In the following pictures, I show all the interactive objects in scenes. The red lines display how to find the objects while the green lines display in hiding ways, and the blue one is that I make it clickable but empty inside.

Scene of living room

Scene of bedroom



Problems solving

Other object may be clicked while clicking text box to jump the dialogue.

- Using Boolean variable isLocked. If player click an interactive object, set isLocked as true, and set all interactive objects being able to trigger events only if isLocked is false. When the current event finished, set isLocked as false.


Some interactive objects are unable to click twice.

- I set the interactive objects as clickable 2D object but found them were not clickable once they are being clicked.(Maybe bug?) So I set the clickable 2D property to active after being clicked.


Some interactive objects are both clickable 2D object and draggable 2D object, that may cause chaos during events triggering.(not able to be draggable)

- After analyzing the plot, the draggable 2D objects are used in hide time block, so I set their draggable 2D property as false as original state. When jumping to the hide time block to hide objects, set clickable 2D property as false and draggable 2D property as true.

- Remember to set these property back.(I reset them at the end of the block.)



Something for improvement ...

I think the interactive could be found more area in random ways, in this project the interactive objects are only able to be found in given position, like the TV controller, the game console, the comic books, etc.

What’s more, needing more interactive area to hiding objects.


Comments

Popular posts from this blog

Live2D Model Video

Gameplay of The Sister's

About myself