ORTS A Free Software RTS Game Engine Conversa

  • Slides: 22
Download presentation
ORTS A Free Software RTS Game Engine

ORTS A Free Software RTS Game Engine

Conversa de Hoje • O que é ORTS? • Que competição é essa? –

Conversa de Hoje • O que é ORTS? • Que competição é essa? – Game 1 – Game 2 – Game 3 • Como rodar? • Como estudar?

O que é ORTS • ORTS = Open Real-Time Strategy • É um ambiente

O que é ORTS • ORTS = Open Real-Time Strategy • É um ambiente de programação para o estudo de problemas de real-time IA tais como: – Pathfinding – Imperfect information – Scheduling – Planejamento

Que competição é essa? • ORTS Game AI Competition • A competição envolve o

Que competição é essa? • ORTS Game AI Competition • A competição envolve o uso da Engine ORTS e é dividida em categorias: – Game 1 : : “Gathering Resources” – Game 2 : : “Tank Combat” – Game 3 : : “A Real RTS Game”

Game 1 • Objetivo – Gather as much resources as possible within 10 minutes

Game 1 • Objetivo – Gather as much resources as possible within 10 minutes • Desafios – Cooperative pathfinding – static/mobile obstacle avoidance

Game 1 • Setup – single player – perfect information – random 32 x

Game 1 • Setup – single player – perfect information – random 32 x 32 terrain (ground level tiles connected, small irregular static obstacles) – one control center, 20 workers nearby – several resource patches – limit # of workers on single resource patch to 4 – some small mobile obstacles ("sheep") moving randomly

Game 1 • Ações - (Worker) – move(x, y[, s]) – stop() – pickaxe.

Game 1 • Ações - (Worker) – move(x, y[, s]) – stop() – pickaxe. mine(obj) – return_resources(obj)

Game 1

Game 1

Game 2 • Objetivo – Destroy as many opponent buildings as possible within 15

Game 2 • Objetivo – Destroy as many opponent buildings as possible within 15 minutes • Desafios – small-scale combat – unit group management – adversarial/cooperative pathfinding

Game 2 • Setup – two players – perfect information (apart from simultaneous actions)

Game 2 • Setup – two players – perfect information (apart from simultaneous actions) – random 64 x 64 terrain (ground level connected, small irregular static obstacles) – for each player: 5 randomly (but symmetrically) located control centers with 10 tanks each nearby – some small mobile obstacles ("sheep") moving randomly

Game 2 • Ações – (Tank) – move(x, y[, s]) – weapon. attack(obj) –

Game 2 • Ações – (Tank) – move(x, y[, s]) – weapon. attack(obj) – stop()

Game 2

Game 2

Game 3 • Objetivo – destroy all opponent buildings within 20 minutes • Desafios

Game 3 • Objetivo – destroy all opponent buildings within 20 minutes • Desafios – pathfinding – combat – grouping forces – scouting – resource allocation

Game 3 • Setup – two players – imperfect information (simultaneous actions + fog

Game 3 • Setup – two players – imperfect information (simultaneous actions + fog of war) – random 64 x 64 terrain (ground level connected, small irregular static obstacles) – some neutral mobile obstacles ("sheep"), random motion – one random starting location each with one control center, a resource cluster and 6 workers nearby – ~4 more resource locations randomly scattered on terrain – tech-tree: • • • workers build control centers, barracks, and factories control centers train workers barracks train marines factories produce tanks building a barracks requires control center building a factory requires control center and barracks

Game 3 • Ações – Worker • • move(x, y[, s]) weapon. attack(obj) stop()

Game 3 • Ações – Worker • • move(x, y[, s]) weapon. attack(obj) stop() pickaxe. mine(obj) return_resources(obj) build_control. Center(x, y) build_barracks(x, y) build_factory(x, y)

Game 3 • Ações – Tank • move(x, y[, s]) • weapon. attack(obj) •

Game 3 • Ações – Tank • move(x, y[, s]) • weapon. attack(obj) • stop() – Marine • move(x, y[, s]) • weapon. attack(obj) • stop()

Game 3 • Ações – Control Center • train_worker () • stop() – Barracks

Game 3 • Ações – Control Center • train_worker () • stop() – Barracks • train_marine() • stop() – Factory • build_tank() • stop()

Game 3

Game 3

Como rodar? • No site da competição e do próprio ORTS possui informações e

Como rodar? • No site da competição e do próprio ORTS possui informações e how-to’s – ORTS • http: //www. cs. ualberta. ca/~mburo/orts/index. html – ORTS Competition – http: //www. cs. ualberta. ca/~mburo/orts/AIIDE 06/

Como estudar? • Tópicos importantes – Multi-agent • Foraging • Planning – Formação –

Como estudar? • Tópicos importantes – Multi-agent • Foraging • Planning – Formação – Táticas & Estratégias –. . .

Como estudar? • AI Game Wisdom 1 e 2 • Game Programming Gems 1,

Como estudar? • AI Game Wisdom 1 e 2 • Game Programming Gems 1, 2 e 3 • Steels, L. (1989). Cooperation between Distributed Agents through Self. Organisation. Decentralized A. I. E. Werner and Y. Demazeau. Amsterdam, Elsevier North-Holland.

ORTS Dúvidas?

ORTS Dúvidas?