Code Monkey home page Code Monkey logo

galcon's Introduction

Gameplay

My idea is to make this a turned-based multiplayer strategy game with advancement ideas. Below are the most up-to-date thoughts on how the game will work.

Turn-based

  • No real-time. Players move in succession.
  • All moves are captured and executed at round end, which is when all players have moved.

Multiplayer

  • No single player mode.
  • To spread adoption as wide as possible, it needs to be as EASY as possible to invite new players and to start games with existing ones.

Advancement

  • Should be a well thought-out advancement strategy.
  • Every victory earns you XP. You get more XP from beating higher ranked opponents.
  • Capturing unique planets in a game earns you xp.
  • Get enough XP to unlock a new level, which adds a new technique/element to the game.
  • When you play against another player, the game will be played at the min level of all players.
  • Players can pay to unlock levels if they choose. Maybe don't allow people to buy into the upper-most levels?
  • Bonus XP for achievements

1.0 - Targeted Features

  1. XP/rank system
  2. Dynamic XP based upon opponent rank
  3. Gain XP per victory and per planet taken
  4. Levels system and selection with UI on game creation - Different galaxies are opened for each group of ranks that you reach
  5. Small world - 1-5
  6. Large world - 5-10
  7. Speed ability planet - 10-15
  8. Defense ability planet - 16-20
  9. Attack ability planet - 21-25
  10. Block regen ability planet - 26-30
  11. Multiple home worlds - 31-35
  12. Hold or harvest - 36-40
  13. Leaderboards
  14. Global ranking formula
  15. Friends rank?
  16. Social Leaderboard
  17. Coins for playing
  18. XX of free coins for every day you login
  19. Special coin planets appear in 2% of games?
  20. Random daily/hourly specials on coin purchases?
  21. In-app payment system for coins and ad-removal
  22. Display ads to remove time spent on countdown to new coins
  23. Social - Invite through:
  24. Facebook
  25. Google+
  26. Post to twitter
  27. Admin UI
  28. Join screen redo - Basic player matching system
  29. Game screen enhancements
  30. New ship selection dialog with slider to select # of ships
  31. Move bar - Show all moves in progress, with touch to highlight move on screen
  32. Show users battle results on round end
  33. Security
  34. Heroku scaling? How many users do we expect to fit on a node.
  35. Graceful error handling
  36. iOS?
  37. Tutorial
  38. Application configuration

1.1 - Targeted Features

  1. Additional level types
  2. Asteroid belt world
  3. Black hole (dynamic speed) world
  4. Achievements
  5. First Blood - Play your first game
  6. Comeback King - Come back from being so far behind in a game to win it
  7. Win x games games (Can be multiple, 5,10,30 etc)
  8. Play x games games
  9. Speed Demon - Win a game while holding a speed ability
  10. Win a game by holding ALL planets
  11. Win a game in under x amount of time
  12. David vs Goliath - Beat an opponent of a higher rank
  13. Sounds (and music?)

Heroku

API

Versions

V0.01

  • Basic Game setup.
  • Ability to create a new game.
  • Ability to join an existing game.
  • Ability to make a move within a game.

V0.02

  • Ranking concept introduced.
  • Notification system.
  • Multiple levels to play.

V0.03

  • Graphics improved
  • Animation for moves
  • Remove second player advantage
  • Display Moves in progress
  • Allow update/delete of current moves

V0.04

  • Simultaneous moves in a round
  • Animation for attacks
  • Drag for move buttons
  • Select a move to show from and to planet
  • New slider based move dialog
  • Level select screen
  • Matching system for new games
  • Performance improvments for rendering
  • Introduction of scene 2D for menu systems
  • Now working out attack/defence multipliers before applying moves

galcon's People

Contributors

conormullen avatar piguy79 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

galcon's Issues

Clean up old games

We need a process to clean up old games in the DB that are lying around after a certain timeout period has elapsed.

Ability to perform a move

The /performMove route needs to be able to accept a move [Single fromPlanet and toPlanet is fine for now.]. This move should be stored in the db under currentMoves. Work on logic.....

Achievement: comeback king

Should trigger this when a user comes back from having only a single planet while the opponent has many planets

Client background service to detect turn

A background process should run to detect when it is the current user's move. Integrate this with the android notification center. Dependent on ping method being added.

Change names of games/users

On the join game screen the game names should be more descriptive. It should tell you who you're playing against and what time the game was started

Add 'ping' method to server

To cut down on traffic, the client will frequently "ping" the server to figure out if the gameboard has been updated and if it's their turn. A ping method should return a simple true/false response. Upon true, the client can then use findGameById() to get the full gameboard.

Run on phone

Get a build up and running on the phone with android client connection implementations

Better USER name.

On Android we should be able to use the AccountManager class. I think this is important for V0.1 as it will be confusing without it to test.

For the Desktop we can come up with something else for testing.

Heroku Deployment

Since the movement of the folder structure the heroku deployment is messed up.

Attack strategy: Flank

I'm thinking we can give bonuses and acheivements to people who use advanced strategies. One example: if you send ships from 2 planets which arrive at the target planet at the same turn, you get a 10% attack bonus.

Mark 2 planets for users

Currently, the 2nd user planet isn't assigned until that player joins. This could lead to the first player making a bad move for the first turn.

Only allow 2 people to play a game

The join screen needs to be enhanced to only show games which have 1 current player. The simple implementation of this will introduce concurrency issues though, fine for now

Warp speed

Introduce a concept of a speed boost. Possibly awarded for capturing a certain planet or by buying it for a set number of rounds.

Cut regen rate of unowned planets in order to encourage takeover

Right now, planets with a large regen rate become impossible to conquer. It doesn't become worth the cost of attaining them, especially as the number of rounds gets higher. To encourage takeover, we should cut the regen rate down to a couple until someone owns it

Handle connection issues

Need a good way to handle the typical Android situations where connections either aren't available or give errors and display this information to the user in a nice way.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.