Skip to content

zerosalife/okeanos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Okeanos

Okeanos is a work-in-progress prototype.

Design Notes

Theme

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.

Cool fish design reference

Terrain

water currents that transport you quickly, maybe laterally?

Power ups

Shield

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

Weapon

Grants 1 free level.

First Prototype

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] Opening
    • [X] Loop winning and Gameover back to opening via Start Over button.
  • [-] Implement transition between scenes
  • [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] 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

Packages

No packages published