Yo,
Ja tu tylko tak chwilowo i dziwnie trafilem, ale chyba mam wiecej doswiadczenia w programowaniu gier niz wszyscy tutaj sie wypowiadajacy razem wzieci :)
Po pierwsze - 32bitowy (ass)embler, czyli taki, w ktorym sie pisze, zeby to dzialalo pod ukochanym przez wszystkich windowsem moze i jest szybki. W tym sek, ze sie w nim nie pisze. Boowa tutaj zarzucil, ze karta potrzebowalaby 1gb ramu, zeby oteksturowac postac zrobiona z ilustam faceow (wybaczcie, ze nie pamietam) i tekstura 1024x1024 - chyba masz niedoswiadczonych programistow :) Teksturki 1024x1024 to jest normalny, zwykly standard, a 6000 faceow to wcale nie tak duzo. Juz sam efekt falujacej wody tworzonej na podstawie czystej matematyki, z uwzglednieniem fizyki itp. rzeczy ma 50000 faceow i jesli sie uzywa dobrego engineu, na moim sprzecie (cel500, gf2mx) wyciaga 70 klatek.
C++ jest jezykiem, ktorego sie uzywa zawsze do duzych projektow. Wiadomo, ze engine musi miec jezyk skryptowy (Python, LUA czy cos takiego) ale asma sie nie uzywa. Dlaczego? Uzyj asma i uruchom program pod Win98 - wszystko bedzie dobrze. Uruchom go pod Win2000 albo XP i zaczynaja sie rozne rzeczy dziac. Chodzi o sposob dostepu do sprzetu i pamieci. Wiec w tym momencie juz nie chodzi o optymalizacje na poziomie jezyka, jak w czasach DOSu, gdzie wstawki asm byly konieczne. Teraz chodzi o optymalizacje na poziomie kodu. Programisci piszacy engine\'y _wierza_, ze API, ktorego uzywaja potrafi odpowiednio wykorzystac sprzet i tak jest. Gdybys chcial pisac pixel shadery w asmie, to mniej niz 120.000 linii kodu bys nie napisal dla zwyklego bump mappingu. A Cg (jezyk stworzony przez nVidia do oprogramowania pixel shaderow) potrafi to zrobic w 10 linijkach. Moge sobie dac reke uciac, jesli w engine Unreal jest jakas wstawka asmowa odpowiadajaca za obsluge renderingu. Na pewno uzywaja C++ (co widac jak sie zdebuguje exeka), na pewno jakiegos jezyka skryptowego (mozliwe, ze wlasnej produkcji) i jakiegos jezyka do pixel shaderow. Nie sadze, zeby tego bylo wiecej.
Z tego co widzialem na tym topicu prace do tej gry, to takiego grafika chcialby kazdy zespol zajmujacy sie tworzeniem amatorskich gierek w Polsce. Na Twoim miejscu wiec looknalbym na warsztat.pac.pl (ktos rzucil linka i slusznie), gdzie jest naprawde duzo osob, ktore pisza wlasne engine albo potrafia wykorzystac istniejacy. Jak chcesz sie zabrac za robienie gry samemu... musisz sie nauczyc C++ i to dobrze. Do tego albo sie uczysz jakiegos low-level API typu DirectX albo OpenGL albo uczysz sie obslugiwac istniejacy engine (tu moge polecic http://www.qubesoft.com - naprawde rzadzacy, jesli chodzi o uzyskiwane efekty i http://ogre.sf.net - opensource, darmowy bardzo dobry engine). Niestety nauka tych rzeczy zajmie Ci bardzo dlugo, a wielu juz probowalo napisac zbyt duze jak na ich mozliwosci gry i zgineli marnie ;) Naprawde wymaga do bardzo dobrej znajomosci jezyka i API, niezlej znajomosci algorytmiki i trzeba byc niezle stuknietym :) Ja tu jestem przykladem niestety tylko tego ostatniego, ale w przeciwienstwie do wielu programistow, udalo mi sie napisac kilka gierek (co prawda 2d, ale mam juz 10.000 linijek nowej gierki full 3d :) i wiem jakie to jest trudne, ile wymaga czasu, wyrzeczen i paczek wypalonych papierosow :) Wiec dobrze sie zastanow zanim sie za to zabierzesz, mimo wszystko raczej polecalbym podpiecie sie do jakiejs gierki w charakterze grafika, bo naprawde ladne rzeczy robisz. Juz czuje jakby moj grafik zrobil takich kolesi w tylu face\'ach ;)
Dobra, pewnie bede podpisany jako Guest, jak to zwykle bywa na takich forach, wiec sie podpisze :)
--
MC Gnoyek ..:: slackware 9.0 user
Ortalion Entertainment Programmer
mail:
[email protected]
http://www.ortalion.prv.pl
Jak chcecie sobie oblookac, to tam sa gierki, ktore napisalem, mocno kretynskie i wydaja sie masakrycznie proste, ale to nie jest takie latwe jak sie wydaje. Gdzies tam jest cos takiego jak Operation Thormentor i sa zrodla tej gierki w archiwum, mozecie sobie zobaczyc jak to wyglada. Gierka byla pisana w ciagu 24h, wiec prosze sie nie smiac z kodu (to do tych, ktorzy maja doswiadczenie w programowaniu :)
PS. Huh, a jednak musialem sie zalogowac :)