Battleships

Term P project

What is it?

  • digital version of boardgame

  • 2 player

  • 2 phases

    • Place ships

    • Shoot/Take hits

  • Multiplayer component

Extra features

  • Matchmaking
  • Chat
  • ELO based Rankings and Leaderboard
  • Social LoginĀ 
  • Custom Profile Pictures

Technologies We Used

Redis

  • In Memory Key Value store

  • Stores game state and ship locations

    • Game.rb -> Wrapper class around Redis

  • Stores Leaderboards

  • Caching

  • Heroku : RedisToGo

Phaser

  • HTML5 Game Engine

  • Uses WebGL where possible

  • Drawn on Canvas

  • Very fast and popular

Lessons Learned

  • Rails Asset Pipeline

    • Use built in helpers like asset_path

  • Use Github Pull Requests

  • Heroku debugging

    • Use rails console remotely

  • DRY

    • Leaderboard Gem

    • Devise + OmniAuth

    • Paperclip

    • Countries Gem

    • Phaser

Made with Slides.com