about | news | ToDo | links | author
10.08.2007 Odevzdání bakalářské práce
20.06.2007 Zapojení A* do hledání mezi místnostmi
05.05.2007 Lokalizace entova světa
17.11.2006 Znovuobnovení práce na projektu.
21.09.2005 Druhá verze zadání a pokus o specifikaci.
19.09.2005 Další studium related works, tj. dalších kapitol z knihy AI Game Programming Wisdom.
16.09.2005 (Konečně) aktualizace těchto stránek.
13.09.2005 Pokus o formulaci první verze zadání.
05.09.2005 Studium skriptů v jazyce E a Morfan.
30.05.2005 Studium materiálu Pathfinding with A*.
25.05.2005 Konzultace s Ondřejem Bojarem, ukázka jazyka Morfan a C--funkcí.
19.05.2005 Jasnější vytyčení zadání, potvrzení hledání cest a chodících skriptů.
20.04.2004 Studium dokumentace k projektu Enti, zvláště Příručky autora světa a skriptů.
31.03.2005 První krůčky s Enty (doslova).
30.03.2005 Spuštění této stránky ve zkušebním provozu.
24.03.2005 Nainstalováni Enti.
10.08.2007
Bakalářská práce odevzdána, práce na projektu Enti (alespoň dočasně) ukončena. Odkaz: bakalářská práce ve formátu PDF .
20.06.2007
Ent využívá níže zmíněného 3D grafu místností a absolutních souřadnic dlaždic heristikou algoritmu A* i při hledání cesty mezi místnostmi. Tím se ušetří zásadní množství prohledávání, neboť hledání je teď cílené.
05.05.2007
Ent si na začátku svého působení ve světě projde všechny místnosti a usadí si je do krychlové sítě, tj. přiřadí každé místnosti jednoznačné souřadnice (x, y, z). Zároveň postaví tzv. graf schodů, který slouží k higher-level procházení světa tak, že se nejdříve naplánuje cesta na úrovni pater, a pak se jednotlivá patra „zjemní“ na místnosti.
Absolutní souřadnice v entově světě zároveň umožnují využití heuristiky při hledání cest, konkrétně pak masovější využití algoritmu A* (na úkor Dijkstrova algoritmu, který byl používán doposud).
17.11.2006
Práce na projektu byla obnovena. Enti znovu úspěšně naistalováni, tentokrát na
Postup instalace. V zásadě jsem postupoval jako minule, ale pár rozdílů přeci jenom bylo:
rpm
balík jako minule, tj.
mercury-compiler-0.11.1_beta_2004_06_30-1.i386.rpm
.fpc
bylo podstatně víc problémů. Zkusil jsem
stejnou verzi jako je dodávána s Enty a jakou jsem použil minule, tj.
1.0.6, ale narazil jsem na stejný problém jako na svém domácím
počítači: Enti se správně přeloží1) ale
entizadavac
končí v nekonečné smyčce, takže nejde ani
instanciovat svět. Po několika hodinách neúspěšných pokusů
o editaci zdrojáků entizadavac
e jsem vyzkoušel
nejposlednější verzi FreePascalu, tj. 2.0.4. To sice vyžadovalo jisté
změny v Pascalových zdrojácích2), ale
entizadavac
už funguje podle předpokladů.Instalace nakonec proběhla úspěšně.
Poznámky:
1) Nová verze gcc
zřejmě důsledněji kontroluje
syntaxi C++, takže bylo potřeba udělat pár drobných zásahů podle
reportovaných chyb. Namátkou vybírám umazání CVeta::
na
1115. řádku v src/ent/milan/veta.h
.
2) např. použití knihovny oldlinux
namísto
linux
nebo odstranění manipulace s řídící proměnou ve
for
--cyklu.
Tady je druhý pokus: zadani.html, tentokrát už s náznakem specifikace. Podrobnou specifikaci bych rád vytvářel až před/při konkrétním zpracovávání jednotlivých částí.
Zde je: zadani.05–09–16.html. Snažím se vymyslet další věci, co by se daly dělat, studovat další kapitolu z knihy o AI.
Začínám procházet skripty týkající se chůze a hledání předmětů a entů. Jde zejména o
Hledám potencionální chyby nebo možnosti vylepšení stávajících skriptů, učím se základy jazyka Morfan, postupně vzniká provizorní seznam chyb a vylepšení. Programuji vlastního enta snažícího se sebrat všechny pružiny entu druhému, který s nimi posiluje (zde je zdrojový kód).
Spuštění Entů proběhlo v pohodě, ale na mym počítači je to opravdu dost pomalý :-/ Inicializace trvá cca minutu, jedno kolo pak cca 2 sec., v zahradě ještě víc (kolem 4).
Chystám se na podrobnější čtení manuálů.
Moje konfigurace:
Postup instalace. Nejdříve bylo potřeba doinstalovat potřebné nástroje, abych mohl přeložit Enty: