Autor Zpráva
demoniak
Profil *
Ahoj, napadlo mě, že zkusím vytvořit vesmírnou hru. Klasická webovka, nic složitého na grafiku.

Jen bych potřeboval popostrčit jakým způsobem bych mohl vytvořit 3D prostředí (souřadnice X,Y,Z) pro umisťování planet a jiných objektů ve virtuálním prostoru.
Asi to půjde pomocí MySQL a vypisovat souřadnice pomocí php, ale jak přesně? Poradí mi někdo prosím jak toho docílit? :)
mimochodec
Profil
Mysql ti ohledně výpočtů nepomůže nijak, je to jen skladiště dat. Php je část, kterou budeš řešit všechny výpočty, jejichž drobnou součástí budou i nějaké 3D transformace. Vrstvou, která bude uživateli nejblíž, bude JS, kde můžeš část výpočtů duplikovat a snížit tak nároky na objem přesouvaných dat.

//
pardon, všiml jsem si zasviněné klávesnice, jal se ji čistit a nevšiml jsem, že píšu.
Keeehi
Profil
Hlavně když přesuneš výpočty do JS tak ulehčíš serveru. Zas pokud to bude extrémně náročné tak se zase může zapotit prohlížeč reps. počítač návštěvníka. Je potřeba to správně rozprostřít.
Alphard
Profil
Chybí tady konkrétnější informace o podobě hry, ale automaticky bych nepředpokládal, že ty výpočty musí být náročné. Kdyby to mělo být ve stylu travianu, tak grafika není vůbec náročná.

Jen bych potřeboval popostrčit jakým způsobem bych mohl vytvořit 3D prostředí (souřadnice X,Y,Z) pro umisťování planet a jiných objektů ve virtuálním prostoru.
Tohle by právě bylo třeba více specifikovat. Obecně potředujete 3 souřadnice pro určení pozice, avšak další 3 mohou být potřeba pro určení úhlu natočení. Tj. potřebujete 6 souřadnic pro statický objekt (kdyžtak hledejte stupně volnosti).
Další věcí je třeba pozadí, jestli je všude mimo objekty homogenní.

Předpokládejme, že máme jen 3 poziční souřadnice, které se uloží do databáze. Co dál s těmi souřadnicemi potřebujete dělat? Napadají mě 2 požadavky:
1. Výpočet přímé vzdálenosti mezi 2 objekty, což je triviální.
2. Vytvořit nějakou projekci jako mapu, což už je horší. Kdyby ale stačila nějaká jednodušší 3D projekce, zřejmě ta perspektivní, je to ještě dobré.
Demoniak
Profil
Přesně tak, bude to něco jako travian, jen bude možné pro každého uživatele volný pohyb po "vesmíru" např. od planety k planetě.
Chci něco fakt jednoduchého, nechci na tom vydělávat, spíš to brát jenom jako zlepšování dovedností.
Vykreslování mapy zatím uplně neřeším, jde mi hlavně o výpočty vzdálenosti mezi planetami atd.
Počítám, že nulový bod bude asi střed galaxie a od něho se bude odvíjet ostatní vzdálenost podle matematického propočtu.
Jenomže a to je právě ono... jak? :D
mimochodec
Profil
Na první pohled se mně zdá, že by měla stačit Pythagorova věta. Ve 2D to na spočítání vzdálenosti dvou bodů stačí, ve 3D ten výpočet uděláš dvakrát po sobě.
Alphard
Profil
Demoniak:
jde mi hlavně o výpočty vzdálenosti mezi planetami atd.
Raději bych obecně mluvil o Eukleidovské metrice


Případně by pro hry mohla být vhodná Manhattanská metrika

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: