Giter Site home page Giter Site logo

axisandallies's Introduction

Axis&Allies

Axis & Allies is a tabletop minatures game I played a lot as a kid. This is my HTML5 tribute to that game: it's animated, multiplayer, completely free, and (I think) a lot of fun, so give it a try! This is probably my largest solo project.

Tech stuff:

  • Pure javascript (both client and server)
  • Multiplayer over the web, with both synchronous and asynchronous gameplay
  • Heavily database-driven: features autosave and instant replays
  • Infrastructure built with Meteor.js, an awesome (and as of writing half-finished) web framework

Controls

  • Draft Phase: Click a unit's name to see its card. Choose your units using the number boxes in the cards.
  • Deploy Phase: Click on the board to deploy a unit; click again to take it back.
  • Movement and Assault Phases: Click a friendly unit to select it, then click an empty hex to move there. Or, right-click an enemy unit to inspect it.
  • Assault Phase: with a unit selected, enemies within attack range will be highlighted. Click an enemy unit to attack.

How to Play

Axis and Allies is a turn-based strategy game for two players. The game is played in rounds, and each round has several phases. At the start of each round, one player is chosen randomly to play first during each phase of that round.

Setup Round

  • Draft Phase: Build an army.
    • Each unit has a cost, and you have 100 points to spend.
  • Deployment Phase: Place your troops.
    • If you are the first player to deploy, you can choose to deploy in the East or West.
    • Each unit must be placed within 3 hexes of your border.

Play Rounds

  • Movement Phase: Move your units.
    • Each unit can move once during your movement phase.
    • Vehicles are slower moving through Forests and Hills, and cannot move through Marsh.
    • No units can move into Ponds.
  • Assault Phase: Attack or move again.
    • Each unit can either attack or move (but not both) during your assault phase.
    • The Attacks table on each unit's card shows the number of attack dice it gets against each unit type. The number of attacks decreases when you attack from farther away.
    • An attack succeeds on a roll of 4+. The number of successes determines the attack's effect:
      • Less than enemy's defense: you missed.
      • Equal to enemy's defense: one hit.
      • Greater than enemy's defense: two hits.
      • Double the enemy's defense: three hits.
    • Hits from multiple attackers are added together.
  • Casualty Phase: Hits from assault phase take effect.
    • 1 hits: Soldiers and vehicles are disrupted. Disruption lasts for 1 turn, preventing movement and weakening attacks (-1 to each die)
    • 2 hits: Soldiers and damaged vehicles are destroyed; undamaged vehicles take damage. Damage is a permanent -1 to movement range and attack rolls.
    • 3 hits: Undamaged vehicles are destroyed. Destroyed units are removed from play.
    • Units in defensive terrain (all units: Towns, Forests, Hills; soldiers only: Marsh, Shell Holes) can take cover, reducing multiple hits to 1.
    • Soldiers have a 50% chance of taking cover. Vehicles have a 33% chance of taking cover.

Victory

  • Once 7 rounds have passed, you can win by controlling the objective. If only you have units on or immediately next to to the objective (the crosshairs), you win!
  • Once 10 rounds have passed, you can also win by military superiority. If you have more points' worth of units still in play than your opponent, you win!

axisandallies's People

Contributors

lmartel avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

axisandallies's Issues

Status

What's the status of this project?

How to setup

Hey,

I've never really done multiplayer stuff in JS that calls to a backend, how would I go about setting this up on my server to test and play around with?

Matt.

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.