Echo
Felix Lettowsky
Echo takes you to the depts of the ocean in a submarine. You are in the dark and only your echolot provides you with a brief glimpse of your surroundings. Firing the echolot accelerates you and you must make sure not to collide with your surroundings. You explore a proceduraly generated world hunting for fuel, oxygen and treasure.
The game will be built using Unity 2D. The goal this semester is to build an aesthetically pleasing prototype in which the basic gameplay elements work.
Milestone 1 (04.10)
- Set up project in Unity (2/5h)
- Create basic artwork (or placeholder) for submarine (3/2h)
- (Bonus: Put character into game 3h)
- (Bonus: Implement basic movement 6h)
- add velocity to click direction (3h)
- rotate submarine to moving direction (3h)
The milestones could be reached including the optional ones. The submarine gets accelerated towards the direction of a mouse click and rotates smoothly towards its movement direction. The accelleration is limited to e.g. two impulses per second.
Milestone 2 (18.10)
- Add arrow indicating next movement direction (2/3h)
- Limit acceleration to a cone in front of the submarine (6/4h)
- (Bonus: Have a collision object)
The required milestones could be reached. The submarine can go in different directions in a limited cone. The directions are indicated by a rotating arrow that follows the direction of the mouse pointer.
Milestone 3 (01.11.)
- Make Build and source code accessible (2/1h)
- Implement collision object that ends game on collision (6/6h)
A build for MacOS is accessible via https://drive.google.com/drive/folders/1bAzSaXwdrCWr1sy33pse-jmGVQq47LUx
The Source code is accessible via https://github.com/hackertyper/echo in a private Repository.
A generic square object to collide with was added. On collision it resets the game to its original state. This furthermore happens on pressing the "R"-key.
Milestone 4 (14.11.)
- Create and publish a web build (3/2h)
- Research a way to make objects light up in a path starting from the sub (5/5h)
A build for Windows can be accessed via https://drive.google.com/file/d/1uhVB_Es6KmEeqkKf66--NnzS4X1XoRfS/view?usp=share_link. A WebGL build can be accessed via https://kodu.ut.ee/~felixjak/.
The objects lighting up are supposed to work the following way: On click the submarine will shoot an object as a projectile. The projectile will have a light attached to it and will be destroyed on hitting a wall. On destruction a fadeout will happen, so that the obstacle is briefly lit up. In order to do this the URP Rendering pipeline will be utilized.
Milestone 5 (13.12.)
- Implement the sonar according to the previous description, lighting up obstacles it hits (7h)
A WebGL build can be accessed via https://kodu.ut.ee/~felixjak/.
The sonar was implemented using a white blurry quarter circle that always stays on the submarine. On default it has scale 0 in order to not be visible. On click the circle gets scaled up over time giving the illusion of a directed wave of light. At z=0 the collision object stay. The submarine is at z=1 and the background at z=2. This causes the background to get lit up while the collision objects in the foreground remain dark. Additionally a faint glow is added to the front of the submarine.
For the final presentation the level was reworked to feature the gameplay elements better. A collectible item to slow down to almost a standstill was introduced.