Okeanos is a work-in-progress prototype.
You gather fish into a school that gets eaten by a bigger fish at the end of each level. the fish you’ve gathered become your ammo stock for launching pachinko balls at the next level.
Fish
Trail of bubbles to indicate PC fish
Big whale shark comes from the side and eats you to transport to the next board.
Big turtle, you ride its shell, could function like a water current.
Seaweed forests.
Coral reef with eels that come out and grab you. How to make eels interesting? Go to one side a long distance, potentially go to the other side the same distance, go to both sides a shorter distance. Could do any of those three moves, unpredictable.
Electric eels
flounders
sting rays, could fly on sting rays.
Sharks are enemies
Tuna are bigger fish
squid
pelican
lobsters
puffer fish
Whirlpool
jelly fish
seals
otters
Clams
When you die, a lot of other fish come in from off-screen and eat the PC, causing it to dissolve and become bones.
water currents that transport you quickly, maybe laterally?
Grants 1 free hit. If colliding with an enemy would normally kill you, kill the enemy, grant the player experience.
Could prototype by simply granting 1 free level.
May be able to implement by swapping out component handling the player colliding with enemies for a shield component. Both of these components would have methods that receive HandleCollision messages. See: file://localhost/Applications/Unity/Documentation/ScriptReference/GameObject.SendMessage.html
Grants 1 free level.
To finish up
- [X] Test level up system - First pass
- [X] Separate Scene for Big Baddie fight.
- [X] Implement Big Baddie
- (requires player to be level 3 to kill, starts at enemyLevel 1, instead of being destroyed gains levels upon hits, if enemyLevel 3 and hit then dies.)
- [X] End state for game.
- [X] Winning
- It’s just a basic gameover with a restart button
- [X] Winning
- [X] Opening
- [X] Loop winning and Gameover back to opening via Start Over button.
- [-] Implement transition between scenes
- GameManager?
- [ ] Public facing getters and setters, keep variables private.
- [X] Saving and loading state.
- http://docs.unity3d.com/ScriptReference/PlayerPrefs.html?
- How to store a Vector3 using PlayerPrefs, may not be the best
- http://wiki.unity3d.com/index.php?title=ArrayPrefs
- http://answers.unity3d.com/questions/27973/idiots-guide-to-player-prefs.html
- http://wiki.unity3d.com/index.php/ArrayPrefs2
- http://www.previewlabs.com/writing-playerprefs-fast/
- http://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/persistence-data-saving-loading
- [X] Clean up git.
- [X] Refactor code to use GameManager.
- [X] Display Score, Level, Exp
- [ ] Main theme upbeat, lively, boppy, sort of like zelda overworld
theme.
- [ ] Placeholder music in
- [ ] Opening music sort of like Chrono Trigger, sounds of waves
(noise synths) fading into subdued theme.
- Try Operator/Effects/Wind Machine
- 2 tracks, one for crash and the other for whoosh of waves leaving.
- [-] SFX
- [X] Hitting enemy.
- [X] Hitting big enemy.
- [ ] Enemy death.
- [ ] Scene transition
- [ ] Player Death.
- [X] license
- [X] add Ideas to .gitignore
- [-] Enemy death animation via a delegate function that controls
movement in the Update method.
- Spin the enemy while moving it off the bottom of the screen.
- [X] Add a flash to white effect with a shader.
- [X] Add shader to Boss, as well.
- [X] Freeze the game for 20 ms so there’s some weight to the
collision. Added bonus of letting the sound of the hit play out.
- Write a Sleep function for the GameController that uses Time.timeScale to pause the game for a few ms.
- Some sort of explosion?
- [ ] Enemy death animation
- [X] More bass in the hit sounds.
- [X] Pop up with exp gained when enemies are killed
- [X] Dynamic PC placement by clicking.
- [-] Animate fish when it spawns so it’s clear there was some
interaction by the player. (Don’t think we need this now that the
fish is visible on screen prior to spawning).
- [X] Have the PC fade-in when spawned?
- [ ] Ripple effect? http://entitycrisis.blogspot.com/2011/02/ripple-shader.html
- [X] Refactor Player class to be PC to reflect the fact that if this
thang is Pachinko-like, the player will be able to spawn multiple
PCs with clicks.
- PCSpawner singleton?
- [X] Refactor Big Enemy class to Boss.
- [X] Rename the prefabs and instances to reflect that they are Boss.
- [X] Refactor Destroying things to take advantage of the second
parameter to Destroy, destroy
t
seconds from now. - [X] Enemies contained in some empty parent gameobject to clean up the scenes.
- [ ] scale buttons to screen size
- [X] Dynamic enemy placement.
- [X] Add XY limit strata data to LevelController
- [X] Add an intermediary LevelController to control the number of enemy prefab instances to spawn.
- [X] Add a number of enemies to spawn to the LevelController
- [X] Put the LevelController in the Level01 Scene and test it.
- [ ] Refactor player controller script to include player bump controller script to handle combat same with enemies
- [ ] Winning screen
- [-] Orbs floating around big baddie to communicate required
hits-to-kill remaining. (i.e. if the baddie starts at enemyLevel 1
and requires enemyLevel 3 to be killed, 3 orbs counting down with
each hit.)
- http://www.helixsoft.nl/articles/circle/sincos.htm
- http://unitygems.com/basic-ai-space-shooter/
- [X] For now do it the easy way, stup.
- [-] HitCounterController Script attached to empty gameobject
- [X] Has a HitCounter prefab
- [ ] Receive message from BigBaddie to spawn number of HitCounters
transform.RotateAround
will probably be helpful.
- [X] Store a list of HitCounters in order (clockwise or counterclockwise).
- [X] Receive message from BigBaddie to destroy HitCounter
- [X] Add a real sprite.
- [ ] Screenshake when the player dies
- [ ] Change winning and gameover from scenes to a simple overlay
script attached to the GameManager script that activates at the
right time to show the score.
- [ ] use modal dialog to display score so the background scene remains on the screen.
- May be as simple as adding UI stuff to a layer on top of everything else?
- [ ] Gameover Animation
- When you die, a lot of other fish come in from off-screen and eat the PC, causing it to dissolve and become bones.
- [ ] Add V0.2 tag / milestone
- [ ] Level02 hardcodes PC instance and position: Level02 assumes the player will be a typical PC fish that is already moving and is not an instance of the prefab PC. That is to say, it’s not the same instance as the spawned fish in the previous scene. It’s got the same stats though thanks to the GameController.
- [ ] Background