Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Buksy
Založen: 03. 01. 2009 Příspěvky: 19 Bydliště: KE
|
Zaslal: 14. prosinec 2010, 15:27:08 Předmět: cervi |
|
|
zdravim, chcem sa spytat ako by ste riesili jednoduchu hru cervi http://www.bestoldgames.net/stare-hry/cervii.php?back=1
Kedysi davnejsie sme checli s kamaratom spravit remake ktory by podporoval multiplayer, problem ale bol v detekcii kolizii, mali sme vytvorene objekty cervov a v nich polia na akej pozicii zmenil smer, teda len body useciek a tie sme spajali (teda ked spravil taky polkruh tak tam tych bodov pribudlo dost ) ... no a nasledne sme porovnavali vsetky cervy medzi sebou ci sa nepritinaju niektore usecky, bolo to ale strasne pomale...
rozmyslam ze by som to skusil esteraz (myslim ze je to celkmo dobry projekt pre zaciatocnika ), ale neviem ako to navrhnut, rozmyslal som aj nad nejakou maticou v ktorej by som ukladal ktory cerv sa kde nachadza a kde uz bol, ale to zas by as cerv mohol pohybovat len v 8mych smeroch a musel by som zaokruhlovat jeho poziciu...
co si myslite, ako by ste to riesili ? _________________ The Death is only beginning ! |
|
Návrat nahoru |
|
|
franz
Založen: 30. 07. 2007 Příspěvky: 1325
|
Zaslal: 14. prosinec 2010, 15:40:18 Předmět: |
|
|
Já bych ty cesty kreslil rovnou do textury.
Čumák tvého hada bude x,y - pokud je v tom bodě černá barva, tak tam nakresli svojí barvu. Pokud je tam jiná barva, tak jsi narazil do hráče, kterému barva patří. |
|
Návrat nahoru |
|
|
Matasx
Založen: 17. 08. 2008 Příspěvky: 258
|
Zaslal: 14. prosinec 2010, 19:24:54 Předmět: |
|
|
Mam tu vlastnoručně napsanou multiplayerovou verzi v C#, jestli máš zájem... ale je to prasárna |
|
Návrat nahoru |
|
|
Buksy
Založen: 03. 01. 2009 Příspěvky: 19 Bydliště: KE
|
Zaslal: 14. prosinec 2010, 20:06:02 Předmět: |
|
|
jo jasne, ked mozes tak mi to posli, som zvedavy ako si to robil ...
ale aj tak si to chcem tiez skusit sam
ten napad s texturou je pekny, jednoduchy a rychli, ale co ak by som to chcel spravit 3D? ... sice, texturu by som mohol mat aj tak niekde ulozenu a vykreslovat podla nej, ale ked budem ukladat poziciu cerva, budem tam mat vzdy x a y len ako int, chcel by som to mat presnejsie... hmm _________________ The Death is only beginning ! |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 14. prosinec 2010, 21:20:14 Předmět: |
|
|
neni to o texture - textura je proste 2D pole - takze pro 3D si udelas 3D pole - vhodne zvolene ... |
|
Návrat nahoru |
|
|
Buksy
Založen: 03. 01. 2009 Příspěvky: 19 Bydliště: KE
|
Zaslal: 14. prosinec 2010, 21:59:14 Předmět: |
|
|
to som pochopil, ide ale o to, ze ak sa anpriklad cerv bude nachadzat na pozicii
[1, 1] a predlzi sa o 3 "policka" pod 68° uhlom, tak nova poziicia bude
[2.123, 3.781] a to mozem ulozit do pola len ako 2,3 alebo 2,4 ... teda tu vznika nepresnost pri testovani kolizie, a tomu by som as chcel vyhnut
//edit: alebo si mam spravit to pole x-krat vacsie, nie v mierke 1:1 ? no potom budem potreovat dost velke pole aa nebude to zase pomale prechadzat takto pamat? _________________ The Death is only beginning ! |
|
Návrat nahoru |
|
|
quas4
Založen: 18. 10. 2007 Příspěvky: 199
|
Zaslal: 14. prosinec 2010, 22:21:39 Předmět: |
|
|
Buksy napsal: |
to som pochopil, ide ale o to, ze ak sa anpriklad cerv bude nachadzat na pozicii
[1, 1] a predlzi sa o 3 "policka" pod 68° uhlom, tak nova poziicia bude
[2.123, 3.781] a to mozem ulozit do pola len ako 2,3 alebo 2,4 ... teda tu vznika nepresnost pri testovani kolizie, a tomu by som as chcel vyhnut
//edit: alebo si mam spravit to pole x-krat vacsie, nie v mierke 1:1 ? no potom budem potreovat dost velke pole aa nebude to zase pomale prechadzat takto pamat? |
pokud nechces cist texturu a chces zustat u geometrickeho reseni pak si staci "test posledni usecky vs. vsechny uz drive vytvorene" zrychlit nejakou grid strukturou.
Napriklad: bunka mrizky si pamatuje ktere usecky v ni jsou a jen ty je potreba otestovat. Zalezi samozrejme jak jemnou ji udelas (= pamet vs rychlost). Toto bude fungovat jednoduse i ve 3d a koordinaty mohou byt v libovolne presnosti. |
|
Návrat nahoru |
|
|
Buksy
Založen: 03. 01. 2009 Příspěvky: 19 Bydliště: KE
|
Zaslal: 14. prosinec 2010, 22:49:37 Předmět: |
|
|
no to by slo, asi to vyskusam, este ma ale napadlo, ze ked som mal objekt cerva, tak som v nom mal pole s pociciami na ktorych sa vzdy ohol a tie len spajal a vykresloval ho, lenze ak napriklad hrac nakreslil polkruh, tak tam tych pozicii bolo velmi vela, namiesto toho by som asi mohol obcas spatne prejst poslednych par pozicii a taketo castKruhy zapisat nejak jednoduchsie... napr si tam ulozim rovnicu toho kruhu x2 + y2 + ax + bx + c ? 0 a ulozim zaciatok a koniec, ale pri vykreslovani budem musiet zas kreslit bod po bode, nie? takze to asi aj bude zbytocne nanovo prepocitavat, ci? _________________ The Death is only beginning ! |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 14. prosinec 2010, 23:03:16 Předmět: |
|
|
mno a co to proste nedelat uplne presny, ale zvolit si nejakou mrizku a treba to okorenit tim ze se po diagonalach holt jede rychleji - a udelat si presnou (tedy z celych cisel) mrizku?
a nebo mit poskladane male kostky a resit to tak ze si pamatujes pozici hlavy presne, ale zaznamenavas do 3D jen pribliznou polohu do malych subkostek
tvoje super presne reseni ma totiz problem ze ve 3D to bude skoro nehratelny - proste se sobe pujde vyhnout o 0.02 bodu
kdezto zvolenim velikosti sub-kosticky treba 0.5 dostanes i rozumnou presnost v zaokrouhlovani ... |
|
Návrat nahoru |
|
|
quas4
Založen: 18. 10. 2007 Příspěvky: 199
|
Zaslal: 14. prosinec 2010, 23:19:43 Předmět: |
|
|
rezna napsal: |
tvoje super presne reseni ma totiz problem ze ve 3D to bude skoro nehratelny - proste se sobe pujde vyhnout o 0.02 bodu |
ve 3d variante jsem (automaticky) pocital ze se jedna o valce a ne usecky. |
|
Návrat nahoru |
|
|
Matasx
Založen: 17. 08. 2008 Příspěvky: 258
|
Zaslal: 14. prosinec 2010, 23:44:21 Předmět: |
|
|
Je to fakt triviální a navíc prasárna, ale na střední sme s tím zabili nejednu hodinu
Worms. |
|
Návrat nahoru |
|
|
franz
Založen: 30. 07. 2007 Příspěvky: 1325
|
Zaslal: 14. prosinec 2010, 23:56:52 Předmět: |
|
|
Pro tuhle hru je typická její snadná implementace, tak si to nekomplikuj nějakým 3D...
Když jsem to kdysi dělal jako dítě v Pascalu (v BGI) téměř bez jakýchkoliv znalostí a bez internetu (měl jsem pouze Help), ani jsem se nestaral o překreslování scény, prostě jsem jen kreslil malé vyplněné kruhy na nových pozicích, tedy bez čištění scény a tím vznikali hadi jako když táhneš štětcem v Malování. Byla tam funkce, která vrátila barvu pixelu (x,y) na monitoru, to jsem používal pro zjištění kolize. Tím že jsem zjišťoval jen střed kruhu a hadi byli tlustší vznikla fajnová tolerance pro kolize, že šlo minout jiného hada dost natěsno a maličko ho i překreslit, což bylo super a myslím, že totéž používaly i jiné klony této hry. |
|
Návrat nahoru |
|
|
Matasx
Založen: 17. 08. 2008 Příspěvky: 258
|
Zaslal: 15. prosinec 2010, 00:26:22 Předmět: |
|
|
franz: jojo tak nějak to mám taky napsané a ještě před úpravou "detekce kolize" fungovala taková fajnová věc: když si to namířil proti oponentovi v úhlu 90°, tak si ním mohl projet |
|
Návrat nahoru |
|
|
Peto
Založen: 01. 08. 2007 Příspěvky: 206 Bydliště: Košice
|
Zaslal: 15. prosinec 2010, 10:36:58 Předmět: |
|
|
Na tu hru niekedy bola rychlosutaz... a pamatam si ze aj ja som do nej vtedy prispel http://www.edownload.cz/sw/cervotoce-3d/ .. 3D adaptacia... myslim ze som to robil kreslenim po pixeloch do textury.. a koliziu taktiez cez texturu... je to 2D ale odohrava sa to v 3D... keby si chcel kod mam ho tusim este niekde... |
|
Návrat nahoru |
|
|
quas4
Založen: 18. 10. 2007 Příspěvky: 199
|
Zaslal: 15. prosinec 2010, 13:18:07 Předmět: |
|
|
aha. tim 3d jsem myslel obmenu ktera by spocivala ve 3d pohybu (ne jen ze se vyprojektuje 2d placka do 3d prostredi) a hrac by videl prostredi treba z first-person pohledu. |
|
Návrat nahoru |
|
|
|