Tag Archives: gaming

Javin – Java Battle of Yavin Tactical Computer

Repost from the Fantasy Flight forum

Shh, don’t tell anyone, but one of my Games and A.I. students and I are working on a Star Wars Targeting Computer bot to play/suggest moves for X-Wing. We feel that this is both canon – “Luke, you switched off your targeting computer! What’s wrong?” – and we’d like to honour this amazing game by creating an A.I. bot competition in the style of Robocode http://robocode.sourceforge.net/ http://en.wikipedia.org/wiki/Robocode by providing a testbed to allow bots to play in the X-Wing Universe. We hope that making a computer version of the board game, as the first step towards opening this up for artificial intelligence would be both acceptable and of interest to Fantasy Flight and the X-Wing community.

If we get far enough along, we hope to “enter” our own attempt at a bot in the UK X-Wing Championships to be hosted at the UK Games Expo, assuming that this would be allowed. Here is a timeline of what we hope to develop, all of which (possibly apart from the A.I. module itself) will be open source:

1) Visualisation of pieces and board state, movements, etc, in the style of theStar wars tactical displays:

Star Wars Display

with inspiration from the following:

Star Wars Display 2


and the more recent Battlestar Galactica tabletop tactical displays:

battlestar Disp01

battlestar Display 2

The aim here to provide the ability for tournaments to have an abstract projected top down display of the game at hand with some automation in moving ships on screen to match the current board state. We would need some “nudging” to be able to make sure the display matched the board; e.g. If the ref says the X-Wing can attach the TIE, but the computer’s (never inaccurate) digital movement says no, then the physical game would have to take priority. Think Vassal module, but customised to enable the later stages. Clearly, at this stage the intent is to provide a way for a computer program to have access to a relatively accurate board position for ships, and have encoded their ability to move, etc. Fantasy Flight, I am hopeful that if you allow the Vassal mod then this is acceptable.

2) Automation of the movement and action phases of each ship type, subject to the previous “nudging”, including a representation of ship and pilot capabilities and game related stats to enable them to be represented on the display; e.g. TIE 3 has Focus, TIE chose Evade, Y-Wing has sustained 2 shield damage. Clearly, the Vassal mod has attempted to not breach copyright, and we would want to avoid similar infringements, but we would need to be able to simulate the complete state of the game, including pilot stats, in order to allow a bot half a chance to be able to “play” in the proper environment.

3) Library functions to fully automate a game of X-Wing in emulation, so that A.I. (that is Tactical Computer) bots – or should I call them ‘droids? – can play simulated games. Many artificial intelligence techniques require sped up automated games in order to evolve suitable strategies of play.

4) An A.I. of our own to test the testbed, which we would then play against humans to see how well it would perform. This bit, I think, we’d need to keep closed source. In the event that we actually get to (4), an ambitious and ridiculous dream, then Fantasy Flight would have to rule on whether bots would be allowed in tournaments. I’m hoping, at least as a special occasion, this might be allowed, if not in a regular competition.

5) Requesting from Fantasy Flight a bespoke ‘droid pilot card to be allowed official recognition. For example, a tactical computer, no matter how well programmed should (in the spirit of the franchise) not have Focus as an option, but should be very cheap (if not free) to buy; working on the assumption that the human player fielding it MUST abide by the program’s choices in battle for the ships controlled by it. The skill then comes in how well you have actually programmed your Tactical Computers. It would be assumed that TCs would be ship specific – hence the need for unique pilot cards for each ship type – but that the basic stats would be those of the ship’s reference card. The rating of the pilot would need FF to decide, but (for example) a bot would be very fast to react, but slow to target, which would suggest a low rating. Other balance issues, should the idea of a TC be one that FF like as an extension to the rules (even without a “real” A.I. playing, but rather a human pretending), might be extra evades, better target locks, etc, at the expense of the loss of focus.

Of course, (5) is pure speculation, but fun to consider. I thoroughly expect any bot to be much, much worse than an average human. However, the idea is one that (despite probably meaning a lot of work) really interests me. Please do comment, to tell me what you think. Would you be willing/scared to play against a ‘droid (” We don’t serve their kind here! … Your droids. They’ll have to wait outside.”) or should they never be allowed to play in tournaments?

One alternative to a low rating could be an average (middle range) or user selectable pilot rating, which would allow the programmer to decide between move first shoot last and move last shoot first strategies.

Some more reference images (DRADIS from Battlestar Galactica):





Clearly, we would be looking to get one of the art students to do a suitably Star Wars styled representation of the X-Wing ships, but you can see how a Viper (above) is similar to an A-Wing. This is to provide a “mood board” for conceptualising what the display would look like.

Got another canon precedent:

“TIE Automated Starfighter (TIE Droid Starfighter) produced by World Devastators in the comic mini-series Dark Empire I.”