![]() |
![]() |
|
Pravljenje igara Programski jezici, tehnike, alatke u službi pravljenja igara... |
![]() |
|
Alatke vezane za temu | Vrste prikaza |
![]() |
#41 |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
![]()
nisam ti ja zamerio nista, ja te samo pitam da li znas sta ucis. sad si rekao da znas i to je uredu, kraj price.
|
![]() |
![]() |
![]() |
#42 | |
Član
|
![]() Citat:
|
|
![]() |
![]() |
![]() |
#43 |
Deo inventara foruma
|
![]()
Ajde da se vratimo na temu
![]() EDIT: Evo neka neko napise najprostije moguce algoritam za pong (kao sto sam ja delimicno uradio za tetris) i moze eventualno pridodati matematicke funkcije za odbijanje loptice pod razlicitim uglovima u zavisnosti gde udari loptica. Poslednja ispravka: Patton (3.7.2009 u 9:55) |
![]() |
![]() |
![]() |
#44 |
V.I.P. Test Play
Član od: 5.4.2006.
Lokacija: Beograd
Poruke: 14.740
Zahvalnice: 5.311
Zahvaljeno 4.083 puta na 2.664 poruka
|
![]()
Veoma interesantan clanak o programiranju i igarama:
http://www.firaxis.com/jobs/career.php?page=HTPROG09 |
![]() |
![]() |
![]() |
#45 |
Veteran
Član od: 4.7.2008.
Lokacija: Somewhere along the line
Poruke: 505
Zahvalnice: 85
Zahvaljeno 34 puta na 29 poruka
|
![]()
Ajde ako vas ne mrzi da svako od iskusnijih programera igara napise put kojim je poceo(mislim koje je igre prve pravio) ?
|
![]() |
![]() |
![]() |
#46 |
Kekule Mekule
|
![]()
Tebe bas mrzi da bilo sta smislis? Uzmi pravi zmijicu ili top-down shooter.
|
![]() |
![]() |
![]() |
#47 | |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
![]() Citat:
vidim po drugim temama da si zbudzio iks oks i pong (koji rade, ali su daleko od gotovog proizvoda) i vec trazis sta ces dalje. lepo je sto imas zelju da radis komplikovanije stvari, ali neces postati game developer preko noci. odnosno, nemoj to shvatiti kao fiksnu ucrtanu putanju do cilja. ne moze se reci "napravi iks oks, pa pong, pa pekemena... pa xy e, sada si profesionalac" probaj da prosiris znanje na ovome sto si do sada napravio, probaj da naucis po nesto o svim aspektima programiranja (igara). evo, sad cu da nalupam ovako nabrzinu sta sve mozes da naucis na jednom pongu : Glavni meni sa pod menijima, tranzicije izmedju menija i igre, cuvanje podesavanja u fajlu. high score lista nivoi sa preprekama, level editor. jos elemenata (teleporti, ubrzavaci, usporivaci, dinamicke prepreke). to su samo neke ideje koje su meni pale napamet odmah. najbolje bi bilo da ti razmislis sta bi tebi bilo zabavno za implementaciju. po mogucstvu nesto sto otprilike imas ideju kako bi trebalo da funkcionise ali nemas u glavi tacno u detalje kako ce raditi. i onda se baci na razmisljanje, guglanje i resavanje problema. ustvari pokusavam da ti kazem "stici iskustvo" nemoj shvatati kao cilj "sto pre napraviti igru i krenuti na sledecu" naravno, to je sve jedan veliki savet, a kako ces postupiti to ti najbolje znas ![]() |
|
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku irreal na korisnoj poruci: | ||
boshkodj (18.7.2009) |
![]() |
#48 | |
Veteran
Član od: 27.12.2005.
Lokacija: Vremenske Grobnice, Hiperion
Poruke: 680
Zahvalnice: 99
Zahvaljeno 124 puta na 82 poruka
|
![]() Citat:
|
|
![]() |
![]() |
![]() |
#49 |
Član
|
![]()
Da li neko moze da mi preporuci koji free game engine da koristim, posto ih ima dosta pa ne znam za koji da se odlucim
![]() |
![]() |
![]() |
![]() |
#50 |
Deo inventara foruma
|
![]() |
![]() |
![]() |
![]() |
#51 | |
Veteran
|
![]() Citat:
http://www.sk.co.yu/forum/showthread.php?t=47539 |
|
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Ivan-94 na korisnoj poruci: | ||
Dorfeus (17.9.2009) |
![]() |
#52 |
Veteran
|
![]()
Znam da ce ovo izazvati neku prozivku ili nesto a receno je vec dosta puta ali ja moram (nemojte da se neko nadje uvredjen ili prozvan, ovo je moje misljenje) :
1. Mislim da C++ NIJE dobar jezik za pocetnike (odgovor na prvu poruku u temi). C++ je jedan od najkomplikovanijih zveri od jezika na svetu, bez preterivanja. Pocetnik treba da uhvati konac sa programiranjem, da nauci kako da razmislja kao programer, a ne da juri gde mu curi memorija. C++ programer mora (ili bi trebalo) da zna sta njegov kompajler radi u pozadini. Trebao bi da razume razliku izmedju alokacije na stack-u i heap-u, da zna kako da napravi staticki operator overload da npr. natera std::map da koristi std::string kao kljuc, da zna razliku izmedju virtuelnih i ne-virt. metoda, koje posledice to nosi. Diamond inheritance problem? Virtuelno nasledjivanje? Sta ce sve to pocetniku? Pocetnik u C++ vrlo verovatno nece umeti da napise kod dovoljno dobar ni da pridje brzini jedne Jave, tako da argument of efikasnosti definitivno otpada. Ista stvar kao i sa rucnim pisanjem assembly-a, samo onaj ko stvarno poznaje jezik moze da iskoristi sve sto on pruza. 2. C++ nije najbolji PL za pisanje igara, najbolji je onaj u kome igra moze da se napravi brzo i sa sto manje muke, a da ispunjava zadate zahteve. Znaci najbolji je onaj koji radi pos'o. Primer toga je ekipa koja pise Hellthrone Lepterija. Sto se tice ostalih jezika, Java ili C# su po mom misljenju najbolji za pocetnike. Jasni su, odlicni jezici, koristi ih ogroman br ljudi, i korisni su. Po mom misljenju C# je bolji jezik (pruza vise dobrih stvari) od Jave, ali ga koci to sto je prilicno M$ centrisan. Ako se neko setio Mono-a, nek pogleda poslednje benchmarkove istog i izbrise ga iz glave ![]() 3. Ne postoji jedan jezik u kome se pisu AAA naslovi. Mislite da se utility programi (map editori, neki mission editori i td) uvek pisu u C++-u? U vecini slucajeva ne. A evo jos jedne jako bitne stavke : ako hocete da promenite atribute nekog oruzja u igri (npr damage), sta cete da radite, da rekompajlirate celu stvar? Jok, za to se koriste skrit jezici (tipa Lua, unreal scritpt, i td) ciji se interpreteri embeduju u engine igre. PS : Koga zanima graficko zezanje, nek pogleda processing. PPS : Sto se tice game makera i slicnih stvari, i one imaju svoje mesto, ali nisu preterano korisni kao alat za ucenje. PPPS : Otiso sam da pojedem nesto. PPPPS : jos jedna preporuka koja je meni dosta pomogla. Probajte razlicite jezike po koji mesec. Svaki sledeci ce vam ici lakse i brze, a naucice vas puno. Probajte i one malo redje, npr Lisp, ili Haskell (ja nisam uspeo da ga ukacim nikako). Svako novo iskustvo naucice vas nesto sto cete moci da koristite u drugim jezicima. Osim brainf*ck-a, on nije nesto posebno za ucenje. PPPPPS : A da ne bude off, uskoro cu napisati neki mali tutorial za neku sitnu igru i kao sto rece Patton. Poslednja ispravka: fingerprint (16.9.2009 u 15:40) |
![]() |
![]() |
![]() |
#53 |
Kekule Mekule
|
![]()
Potpisujem
![]() Sto se performansi tice evo jednog primera: Ja recimo uradim inventory na nacin koji znam da ce 100% da radi. Posle par dana uvidim bolji nacin i prepisem kod i dobijem osetni performance boost (brze ucitavanje i sortiranje itema). Jezik nije boostovao performanse jer je uber brz ili sta ti ja znam, vec ja jer sam napisao kod na bolji nacin. Tako da batalite price "C++ je godlike" i uzmite jezik i alate koji vam odgovaraju. |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Andross na korisnoj poruci: | ||
allokin (16.9.2009) |
![]() |
#54 | |
V.I.P. Test Play
Član od: 5.4.2006.
Lokacija: Beograd
Poruke: 14.740
Zahvalnice: 5.311
Zahvaljeno 4.083 puta na 2.664 poruka
|
![]() Citat:
Uvek je najbolji jezik koji najbolje radi za konkretnu situaciju. Primer: Civ3 je uglavnom radjen u obicnom C-u (endzin), ali su pathfinding algoritne radili u asembleru. Zasto: Zato sto su isti veoma zahtevni, i u vreme kad se igra radila, bilo kakav drugi nacin bi bio previse spor za komercijalni naslov. Editor za istu igru nije radjen u C-u, ne secam se sta su koristili. P.S. Stariji Civ naslovi su koristili neke heruistike umesto pravog pathfining algoritma koji su mnogo brze ali veoma neprecizne. Cesto se desavalo da jedinica ne uzme najbrzi put i slicno. P.P.S. Za male igre C++ je overkill. Nije cudno sto je adobe flash najpopularniji za iste (iako je ubogo spor). P.P.P.S. Prednost C-a (pa i C++) je sto je "nizi" jezik, tj. blizi je masniskom nego neki drugi jezici, sto je dobro ako je cilj sto je moguce bolje optimizovati kod. Npr. ako treba da se napravi neki endzin (od nule) za zahtevnu igru. Dosta stvari koje kompajleri drugih jezika rade automatski moraju kod njega da se rucno urade (alokacija/delokacije memorije, nepostojanje garbage kolektora i slicno). Poslednja ispravka: player1 (16.9.2009 u 16:23) |
|
![]() |
![]() |
Sledećih 3 korisnika se zahvaljuje korisniku player1 na korisnoj poruci: | ||
![]() |
#55 |
Veteran
|
![]()
Aj kad sam vec počeo, vidim da mnoge zbunjuje koncept kompajliranja, interpretiranja, i šta su tacno java i C#. Objasniću onako kako ja to razumem, ako grešim neka me neko od starijih i iskusnijih ispravi :
Kompajlirani jezici su oni jezici koji se pomoću kompajlera prevode direktno u mašinski kod (ili u neki drugi jezik koji se onda prevodi u mašinski kod). Manje su portablini od interpretiranih jezika. Primeri : C++, C, D... Interpretirani jezici se eventualno prevode u bytecode, ali rade tako što ih interpreter interpretira u toku rada. Interpreter se sastoji (uglavnom) od leksera i parsera, gde lekser služi da jezik pretvori u logičke strukture, koje parser moze da parsira. Tj, lekser "tokenizuje" source kod, i ne zanima ga šta on radi. Parser je deo interpretera koji radi šta već treba kad naidje na određeni opcode. Ovi jezici su obično sporiji, ali dosta više portabilni. Čisti interpretirani jezici su Lua, Bash, Python (koliko ja znam). Java : Java tehnički jeste interpretiran jezik, jer se kompajlira u bytecode, koji interpretira VM (Virtuelna Masina). Sad, šta tačno radi VM, nikako nisam uspeo da provalim (a jurio sam) jer svuda čitam različite stvari. VM je nešto što emulira neku platformu, u ovom slučaju to omogućava javi da bude 100% portablina. Dva najpopularnija načina za implementaciju VM-a su interpretacija i JIT (Just in Time Compiling, ili kako ja to zovem đitanje). Ako JVM intepretira, onda je java čist intepretiran jezik, ako java đita, onda nit' smrdi nit' miriše, jer je đitanje u stvari prevođenje (kompajliranje) u runtime-u, pa onda java nije ni intepretirana ni kompajlirana. Kaže se da je java Đitovana, ako baš hoćete nekog da zbunite, recite mu da se "java đita". C# : E, ovo je čudna zver. C# nije đitovan, on se prevodi u MSIL (CIL), a MSIL je interpretiran od strane .NET virtuelne mašine, koja ga, koliko ja znam, đituje. Šta to znači? Pa, Microsoft voli da štanca jezike (od kojih je C# ubedljivo najbolji). Znači, svi M$ jezici : C#, VB, J# se prevode u MSIL/CIL. MSIL znači "Microsoft Intermediate Language", a CIL "Common Intermediate Language". Isti đavo, samo nisam siguran koji od ta dva da koristim, pa pišem oba. A sad bih napisao nešto kratko na temu Java vs C#, i voleo bih da vidm da li se slažete ili ne, i zašto. Po mom mišljenju, C# bi rasturio Javu, samo kada bi bio tako portabilan. .NET ima najbolju implementaciju C#, Mono se trudi al' je*iga. Što se tiče sintakse, evo par stvari koje C# ima a Java nema izgovor što nema : 1. C# ima objekte koji se prenose po vrednosti, umesto po referenci (strukture). 2. C# ima alokaciju na steku (strukture) 3. C# ima delegate, ekstremno moćne funktore. To što ih java nema u startu ograničava programera. Smem da kažem da onaj ko kaže da se ista stvar postiže interfejsima zaslužuje da bude bičevan. 4. C# ima operator overloading. Argument koji Javaši imaju za ovaj nedostatak leži u ideji da programerima treba odbrana od sebe samih. To je uglavnom tačno, ali ako će neko da te spasi saplitanja tako što će ti amputirati noge, onda on ne pomaže preterano. Operator overloading je stvar koja PODIŽE nivo apstrakcije tako što programer korisnik koji (npr) koristi vašu generičku smart-pointer klasu uopšte ne mora da zna da to nije običan pointer. Ili klasa za rad sa vektorima, šta izgleda lepše, i šta je lakše za rad (mada smo svi vidjali i krajnje kretenske zloupotrebe operator overloadinga): Kod:
//C#, C++ Vector a = b * 2 + c - 6 * d; //Java Vector a = (b.multiply(2)).add( c.subtract( d.multiply(6) ) ); Ako se neko seti još nečega, nek navede ![]() Ali iako mislim da je C# bolji i moćniji jezik, više volim da koristim Javu, jer radi na mojoj Fedorici ![]() Poslednja ispravka: fingerprint (17.9.2009 u 13:50) |
![]() |
![]() |
![]() |
#56 | |
Starosedelac
|
![]() Citat:
![]() Ima jos jedna stvar u kojoj java ne moze da parira C#... Refleksija i Emitovanje koda... Sto bi vam, npr., omogucilo da otvorite plugin biblioteku, ucitate tip iz nje, implementirate mu interfejs, dodate potrebne metode, i ponovo tu novu klasu sacuvate u fajl... Ili naterate program da sam sebi prepravlja kod... Ne tako cesto koriscena opcija, ali vrlo zanimljiva... |
|
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku MG-RAY na korisnoj poruci: | ||
EclipsE (18.9.2009) |
![]() |
#57 | ||
Deo inventara foruma
Član od: 14.3.2008.
Lokacija: EHCPCGG
Poruke: 12.082
Zahvalnice: 4.309
Zahvaljeno 3.276 puta na 2.263 poruka
|
![]() Citat:
![]() I sto je finger rekao Citat:
![]() Konacno reci koje su na mestu ![]() Vidim ja da je C# bas dobar, je li? Pa sta kazete da "migriram" sa VB6 na njega (omg bice malo tesko)? ![]() ![]() P.S. Najvise se bavim izradom nekih utilityja za sve i svasta, editora svega i svacega itd...? |
||
![]() |
![]() |
![]() |
#58 |
Član
|
![]() |
![]() |
![]() |
![]() |
#59 |
Veteran
Član od: 14.3.2009.
Poruke: 1.197
Zahvalnice: 206
Zahvaljeno 273 puta na 178 poruka
|
![]()
Po meni ne treba se lomiti sa 'fizickim modelom' tetrisa i iks-oks algoritmima,pocnite od jednostavnih slika na backgroundu forme i svakoj slici dodelite razlicita svojstva i click driven dogacaje u sprezi i dobijate jednostavnu click-point avanturu.
Treba vam minorno znanje bilo kog 'vizuelnog' razvojnog okruzenja: -ispis teksta -dinamicko uklanjanje i dodavanje dugmati,pics,gifova i sl. - i snimanje prostih txt fajlova sa podacima koji menjaju samu igru(rudimentirani save option) -i play prostih audio fajlova koji su vezani za dugme ili stanje neke javne promenljive - i naravno dosta maste i laganog 'kupljenja' novih forica Meni je sve ovo islo od ruke,pa sam cak pomocu timera(vestackog vremena u programu) napravio da se mora sacekati odredjeno vreme da bi se nesto desilo ne vezano za interakciju igraca. Sve je bilo ok dok nisam hteo da uozbiljim stvari malo jer mi je trebao neko da nacrta avanturu u jedinstvenom grafickom stilu koji se proteze kroz igru da sve to ne izgleda mrtvo previse. |
![]() |
![]() |
![]() |
#60 |
Starosedelac
|
![]()
Pokusaj prvo za VB.NET, obzirom da slicnu sintaksu vec poznajes, pa vidi kako ces se uklopiti sa samim Framework -om. Posle toga predji na C#, ako ti se ceo koncept dopada.
|
![]() |
![]() |
![]() |
Bookmarks sajtovi |
Tagovi |
pravljenje igara, web development |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
![]() |
||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Animirane slicice za macku i misa iz pticije perspektive | JBlitzkrieg | 2D radovi | 7 | 13.5.2009 21:07 |
Kako blokirati posetioce iz jedne zemlje? | tarantula | Web razvoj | 8 | 12.7.2008 9:33 |
Kako portovanti igru na phone? | optimus_prime | Pravljenje igara | 8 | 26.6.2008 10:27 |
3ds Max 7 kako napraviti 3d srce | Master Neo | Grafički softver i radovi | 5 | 17.3.2006 8:32 |
Kako da umrezim igru? | alien | O igrama uopšte | 2 | 24.2.2006 10:58 |