MtrAgotBgOnline

Basics

Turn Order

  1. Event Card Phase (skipped first turn.)
    1. Reveal each event card type one at a time and resolve its text
    2. Increment wildlings counter
  2. Planning Phase
    1. All Players Assign Orders (simultaneously)
      1. Orders are issued one per occupied land
      2. Orders are issused face down
    2. All Players Reveal Orders (simultaneously)
    3. Raven-controlling player may change one of their orders.
  3. Action Phase
    1. Resolve raids (in Iron Throne order)
    2. Resolve marches
      1. One march per player per turn
      2. Resolved in round round, based on Iron Throne order
      3. Establish control when leaving area.
      4. Resolve Battle
  4. Battle
    1. Call for support
    2. Announce combat strength
    3. Select House card (simultaneously, hidden)
    4. Reveal House card (simultaneously)
    5. Resolve combat
      1. Compare overall combat strength
      2. Allow player to use Valyrian Steel (only one combat per turn)
      3. Ties are broken by Fiefdom rank
      4. Combat swords (winner swords - loser castles)
      5. Allow loser to choose casulties.
      6. Loser routs surviving units to an adjacent vacant or allied land.
        1. Note: all surviving units must go to the same land.
        2. Note: rout paths include boats.
    6. Discard used house cards.
      1. Pick up all cards if no cards are left in your hand
  5. Resolve Consolidate Power orders

Game Objects

A game session is...

GameSessionObject
    Name:String (name of a game, e.g. "Matt's AGOT")
    Players:List<PlayerObject> (a list of all playing players)
    WildingsTrack:Int (min 0, max 6)
    SupplyTrack:Map<Int,PlayerObject> (key matters, key == rank)
    ThroneTrack:List<PlayerObject> (order matters)
    FiefdomsTrack:List<PlayerObject> (order matters)
    CourtTrack:List<PlayerObject> (order matters)
    CurrentTurn:Int (min: 1, max 10)

end GameSessionObject

Game type objects represent the high level variants

GameTypeObject
    Name:String
    PlayerMin:Int
    PlayerMax:Int
    AvailableHouses:List<HouseObject>
end GameTypeObject

A player object represents an instance of a player in a game session.

PlayerObject
    Name:String
    PlayingHouse:Ref<HouseObject>
    PowerAmount:Int
    HasRaven:Function (checks GameSessionObject for position on CourtTrack)
end PlayerObject

A house object defines the the various houses in AGOT

HouseObject
    Name:String
    StartingRules:Ref<StartSettings> (linked by HouseObject.Name)
end HouseObject

Army cards objects are a representation of each army card for each house.

ArmyCardsObject
    Name:String
    House:Ref<HouseObject>
    CombatStr:Int
    NumCastles:Int
    NumSwords:Int
    SpecialRules:Ref<SpecialRulesObject> (to be determined.)
end ArmyCardsObject

ddd

MapObject
    Name:String
    NumBarrels:Int
    NumCrowns:Int
    LocationType:Enum(Land,Sea,Stronghold,City)
    HouseCapital:Ref<HouseObject> (or null)
    HasPort:Boolean
end MapObject

ddd

MapDAG

end MapDAG

ddd

MapInstanceObject
    OccupiedBy:Ref<PlayerObject>
    ControlledBy:Ref<PlayerObject>
    LocalArmies:List<ArmyObjectInstance>
    HasFort:Boolean
end MapInstanceObject

ddd

ArmyObjectInstance
    NumKnights:Int
    NumFootmen:Int
    NumSiege:Int
    NumBoats:Int
    IsLand:Boolean
end ArmyObjectInstance

ddd

EventCardsObject
    Name:String
    EventType:Int (1, 2 or 3)
    EventText:String
    EventRule:Ref<EventRuleObject>
end EventCardsObject

ddd

Project Information

SVN URL: svn checkout http://agotbgonline.googlecode.com/svn/trunk/ agotbgonline

Supporting Libraries

AppFuse - Maven Archetype

Jersey - Facilitating REST

OpenLaszlo - For presentation

JGraphT - for DAG collection

Spring - core object management

Hibernate - ORM wrapper for data

External Links

Full Rules for AGOT

Full Rules for COK

Full Rules for SOS

COK Map

Good View of Playing Surface

House Cards (in Polish)

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.