Search Unity

Penguin Panic - One Week Challenge - WIP

Discussion in 'Works In Progress - Archive' started by MadRobot, Jun 26, 2012.

  1. MadRobot

    MadRobot

    Joined:
    Jul 12, 2011
    Posts:
    339
    Yesterday I decided to challenge myself. I would give myself 7 days (not necessarily consecutive, due to work) to produce a simple game. I decided to do a variant on the old arcade game Asteroids. After a few itterations of the idea, I came up with this.

    You are a penguin and hungry seals are trying to eat you. Throw snowballs at the seals to make them go away. Survive as long as possible.

    This is a simple game. The purpose of this exercise is to practice scoping a project, and completing a project. Hopefully it will also make a good addition to my portfolio.

    I'm working alone. I can do this on my own, but if anyone wants to jump in, that's cool too. Getting some practice collaborating is always good.

    GDD

    Assets
    1 Penguin
    • Will alter / animate between 2 poses
    • Pose A - standing upright, wings out with discernible nose/beak
    • Pose B - swimming horizontal, wings out, nose/beak pointing in direction of movement

    1 Seal
    • Will alter / animate between 2 poses
    • Pose A - upright, flippers out with discernible nose
    • Pose B - swimming / diving horizontal, flippers in, nose pointing in direction of movement

    1 Snowball

    1 Snowball Impact "Splat" Effect

    1 Level
    • water
    • large blocks of ice floating on the water

    Audio Assets
    1 Background Music - something lighthearted
    1 SFX - "throw snowball"
    1 SFX - "snowball splat"
    1 SFX - "water splash"
    1 SFX - "seal bark"
    1 SFX - "sad sound" (when seal eats penguin)

    Controls
    WASD - standard move fwd/back, rot left/right
    • Player will slide as if on ice.
    • Player has high acceleration, low top speed.
    • Rotation of penguin will not slide (this must be tight and responsive).
    SPACE - throw snowball
    ESC - exits the game and returns to the main menu, during the game
    ESC - exits the 'about' screen and returns to the main menu, while on the 'about' screen

    Game Play
    Player
    • Player turns, moves, throws snowballs at seals.
    • Player may throw up to 2 snowballs at once (with a very short pause between), then there is a 1-2 second 'reload' delay. So the pattern should feel like 'dat dat *pause* dat dat *pause* dat dat'.
    • When snowball hits a seal on the nose, it dives off the ice and swims away immediately
    • When snowball hits a seal elsewhere, the seal changes heading slightly (away from the impact)
    • Player automatically jumps into the water (and goes into 'swim' pose) whenever the player is facing the water, is at the edge of the ice block, and presses forward.
    • Player automatically jump out of the water (and goes into 'upright' pose) whenever the player is facing a cube, is at the edge of the ice block, and presses forward.
    • While in the water, the player cannot throw snowballs.

    Seals
    • Seals travel in a generally straight line across the board.
    • Seals dive off ice and into water when they reach the edge of the ice.
    • Seals jump out of water and onto ice when they reach the edge of the ice.
    • Seals can turn and change direction while in the water (generally towards the player).
    • Seals spawn on the board over time. Initially the board starts with 3 seals on it (+1 for every time the player has cleared the board). After a random delay (and continuing at random intervals) of 5-15 seconds, a new seal will jump out of the water onto the ice. The maximum number of seals that can spawn per level, is the number of seals that started on the level, e.g., at level 1, the board starts with 3 seals on it, and 3 more seals will eventually spawn onto the board.
    • Player wins/defeats a level when all the seals have been chased off. Play then repeats, with the 'level' incremented by 1.

    Score
    • The player starts with 3 lives.
    • If a seal's nose makes contact with the penguin, the player looses a life.
    • Player gains 1 point for every seal that is hit on the nose.

    In-GameGUI
    • Displays number of lives on top left.
    • Displays number of seals evaded on top right.
    • Displays number of fish on bottom left (this is part of the stretch goal)

    Menu System
    Main Screen
    --> Play
    --> About

    Play
    --> goes to game screen and game starts

    About
    --> goes to a credits screen

    Stretch Goals
    Fish - Player gains a 'fish' when player earns 20 points. A fish can be thrown with the F key. A fish is thrown to a random place in the water. All seals on the board will immediately dive in the water to chase the fish. Seals will return to the ice blocks after a short delay of 2-5 seconds (each).
     
    Last edited: Jun 27, 2012
  2. MadRobot

    MadRobot

    Joined:
    Jul 12, 2011
    Posts:
    339
    Day 1 progress

    • Initial prototypes created for the board, penguin, snowball and seals
    • Snowball movement and expiration completed
    • Penguin movement, turning and snowball throwing started (movement needs work, snowball timing isn't finished)
    • Seal movement started.

    I know it's early, but please give feedback, encouragement, suggestions, tips and tricks... Thanks in advance!

    Play PenguinPanic

     
    Last edited: Jun 26, 2012