přihlášení / registrace
Česky English

Zdrojové kódy v Javě z
Programming Game AI by Example

O knize

Programming Game AI by Example je kniha napsaná  Matem Bucklandem.
(September 30, 2004 | ISBN-10: 1556220782 | ISBN-13: 978-1556220784 | Edition: 1)
Je to dobrá kniha o umělé inteligenci ve hrác. Velmi dorbrá pro začátečníky.

Ale její příklady jsou naspané v C++, používají Windowsové knihovny a jsou napsané pro Visual Studio 2006 a VS 2008. Bylo pro mne docela komplikované přinutit je překompilovat a spustit ve VS 2010 (Express edition). Musel jsem opravit nějaké chyby ve zdrojácích, nastavit VS 2010 (nastavit cesty ke knihovnám a zdrojovým kódům), stáhnout a zkompilovat novou verzi luabind atd.
Nakonec se mi to podařilo nastavit – ale je to nemožné v Linuxu!

A protože preferuji Linux před Windows (žádné překvapení, že?) a Javu před C++, rozhodl jsem se přepsat všechny příklady z C++ do Javy. Další důvod byl, že mi to pomohlo procvičit si Javu (v programování v Javě jsem nováček) a také mi to pomohlo lépe porozumět všem příkladům v knize.

Nyní jsem se rozhodl poskytnout mé zdrojové kódy celému světu. Doufám, že to pomůže ostatním lidem bojujícím s C++ zdrojáky, nebo linuxovým (či MAC) uživatelům. Také doufám, že se stanu slavným po celém světě, tak nezapomeňte likovat mou facebook stránku (způsob, jak můžete říct děkuji :-).

Ukázka

Java applet SimpleSoccer

Aktualizace

Kapitoly

  1. Všechny kapitoly (2.8 MiB, ZIP)
    Toto zahrnuje všechny kapitoly vypsané níže (jako projekty NetBeans).
    Nemusíte stahovat už nic jiného.
  2. Kapitola 2 State Machines (203 KiB, ZIP)
    První projekt v knize Přepsal jsem pouze ty části zdrojového kódu, které jsem musel. V každé další kapitole je přepsáné víc a víc z adresáře common. Mezi jednotlivými "common" balíčky v dalších kapitolách můžou být další rozdíly (čím novější, tím lepší).
    Snažil jsem se psát kód podobný originálnímu zdrojovému kódu v C++ jak to jen šlo. Proto jsem používal často "import static" a další divné programovací vzory, které nejsou zrovna „good Java practise“.
  3. Kapitola 3 Steering Behaviors (86 KiB, ZIP)
    Kód pro samostatný a skupinový pohyb zahrnující chování hledej, uteč, doraž, pronásleduj, toulej se, vyhni se, obcházení překážek, zdí atd.
  4. Kapitola 4 Simple Soccer (113 KiB, ZIP)
    Implementace jednoduché, ale zábavné umělé inteligence pro týmovou sportovní hru (fotbal).
  5. Kapitola 5 Pathfinder (98 KiB, ZIP)
    Kódy pro graph node class, graph edge class, graph class, depth first search, breadth first search, edge relaxation, shortest path trees, Dijkstra's search and A*.
  6. Kapitola 6 Scripting Source (2.2 MiB, ZIP)
    Tato kapitola je o používání lua s C a C++ zdrojovými soubory. Popisuje lua a luabind knihovny. Ale v Javě existují jiné projekty podporující lua jazyk. Já se rozhodl použít LuaJ.
    Podařilo se mi přepsat všechny příklady bez potřeby změny originálních lua skriptů, ale musel jsem napsat pomocný lua skript, který imituje luabind chování.
  7. Chapter 7 – 10 Raven (1.1 MiB, ZIP)
    Poslední tři kapitoly shrnují všechny dosažené znalosti a přidávají mnoho dalšího (například path planer, goal arbitration nebo fuzzy logiku).
  8. Python kód pro Blender 3D.
    Bonus: Přepsaný AI kód z Programming Game AI By Example z kapitoly 3 'How to Create Autonomously Moving Game Agents' do Pythonu (Blender Game Engine) od Nakasya Masuta.

Přihlašte se

Přihlašte se k odběru novinek o tomto projektu:

:   4 + 1 = (antispam check)

Reference

Komentář Hlášení chyby
reklama
Experimentální nastavení barev:
COLOR
GS
LB
RC
BG
Tato stánka používá ke svému běhu cookies, díky kterým je možné monitorovat, co tu provádíte (ne že bych to bez cookies nezvládl). Také vás tu bude špehovat google analytics. Jestli si myslíte, že je to problém, vypněte si cookies ve vašem prohlížeči, nebo odejděte a už se nevracejte :-). Chci se dozvědět více.