Thursday, September 5, 2013

Space Adventure Design Challenge Part 3 (Program To do List)

To develop this game I'm going need to program in certain features in a certain order


  1. Randomly generate map
    • Map Size based on variables
    • Ratio of Desert/Mountains Constant on different map sizes
    • clear area of desert near each players home square
    • always 3 oil rigs
    • map build containing custom node class holding all info needed for each tile (Type, is visible, is build on, etc)
    • When placing prefabs on nodes randomly select desert tiles and rotate them and calculate how to connect mountain tiles
  2. Touch controls
    • Detect Tap to bring up contextual orders menu on tiles (Plus taps for buttons etc)
    • Detect Drag to move map view around
    • Detect Swipe to rotate map 90 degrees
    • Detect Pinch to zoom map in and out
  3. Add advanced tile features
    • add tile visibility particle effects with a function in code to remove
    • add pipe building effects and pipe prefabs (select tile to build pipe on, select output)  
      • In final build players may only be able to build on the square they are currently on or may be able to build on adjacent, visible squares
      • pipes will need to select prefabs to use in the same way mountains do
  4. Add avatar functionality
    • use mecanim to create an avatar that can walk and turn left and right
    • use A* algorithm to allow players to move further than just adjacent square.
    • create function that moves player to target node
  5. Add Context menu
    • When player taps a square opens that squares context menu
    • if (square < visible && player Is adjacent && AP > 1) Then show open to make square visible
    • if (estimated move cost (using A*) < AP) Show option to move to square
    • if (player is on square && ((AP>1 && Type = Desert) || (AP >2 && Type = Mountain))) Show option to build pipe
    • These options call the functions created in steps 3 and 4
  6. Add game turn logic
    • create custom class to control players score/AP/location etc
    • add gui button for end turn
      • when turn ends make current player inactive and activate next player
      • when a player becomes active check if they can score and set all actions relative to that players information
      • possibly auto rotate camera to each players default?
    • add gui textures in each corner to show each players score
    • add win logic (check if player has 'x' points after checking if they can score that turn
  7. GAME STATE COMPLETE
  8. Create a full screen gui texture (with stretchable borders and a tile-able background)
    • Add about screen and play button and Title
    • Add a settings page after play button so players can choose a color for their avatar and set the map size and points to win

No comments:

Post a Comment