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

aishockey a platform for a platform for aishockey
SMART_READER_LITE
LIVE PREVIEW

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),


slide-1
SLIDE 1

AIsHockey AIsHockey— —A Platform for A Platform for 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

slide-2
SLIDE 2

Algorithmic Problems in Algorithmic Problems in Computer Games Computer Games

♦ graphics and audio

– 3D rendering – camera movements – adaptive audio

♦ simulation and modeling

– game engines

♦ multiplayer networking

– protocols and security – resource distribution

♦ artificial intelligence (AI)

– computer-controlled actors

a shift

  • f

interest

slide-3
SLIDE 3

Model Model-

  • View

View-

  • Controller

Controller

synthetic view synthetic player control logic driver proto-view rendering

  • utput

device state instance core structures human player perception input device action

model view controller

slide-4
SLIDE 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

slide-5
SLIDE 5

Client/Server Architecture Client/Server Architecture

Player AI

Client

Player AI

Server

Game engine

Client

Player AI Player AI Player AI Player AI Player AI

Client

view server to clients: multicast client to server: unicast

slide-6
SLIDE 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

slide-7
SLIDE 7

Player’s Attributes Player’s Attributes

0.35 m 0.50 m

  • rientation
  • peration area

m = 75 kg

slide-8
SLIDE 8

Player’s Methods 1(3) Player’s Methods 1(3)

shoot(p) keepPuck() 0.0 <= p <= 1.0

slide-9
SLIDE 9

Player’s Methods 2(3) Player’s Methods 2(3)

dash(p) brake(p) 0.0 <= p <= 1.0 0.0 <= p <= 1.0

slide-10
SLIDE 10

Player’s Methods 3(3) Player’s Methods 3(3)

head(a) say(m)

*#&*!

a = angle in radians m = 64-bit long word

slide-11
SLIDE 11

Player’s Perception Player’s Perception

♦ players

– position – orientation – message

♦ puck

– position

♦ auxiliary methods ♦ constants

– measurements of the rink

slide-12
SLIDE 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); } } }

slide-13
SLIDE 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?

slide-14
SLIDE 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

slide-15
SLIDE 15

Try It Out! Try It Out!

♦ platform and teams are publicly available:

http://staff.cs.utu.fi/staff/jouni.smed/aishockey