aishockey a platform for a platform for aishockey
play

AIsHockey A Platform for A Platform for AIsHockey Studying - PowerPoint PPT Presentation

AIsHockey A Platform for A Platform for AIsHockey Studying Synthetic Players Studying Synthetic Players Jouni Smed, Timo Kaukoranta Department of Information Technology, University of Turku Turku Centre for Computer Science (TUCS),


  1. AIsHockey— —A Platform for A Platform for AIsHockey Studying Synthetic Players Studying Synthetic Players Jouni Smed, Timo Kaukoranta Department of Information Technology, University of Turku Turku Centre for Computer Science (TUCS), Finland Harri Hakonen Oy L M Ericsson Ab, Telecom R&D Turku, Finland

  2. Algorithmic Problems in Algorithmic Problems in Computer Games Computer Games ♦ graphics and audio – 3D rendering – camera movements – adaptive audio ♦ simulation and modeling a shift – game engines of ♦ multiplayer networking interest – protocols and security – resource distribution ♦ artificial intelligence (AI) – computer-controlled actors

  3. Model- -View View- -Controller Controller Model state instance core structures model view controller control logic proto-view synthetic synthetic driver rendering player view input output device device action perception human player

  4. What Is AIsHockey? What Is AIsHockey? ♦ simplified ice hockey: – official IIHF rules – real-world measurements – Newtonian physics engine ♦ distributed system – client/server architecture ♦ the challenge: implement a collaborating team of autonomous, real-time synthetic players

  5. Client/Server Architecture Client/Server Architecture Client Client Player Player Player AI AI AI server to clients: multicast client to server: unicast Server Player AI Player Game AI engine Client view Player Player AI AI

  6. AIsHockey Platform AIsHockey Platform ♦ implemented with Java ♦ synthetic player is an instance of a class – inherits methods for receiving and sending data – runs on own thread ♦ team is a collection of synthetic players – defined in an initialization file – teams can be distributed

  7. Player’s Attributes Player’s Attributes orientation operation area m = 75 kg 0.50 m 0.35 m

  8. Player’s Methods 1(3) Player’s Methods 1(3) shoot(p) 0.0 <= p <= 1.0 keepPuck()

  9. Player’s Methods 2(3) Player’s Methods 2(3) dash(p) 0.0 <= p <= 1.0 brake(p) 0.0 <= p <= 1.0

  10. Player’s Methods 3(3) Player’s Methods 3(3) head(a) a = angle in radians *#&*! say(m) m = 64-bit long word

  11. Player’s Perception Player’s Perception ♦ players – position – orientation – message ♦ puck – position ♦ auxiliary methods ♦ constants – measurements of the rink

  12. Example: MyAI.java Example: MyAI.java import import fi.utu.cs.hockey.ai.*; public public class class MyAI extends extends AI implements implements Constants { public public void void react() { if if (isPuckWithinReach()) { head(headingTo(0.0, THEIR_GOAL_LINE)); brake(0.5); shoot(1.0); say(1050L); } else else { head(headingTo(puck())); dash(1.0); } } }

  13. Key Questions Key Questions ♦ how to achieve real-time response? ♦ how to distribute the synthetic players in a network? ♦ how autonomous the synthetic players should be? ♦ how to communicate with other synthetic players?

  14. Observations Observations ♦ educational tool – strategic, tactical and operational level decision making – software design – algorithm implementations ♦ AI programming as a game – game within a game – human player coaching synthetic players – engaging and entertaining

  15. Try It Out! Try It Out! ♦ platform and teams are publicly available: http://staff.cs.utu.fi/staff/jouni.smed/aishockey

Recommend


More recommend