DEIK nyári ösztöndíj jelentés: a KőPapírMetalFC ” lájtosított ” 2D RCSS csapat ...

Preview:

DESCRIPTION

DEIK nyári ösztöndíj jelentés: a KőPapírMetalFC ” lájtosított ” 2D RCSS csapat bemutatása. Dóczi Roland Debreceni Egyetem Informatikai kar Mérnök informatikus BSc hallgató doczi.roli @ gmail.com. Kivonat. - PowerPoint PPT Presentation

Citation preview

DEIK nyári ösztöndíj jelentés: a KőPapírMetalFC ”lájtosított” 2D RCSS csapat bemutatása

Dóczi RolandDebreceni EgyetemInformatikai karMérnök informatikus BSc hallgatódoczi.roli@gmail.com

Kivonat

• A 2011/2012 nyári ösztöndíjprogramban a ”lájtosított” 2D RCSS server (RoboCup Soccer Simulation) környezetet szeretném ismertetni

• Sporttudományi és oktatási célok nyomán átalakított robotfocis környezet

• Ehhez fejlesztettem ki a KőPapírMetalFC csapatot• rcssserver/sampleclient alapú• Fejlesztési idő: július és augusztus hónap• Licence: A kódok GNU LGPL 3, vagy későbbi verziójú licenccel

futnak. Ezért szabadon terjeszthető vagy módosítható a licencnek megfelelően.

A csapat címere

A szerver

• UDP alapú• Nincs grafikus megjelenítés• A csapatokat, illetve a játékszabályokat kezeli• A szerver a klienseket minden időpillanatban információval

látja el• Ilyen információk a labda távolsága, annak az ágenshez képest

viszonyított szöge, csapattársak iránya, távolsága, stb.• Az információk ismeretében már feltudjuk készíteni a

klienseket a legtöbb szituációra

Egy adatcsomag

Egy kliens

• Egy kliens egy játékosnak felel meg• Fel kell készíteni őket a lehető legtöbb szituációra• Feldolgozza a szervertől kapott információkat <LEXER>• Ezekre válaszol• Időpillanatonként egy cselekvéssel válaszolhat• Egy időpillanat körülbelül 50ms• Cselekvés: futás, fordulás, rúgás

Érzékelés

• Az érzékelés minden időpillanatban történik • Ez alapján tudja az ágens azt is, hogy melyik játékmódot

játsszák éppen (bedobás, kirúgás, szöglet, … )• Minden érzékelésre van egy külön függvény, ami egyszerűbbé

teszi a kód megírását• latomAFocit(thisclient), distanceFoci(thisclient), …• Emberi szem számára is szép, olvasható kód

Mit tesz egy ágens a labdával?

• A cselekvés függ, hogy– mi a játék módja az aktuális időpillanatban(bedobás,

kirúgás, …)– a játékos hol is van a pályán– melyik poszton játszik– melyik térfél a sajátja– milyen messze van a saját, illetve az ellenfél kapujától

Viselkedések

• Külön viselkednek minden egyes szituációban a kapus, a védők, a középpályások és a támadók

• A kapus kizárólag egy a gólvonallal párhuzamos szakaszon mozog, együtt élve a játékkal

• A védők tartják a pozíciójukat, majd ha közel van a labda, akkor két védő összezár a támadó előtt megakadályozva azt, hogy a kapura törjön

• A középpályások a támadók felé rúgják a labdát, illetve elkerülik az ütközéseket az ellenfél játékosaival

• A támadók a befejező emberek. Amint a labda hozzájuk kerül, megpróbálnak kapura törni.

Jövőbeli tervek

• A fejlesztést folytatni fogom• Legfőbb irány: miután egy kliens csatlakozott egy másik

szerverhez, átadja az információit, majd a szerver megpróbálja szimulálni a lehetséges kimeneteleket 10 időpillanattal a ”jövőbe”, így elkerülhetővé válnak azoknak a cselekvéseknek az elvégzése, ami negatívan érheti a csapatot

• Minden játékosnak külön osztály és viselkedés

Köszönöm a figyelmet

Recommended