Sticky Ball Game
Shumpei Morimoto
The gameplay of Sticky Ball Game
Goal of the project
Create a sticky ball game using Unity.
What is Sticky Ball Game?
This game idea is from a Japanese game called "Katamari Damacy," and I will implement this game. The goal of this game is to create a big sphere as possible in a limited time. You roll a ball and stick an object that is generated through the field. You can stick any object in the field, but you have to make the ball bigger to stick a large object.
Foreseen difficulties
- Using Unity to create the game.
- Create a field and generate an object in the created field.
- Sticking objects to the ball and roll the ball with stuck objects.
Milestone 1 (05.03)
- Watch a tutorial video and set up a Unity environment to make the game.
- Create a simple ball object in Unity.
Optional:
- Create a simple ground and roll a ball on that field with a camera following the ball.
Progress
- Created simple ground and simple sphere.
- Control the sphere with keyboard input. I used Addforce to roll the sphere.
- A camera following the sphere.
The camera only follows the sphere in one direction and cannot see the other direction. Also, when we control the sphere, an inertia force is generated, so it is inconvenient to control the sphere.
Milestone 2 (19.03)
Change the movement of the controlling sphere to make it easy to control.
- Experiment with sphere movement.
- Roll the sphere with constant velocity.
Control the camera behavior and change the sphere movement from the camera direction.
- Enable the camera to move from keyboard or mouse inputs.
- Sphere will move referred from the camera direction.
Optional:
Spawn items and stick to the sphere.
- Add some items on the field and stick those items to the rolling sphere. We won't add collision detection for this stuck item at this point.
- Find some assets about items and import them.
Progress
- Enable to rotate the camera following the ball from the input of the XBOX controller. (3h)
- Ball is now moving forward in the direction of the following camera. (4h)
- Changed ball movement so that it is easier to control the ball. (1h)
- Added some objects on the field to experiment with the movement of the ball. (0.5h)
The ball is now moving with a constant velocity and when you stop moving forward, the ball will stop faster. For this time, I didn't consider the gravity and the behavior of the ball in the air.
Milestone 3 (09.04)
- Add a function of sticking items to the rolling ball. (4h)
- Add collision detection to the stuck item. (4h)
Optional:
- Add behavior of the ball climbing walls.
- Find some assets for items and textures to use for the field and create a field for the final game.
No progress
Milestone 4 (23.04)
- Add a function of sticking items to the rolling ball. (6h)
- Add collision detection to the stuck item. (2h)
- Find some assets for items and textures to use for the field and create a field for the final game.
Optional:
- Add behavior of the ball climbing walls.
Progress
- Ball now can pick up items in the field that has "item" tags.
- Imported useful assets to create a game field from the assets store.
When the ball hits an item, the rigid body and collider of the item are removed and the parent of it will be the ball.
Useful assets to create a game field.
- Fruit objects(free) (https://assetstore.unity.com/packages/3d/food-pack-3d-microgames-add-ons-163295)
- Wood patterns(free) (https://assetstore.unity.com/packages/2d/textures-materials/wood/wood-pattern-material-170794)
- Tree, road, and buildings (free) (https://assetstore.unity.com/packages/3d/environments/urban/low-poly-city-from-viuletti-132536#content)
- Toy objects (https://assetstore.unity.com/packages/3d/props/3d-collection-of-toys-113302#content)
Milestone 5 (07.05)
- Change the camera behavior as the ball gets bigger. (2h)
- Experiment with the way of sticking items to the ball and the growth rate of the ball.(2h)
- Limit the pickupable item from the current ball size. When the ball gets bigger, it can pick up bigger items. (3h)
- Add UI to show the size of the ball. (1.5h)
Optional:
- Create a trial game field.
- Add sounds during the gameplay.
Progress
- Now the main camera takes distance referred from the size of the ball.
- The size of the ball will always be shown in the left top corner of the screen.
- When a wall or object obstructs the camera sight, it will disappear and the camera will always show the ball.
- Limit the stackable item from the ball size.
The ball now only pickups item that is smaller than the balls sphere collider radius. If the ball is smaller than the item, the item will refuse the ball to stick.
Milestone 6 (21.05)
- Create a Final game field and add all kinds of items. (3h)
- Add sounds during the gameplay and when it picks an item. (2h)
- Make the ball movement more smooth. (2h)
- Add time for the gameplay. (1h)
Progress
- Added sound and music while playing
- Modified the movement of the ball. Now when the is in the air, it falls faster.
- Added time for the gameplay.
- Added title screen, start button, and restart button.
- Created the game field. It has a room stage and an outside stage.
- Added new items to stick. (Office supplies, billiard balls, cactus, books...)
I will add more items so that the game will be more better.
You can play the Sticky Ball game on https://shumpeimorimoto.github.io/unitygame/ You will need an xbox controller to play the game.