Christmas Eve
2017.10-2017.12
Project Overview
This is a 6-week game design group project. During the six weeks' brainstorming, coding and testing, Simin Gu, Xiaowei Lu and I have faced a lot of difficulties. Fortunately, with the help of Ramsey Nasser(http://nas.sr/), we finally came cross them and make this game possible.
During the iterations, I was responsible for gift-counting function, responding system and building main mechanics of player, which include pickup gifts, deliver and drop them to correct places.
We did several user tests when brainstorming game mechanics and rules, three times of user tests on function-building and UI-polishing. Based on the feedback, we made six prototypes, each with some improvements.
Design process
BRAINSTORMING
Since we all want this game to be both entertainment and strategy-based, we came up with three main proposals: Christmas, Collecting game and Shooting game.
Based on game demos we made for this project, we designed our narrative story of this game:
It’s Christmas Eve and Santa supposed to send presents to each house correctly; but the gifts were left all over the village randomly, and elves keep coming create a disturbance. Santa should send gifts correctly before Christmas, and throw candies to elves who disturb him.
MIND MAP
Story board
prototypes(6) and play tests(3)
Prototype 1:
Setting up the world, add first person moving and shooting
In the first prototype, we used assets from Unity Assets Store to build the environment in the game. We added FPS controller for players to control the character, they can also control the camera by moving mouse around. When building the first prototype, we also added shooting function in the world using Christmas candies as bullets to help to build the feeling of Christmas.
Play test #1
Testing Date: Dec. 5th | Player Amount: 14
Iteration:
- Change the camera controller from moving mouse to clicking right button of the mouse.
- Add player instructor and tips in the beginning using GUI.
Feedback:
- Camera is too dizzy, maybe should change the controller of the camera.
- There is no instructor and tips in the beginning which make people confused about how to play and control the character.
- Candy bullet is great, but looks like just animations. Wish they can actually hit the Christmas trees and rebound.
- Whole scene is beautiful and great, created a christmas feeling.
Prototype 2:
Add Spawner and monsters' movement
We used spawner to create the monsters in random time. Also, we created the monsters in a circle movement. In order to make the monsters more vivid, we added animations to the monsters' movement. When the distance between monster and player is less than a specific number, monsters will do the attack animation and running toward to the player.
Prototype 3:
Add pick-up and drop gifts function
I added gifts in different colors in the world randomly for players to pick up. After a player picked up a gift, an icon of the gift will be shown on the bottom of the screen; after delivered a gift to a house, icon of that gift on the screen will also disappear. A simple UI score board was also added on the bottom corner of the screen to show how many gifts have been picked up and delivered. In order to make this game more difficult, we divided gifts into several different colors for players to match with houses.
Play test #2
Testing Date: Dec. 14th | Player Amount: 5
Iteration:
- Add icon for each house to make it clearer.
- Add sound interaction for both monsters and players.
- Add code to decide whether users have delivered gifts correctly or not.
- Create a mini-map to guide player.
- Change the frequency of the monsters to lower down the difficulty
Feedback:
- There is no sign for each house which make people confused about whether did they delivered gifts correctly.
- Should add some sound when hit the monsters or shooting. It would be great if player can know exactly which house to put the specific gift in.
- Hard to remember the whole route of the houses. Should add a mini-map to help.
- Monsters are coming out too often, too easy to die.
Prototype 4:
match gifts with houses, set up mini-map
In prototype version 4, I made each house a Christmas socks to match with different gifts. I also changed function of dropping a gift from clicking the screen to clicking the icon. We polished the rule of our game in this prototype to make it more logic and easy to understand. In this new version, each house have a sock hanging on the door, players need to deliver gift with the same color to the house to score; when the color match, there will be a bell sound and player get a point; if a gift with different color was delivered on the front door, there will be no response and no sound. To create a better play experience, we set up a mini-map to help players to remember the route and recognize which house has already got a gift.
Prototype 5:
sound effect, BGM, Timer and extra Lives
In this prototype, we added sound effect for each game object.
Player: Footstep sound, shooting sound, smile sound (Collect the gifts)
Monsters: Sound effect when being shot.
World: Background Music .
Gift: Have sound when correctly delivered a gift.
We also added timer and extra lives icon on the screen using GUI.
Prototype 6:
Combine, polish and debug
In the final prototype, we created game start, instructor, pause, game over and winning scenes; we also combined these scenes to make the game as a whole. When combining different functions, we found a lot of mistakes and problems, though debugging is miserable, we did enjoy ourselves in this process and finally make this game possible.
Play test #3
Testing Date: Dec. 18th | Player Amount: 4
Iteration:
- Enlarge font size in instructor and make it as simple as we can.
- Change the number of gifts player can collect at a time to 3.
Feedback:
- Font size of rules and instructions in the beginning are too small
- Too much instructions(but are all necessary...)
- A little bit simple to collect just one gift at a time
- Great sound interaction!
Iterations of functions overview
Monster
- Try create cubes with spawner:
- Change the wait time and spawn Max/Min time to find out the proper time limit for monsters. Test the number of the random element in order to fit the environment.
- Change the cube to the monster:
- Replace the cube with the monster we found in assets store and add animations to monsters.
- Add the target to monsters:
- Add target to monsters in their movement so that whenever the distance between the target and a monster is less than the attack range, we would have monsters running towards player and attack.
Gifts
- Pickup:
- Collide to pick up gifts (tester always collect gifts by clicking them so we think it would be great to change it to mouse control)
- Mouse click to pick up and drag gifts (didn’t use this because the cursor axis is 2d but our entire game is 3d, 2d controlling seems lack of precision)
- Collide to pick up (we use mouse left click to drop gifts by clicking buttons)
- Drop:
- Click button and follow cursor to the house (give up because differences between 2d axis and 3d axis)
- Click button to transform gifts to in front of the player
- Match:
- Gift match with the room (found out there is no sign for letting players know whether it is correct)
- Measure the distance between gift and house, once it within certain distance, set active false
- Goal counter:
- Counter number of gifts player has collected and name of those gifts (found out match house with gifts by name is too hard and hard to present on mini-map)
- Match gift and house by color, counter number of the gifts that has been collected (found out we actually should count the number of gifts that has been delivered correctly)
- Count the score every time when a gift is correctly delivered, show the number of all of the games at the same time.
Shooting
- Press to shoot: 'F' to MouseLeft to 'F'
- In the beginning we use mouse to control the direction of player's view, so we use keyCode “f” to fire. But according to the feedback of play test, players complained that the mouse to change the view will make them dizzy, so we began to use right mouse to control the direction of view and use left mouse to fire.
- Found it’s not convenient to use left mouse to fire and right mouse to control the direction of view at the same time. So we change the trigger to keyCode “again”.
- Bullet
- Tried to use gravity to make it more simulated to real world. Then we find the ballistic trajectory made player difficult to target the enemy. So we use mesh collider making it rebound to other objects and canceled the gravity .
UI
- Lives : Health bar to hearts
- We have 2 health bars in the beginning one represent the health of enemy which is stick on the enemy and the other is on the canvas represent the health of the player. Then we find enemy health bar just make the canvas looks messed so we deleted it.
- The health bar of player was a little confusing because it takes time for players to read the amount of left blood on the bar. So we use hearts to represent the lives of players.
- Timer : Digital Time counter to Time circle to Time circle + Time count
- We use time count test in the beginning and find it takes time to read and looks ugly. Then we set a time circle to represent time counter. In the final version we use both digital time counter and time circle to represent time.
- Mini-Map: Spotlight to icon
- In the earlier version of prototype we use spotlight sticking on the player to show the location of the player on the map. And then we learnt we can use icon to represent the location of player on the mini-map by hidden the level of the mini-map camera. Them we used the same function to add the location of house on the map using color spot(sphere).
- Scene Management
- Adding pause function: By clicking pause button, players can restart or quit the game.
- Rule interface
Video of play test
© 2018 TIANYUE WU ALL RIGHTS RESERVED