Ímhol az első, egyelőre megoldandó probléma, és egy kis betekintés a város alapjaiba :)
Mint ahogy írtam, a város véletlenszerűen generálódik majd le, minden egyes új szerverindításkor (hasonlóan a MineCrafthoz). Igen ám, de nekünk valamivel nehezebb dolgunk van, ugyanis míg az előbb említett játékhoz a randomitás nagyon szép eredményt ad (persze sok csiszolgatás árán) addig nekünk valamennyire hihető, és legalább kicsit is valóságosnak tűnő városképet kell visszaadni.
Az első város, ami létre fog jönni, minden bizonnyal kisvárosias környezet lesz, sok kertesház, illetve a városközpontban pár nagyobb irodaház, esetleg 1-2 panelház, esetleg 1 pláza. Ha a városgeneráló algoritmus már tökéletesebb lesz, akkor természetesen felnyitja az utat a valódi nagyvárosig, akár egy New York méretű, felhőkarcolókkal telerakott városig. Már persze ha valakinek lesz türelme végigvárni azt a sok-sok órát, amíg létrehozza a program a várost, berendezi, és persze lesz gépe ehhez... :)
Tehát, mivel is dolgozunk: próbálkoztam több fajta városgeneráló programot is írni, de a legjobb szó az eredményre a "káosz" lett. A legszebb pszichológusok által használt tintapacát eredményező úthálózat lett... El tudjátok képzelni ebből a többit, gyanítom :)
Ígyhát igénybe vettük a google segítségét, és ráakadtunk a Voronoj-algoritmusra, amely beadott véletlenszerű pontok köré poligonokat rajzol. Az eredmény egészen városias lett. Így végül lecövekeltünk a Fortune-Voronoi algoritmusnál.
http://hu.wikipedia.org/wiki/Voronoj-cella
http://en.wikipedia.org/wiki/Fortune%27s_algorithm
Igen ám, de ez újabb problémát vetett fel: ahhoz, hogy a házak ne úgy nézzenek ki, mintha valaki a térképen elszórt volna egy rakat házat, aztán buldózerrel utat csinált volna közöttük, ahhoz szükség van a poligonok adott ponthoz való rendelésére. Na, jelenleg itt toporog a fejlesztés, ugyanis a Fortune algoritmus a vonalakat véletlenszerűen adja vissza.
De az életben a kihívások szépek, úgyhogy jöjjön egy mintakép, mennyire lesz városias az eredmény (persze ez még egy teljesen nyers véletlen-kép, a végeredmény remélhetőleg klasszisokkal realisztikusabb lesz).