Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Reitinhaku

Sivun loppuun

Heikki [07.02.2005 17:49:50]

#

Tulipa tässä sellainen ongelma eteen, että tuo pelinkutaleeni tarvitsee jonkinlaisen reitinhakualgoritmin. Itselläni ei ole sellaisen tekemisestä kokemusta, ja googlettelemalla en kovin hyviä systeemeitä löytänyt, joten kyselisin vähän miten hommaa kannattaa lähteä toteuttamaan.

Eli peli koostuu tietyn kokoisista ruuduista, jokainen yksikkö on jossain ruudussa. Kartta on 2-ulotteinen int-taulukko, jossa tietyllä välillä olevia numeroita pitkin pystyy liikkumaan (tämä ei tuota ongelmia). Koko homma toimii vuoropohjaisesti.

Olen ajatellut että merkitsisin taulukkoon jokaisen ruudun etäisyyden kohteesta ja saapuessani lähtöpisteeseen, näen etäisyyden helposti. Onko tämä järkevä tapa? Ja toimiiko se kunnolla käytännössä? Millaisia "oikeat" reitinhakualgoritmit ovat?

Eli olisi mukava jos jotkut ks. systeemin toteuttaneet kertoisivat hyviä toteutustapoja.

Ps. Kuuluvatko algoritmit yms. Yleiseen keskusteluun?

BlueByte [07.02.2005 17:54:53]

#

eti googlesta A star search algorithmi

Deewiant [07.02.2005 18:06:16]

#

Tai vaikkapa tästä. Muutenkin hyvä sivusto.

Ja mitä alueeseen kuuluu, olen sitä mieltä että täällä pitäisi olla "yleinen ohjelmointi" -tyyppinen alue, jossa voisi keskustella ohjelmointiin liittyvistä asioista teoreettisemmalta pohjalta, katsomatta kieltä sen tarkemmin. Vrt. Game Programming Wikin Language Agnostic -foorumi.

Antti Laaksonen [07.02.2005 18:28:02]

#

Kannattaa kokeilla ensin laatia reitinhakualgoritmi itse jonkin valmiin lainaamisen asemesta. Algoritmin nopeus tuskin tuottaa ongelmia. Toteutustapoja on monia, ja oma ideasi kuulostaa hyvältä. Jos reitit risteävät, valitaan niistä tietysti lyhyempi. Ja jos oma algoritmisi toimii, se on aivan "oikea" siinä missä muutkin. :)

Tämmöiset viestit sopivat yleiseen keskusteluun mainiosti.

Heikki [07.02.2005 20:37:48]

#

Kiitän, täytyy varmaan yrittää saada tuo oma järjestelmä toteutettua, mutta voisihan tuosta A Staristakin lueskella.

Tosiaan nopeus ei tuota tämäntyyppisessä vuoropohjaisessa järjestelmässä hankaluuksia.

Jay [07.02.2005 21:28:24]

#

Itse olen käyttänyt tuota A*:ia ja suosittelen. Tähän mennessä paras vastaan tullut algoritmi.

T.M. [13.02.2005 18:51:06]

#

Ei kannata kauheasti miettiä "onko tämä järkevä tapa" :)
Jos alkkiksen nopeus menee yli 3 sekunnin, niin sitten voi alkaa miettiä voiko sitä jollain tavalla nopeuttaa, riippuu tietenkin tilanteesta...

mikeful [13.02.2005 22:02:49]

#

Mielestäni erittäin hyvä sivusto, josta löytty hyvä artikkelisarja aiheesta. Osoite: http://www-cs-students.stanford.edu/~amitp/gameprog.html#paths


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta