ArcoMage Challenge

ArcoMage
Challenge
Game
 2 players
 Moves in turn (except for “play
again” cards)
 102 x 2 cards used to perform
a turn
 3 points
Player
 3 Resources
 3 Modifiers
 Wall
 Tower
 6 Cards
Resources
 Necessary to use Cards
 Bricks are red
 Gems are blue
 Recruits are green
Modifiers
 Necessary to get resources
 Quarry – increases Bricks
 Magic – increases Gems
 Dungeon – increases Recruits
Modifiers
After player’s move:
 Bricks += Quarry
 Gems += Magic
 Recruits += Dungeon
Wall/Tower
 Wall defends tower from
Damage
 Tower will take Damage from
enemy Cards if player does not
have wall
 Tower is necessary to win
Card
 Requires several units of one
Resource:
Card
 May change player’s or
enemy’s Resources/Modifiers
 May change Wall/Tower
 May perform a Damage
 Special Ability
 Condition
Damage
 Will decrease enemy Wall
and/or Tower
 Wall “absorbs” Damage
instead of Tower
 If Wall = 0, Tower will take
“unabsorbed” damage
Special Ability
 Some unique change which
can not be described by fixed
attribute changes
 5 cards with different special
abilities
Condition
 If Card’s condition is true for
current game state, result of
the Card usage is changed
 9 different conditions
 11 Cards with conditions
Start Bonus
 Each player may choose a start
bonus
 +6 to Resource
 +1 to Modifier
 +8 to Wall
How to win?
 Build a Tower >= 75
 Destroy enemy Tower
 Collect any Resource >= 150
 After 200 turns the game ends
with draw
Tournament
 9 game days
 Top teams receive points
 Each day has points “weight”
 Sum of points * weights
determines the tournament
winner
Tournament
 Points – GP8
(10-8-6-5-4-3-2-1)
 Day weights increase from
0.01 (first day) to 2.00 (last
day)
Game Packages
 AMServer
 AMLogReader
 AMGUIClient
 ClientProject_CS
 ClientProject_Java
AMServer
 Hosts games
 Logs game summary
 Logs all game states
 Visualizes game state
 Server-side clients
AMServer
Server
Options
Game
Options
Player
Options
AMServer
Start Game
Path to
card set
Select IP
Allow
“endless”
moves
Use visualization
form
AMServer
Separate client
program or GUI
Server-side
GUI client
Simple serverside “bot” client
Run strategy (for
“advanced” C# users)
AMServer
Game Identifier,
used in logs
Expected remote clients
global identifiers
Delay between
game turns
File to store
game logs
AMServer
Bricks
Gems
Recruits
Cards
AMLogReader
 Select log game file
 Start reading the log
 Navigate between game states
 Same visualization mechanism
AMLogReader
Log file with
game states
Read the log file
First / Previous /
Next / Last turn
Arbitrary turn
AMGUIClient
 Allows to perform moves and
choose the start bonus using
GUI
 LMB – use card/bonus
 RMB – discard card
 May run as “remote client”
GUI Client
Start the remote
client
Server address
Server port
Run strategy
(for “advanced”
C# users)
User interface
client
Client GUI
Enemy
State
Last Card
Player state
Player Cards
Strategy
 Open ArcoMageClient project
 Implement MyStrategy class
methods
 GetId
 GetName
 GetStartBonus
 Move
Strategy
 Rebuild solution
 Start server
 Make sure batch-files work
correctly
 run_first_player.bat
 run_second_player.bat
Strategy
 Connect to the FTP server
 Make subdirectory for current
day (15-24)
 Copy the batch files and all
necessary files to the
subdirectory
Questions?