|
Pravljenje igara Programski jezici, tehnike, alatke u službi pravljenja igara... |
|
Alatke vezane za temu | Vrste prikaza |
29.6.2009, 15:13 | #1 |
Banned
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
|
Kako napraviti igru! (Iz perspektive programera...)
Odmah da kazem da AAA igre prave ogromni timovi ljudi, uz cijene koje se u prosjeku krecu od 10 do 20 miliona dolara. Za konkretan primjer, budzet GTA4 je bio $100.000.000! Ovo govorim, da bi vas odbio od pitanja: "Kako da napravim novi CoD, WoW...?"
Sada je neizbjezno pitanje izbora programskog jezika. Odgovor, bez puno pametovanja, je jednostavan: "C++". Sto se tice okruzenja, vrlo kvalitetan (a besplatan) je Visual Studio Express. Cilj post-a nije tutorial ovog jezika (sto bi bilo i nemoguce ostvariti na ovako malom prostoru). Pretrazivanjem interneta mozete doci do malko vise od bezbroj tutorijala, a cak da vam nijedan ne odgovara, vasa lokalna knjizara sigurno ima knjiga na trazenu temu. 1. primjer: iks-oks ili slagalica -"Zasto bih gubio vrijeme da pravim bezveznu igru koju niko nece igrati?" -"Ma, ovo je lako, nema potrebe da se zamajavam!" Vrlo je bitno krenuti od necega i (po meni, jos bitnije) zavrsavati svoje projekte. Kada prodjete taj proces vise puta, shvaticete da uvijek naidjete na neku zackoljicu, koja se ili cinila lagana, ili ste mislili da nece predstavljati problem. Napravite igricu tako da to bude gotov projekat, da nista ne fali, da nije bug-ovita. S druge strane, mozda ste vec sada zastali, jer ne znata kako bi poceli, sto znaci da ne posjedujete dovoljno znanje iz programiranja. Nemojte posezati za game-maker-ima, "How to make a game in 5 minutes?" i ostalima. Ako hocete da budete programer igara, morate znati programirati. Kupite kakvu knjigu, pretrazujte internet (npr http://www.cprogramming.com/tutorial.html) sta god da vam odgovara. Znajte da ce biti potrebno vrijeme da sve to savladate i da cete uspjeti jedino ako ste uporni. Dok prolazite kroz osnovne stvari programskog jezika, uvijek zastanite i pokusajte napraviti nesto svoje. Recimo, tek ste poceli da ucite i upoznali ste se sa ispisivanjem i unosom rijeci i petljama. Cak i sa tako osnovnim poznavanjem mozete napraviti jednostavnu igru pogadjanja broja! Kada zavrsite svoj prvi iks-oks (ili nesto slicne tezine), razmislite da li ste se osjecali komotno - da li ste cesto bili zbunjeni i niste znali sta dalje, da li ste cesto posezali za savjetima. Dobro razmislite da li bi sada znali ispocetka napraviti istu ili slicnu igru, bez ikakvih problema. Ako niste sigurni, upustite se u jos koji jednostavan projekat, igra memorije i sl. 2. primjer: pacman, tetris ili arkanoid Napravili ste svoju prvu igru/igre. Vjerovatno bez zvuka, bez muzike i sa slabijom grafikom. Ono sto sada trebate napraviti jeste nesto, sto bi pomislili da se moze prodati, ali ce, generalno, faliti duzine i ispeglanosti. Pored vas, kao programera, preporucio bih jos ljude zaduzene za grafiku, zvuk i muziku. Istina, mozete i sami da se bavite crtanjem, no ovdje trebate stati i razmisliti: neko ce da se bavi crtanjem igraca, neprijatelja, pozadine, zidova, UI-ja, cigli, loptica i sve to animirano, sareno i prijatno za oci. Da li vi to znate kvalitetno da odradite? Ako je odgovor da, programer treba vas da trazi. Sto se tice samog koda, ovdje nema sta da vas uplasi. Doduse, kada pogledate jednu partiju arkanoida, mozda pomislite: "Kako napraviti igraca, lopticu, cigle, zidove, skor, a sve se to odjednom krece, sudara, sabira, eksplodira?" Pa, upravo je kljucno da ne radite sve odjednom. Da li znate da ocitate unos sa tastature? Da li znate da nacrtate pravougaonik na ekranu? Guess what, znate i da nacrtate i da kontrolisete glavnog protagonistu! Ako uzmete prazan ekran, da li znate da nacrtate krug koji ce ici konstantnom brzinom i odbijati se od krajeve ekrana? Spojite ovo dvoje i prakticno ste na pola puta da zavrsite programerski dio posla. Ono sto bi trebao da vam bude zadatak ovdje jeste kada "zavrsite" igru, svi zajedno uzmete list papira, sjednete za kompjuter i igrate. Sve, ali sve sto mislite da moze da se poboljsa zapisite! Vi cete mozda primjetiti da se neki dijelovi grafike mogu poboljsati, vas prijatelj koji je to sve crtao ce mozda primjetiti da neki zvucni efekti odskacu od drugih, dok ce covjek zaduzen za zvuk mozda imati kreativnih savjeta vezanih za igrivost. Bitno je da poboljsate svaki aspekat igre, koliko god je to u vasoj moci. Na kraju cete dobiti proizvod sa kojim cete se svi zajedno moci pohvaliti. |
Sledećih 38 korisnika se zahvaljuje korisniku sasha vukelic na korisnoj poruci: | ||
--ComputerBoy-- (21.8.2009), Bokile (1.7.2009), CarNikola (28.4.2012), Cira93 (28.3.2010), Djordje Turjacanin (1.7.2009), doctor (29.6.2009), DonCorleone91 (29.6.2009), DylaN (3.2.2010), Ewok (16.11.2009), Fantastic (29.10.2010), Geomaster (2.7.2009), ilija_iksi (7.11.2010), irreal (29.6.2009), Ivan-94 (28.6.2011), JS81 (1.3.2012), Ketchua (29.6.2009), Marko Radonjic (29.6.2009), Marko_L (2.11.2010), mirk (3.1.2010), Mr.Lukyas (29.6.2009), nidza001 (19.6.2012), Nikola95 (30.6.2009), NikolaDZZ (29.8.2011), NIx Car (24.9.2013), Patrick (29.6.2009), Peki_92 (8.4.2010), player1 (29.6.2009), Rajo (6.1.2017), RaKuN_s_NeOnKoM (21.3.2012), Reloader (25.6.2013), rudar (30.6.2009), Sayonara (30.6.2011), SrW1 (2.9.2011), Stefan Jovicevic (2.7.2014), Stevvan (1.7.2009), Teva (24.3.2011), Zeldaš (7.3.2012), zeljo (6.9.2014) |
29.6.2009, 18:03 | #2 |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Bravo. Dobar tekst.
Mislim da mozda ne bi bila losa ideja opisati proces pravljenja jedne relativno jednostavne igre. ne mora se tu koncentrisati na tacan kod, bitan je proces razmisljanja, nacin resavanja problema. sta uraditi kada ne znas kuda dalje. kako debugovati. cisto da ljudi koji nemaju nikakvog iskustva steknu neki osecaj kako sve to izgleda. ukoliko mislite da bi ovo bilo iole korisno ja mogu da napisem proces pravljenja ponga za 4 igraca u c++-u ili recimo onaj moj remake Logicala. |
29.6.2009, 18:13 | #3 |
Veteran
Član od: 4.7.2008.
Lokacija: Somewhere along the line
Poruke: 505
Zahvalnice: 85
Zahvaljeno 34 puta na 29 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Ne bi bilo lose da iskusniji programeri(igara) napisu listu igara koje su pravili tj. da napise listu koju misli da treba da napravi neko ko pocinje sa gamedevom ,npr: iks/oks > pong > pacman > itd...
|
29.6.2009, 18:31 | #4 |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
evo moje neke preporuke pocetnicima :
tekstualni papir kamen makaze. tekstualno pogadjanje brojeva prelazak na (jednostavnu) grafiku iks-oks pong arkanoid. tetris bi savetovao tek dosta kasnije, tetris je tezi neko sto vecina ljudi misli. inace, najbitnije je shvatiti da nista ne ide preko noci. ako nemate iskustva u programiranju igara necete za jedan dan nauciti sve, necete ni za dva dana, ni za dve nedelje. samo POLAKO. ne zaletati se preko glave jer to samo kreira frustraciju. |
29.6.2009, 20:19 | #5 |
Član
Član od: 12.6.2006.
Poruke: 112
Zahvalnice: 19
Zahvaljeno 6 puta na 6 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Mi smo ucili Pascal u skoli i to sam vise nego odlicno savladao. e sad sledece godine pocinjemo da radimo u Delphi-ju pa je moje pitanje da li ce i Delphi DOBRO "zavrsiti posao" oko ovih manjih projekata koje ste naveli (arkanoid i drugo)? Znaci ako nadjem ljude koji ce da mi odrade zvuk i grafiku, da li ce biti sve jedno da radim u C++ ili Dephi-ju (ili makar priblizno isto)? Znam da bez C++ nema 'leba, ali s njim cu da se pozabavim kasnije (na fax-u)... Ipak mislim da ucenje dva programska jezika istovremeno nikako nije dobra ideja...
|
29.6.2009, 21:07 | #6 | |
Deo inventara foruma
Član od: 14.3.2008.
Lokacija: EHCPCGG
Poruke: 12.132
Zahvalnice: 4.342
Zahvaljeno 3.304 puta na 2.279 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Citat:
-------------------------------------------------------------------------- A evo npr. redosled pravljenja igara... -Prvo neka tekstualna igra. Npr. program generise radnom broj od 1 do 10 i trazi od korisnika da pogadja koji je broj u pitanju. Sve to u tekstualnom (MS-DOS=konzola=tekstualno) okruzenju. -Zatim nesto tipa Pong, nista preterano tesko ali ni lako. -Zatim nesto tipa PacMan. Ovo je tesko u zavosnosti od toga u kom se jeziku/RAD-u radi... npr (mnogi mi ne veruju ali boli me !@#$$%@#%) u popishanom Game Makeru se osnova PacMana (tzv. engine) pravi za nekih pola sata-sat dok je za izradu istog u C++ potrebno mnogo vise logike, razmisljanja i znanja (zato preporucujem C++ ili sl. a ne RAD alate tipa GM). -Eh, onda bi usledio neki platformer, a posle njega i neki top-down shooter, bar po mom mishljenju. -Na kraju Tetris. Tetris je izuzetno tezak za pravljenje, to vam kazem iz iskustva (i mojeg i drugih) jer nisam uspeo da je napravim. -Ukoliko napravite freakin' tetris, mozete da se bacite na neke druge stvari u igrama, kao sto je engine za fiziku, za particles, i sl. ==> Logican korak dalje je 3D, ali vas je izbor kakvu cete igru u 3D praviti. EDIT: Let this thread be sticky!!! |
|
29.6.2009, 21:11 | #7 |
V.I.P. Test Play
Član od: 5.4.2006.
Lokacija: Beograd
Poruke: 14.809
Zahvalnice: 5.582
Zahvaljeno 4.113 puta na 2.686 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Realno, mozes u svemu i svacemu da napravis malu igru (vidim, flash je dosta popularan, pa cak i praktican za tako nesto), ali problem je u tome, da bez obziljnog i efikasnog programskog jezika kao C++, da ce zahtevnost brzo postati prevelika za bilo sta vece. Ozbiljan game dev trazi efikasan programski jezik, i bolje znanje materije.
Zato, ako neko hoce da proba da se bavi game devom ozbiljnije, treba da proba prvo da napravi malu igru ne u fleshu, ili ne daj boze game makeru, negu i pravom programskom jeziku koji se koristi za takve stvari, pa kad nauci kako to ide, moze i neki veci projekat. U suprotnom, mozes da postanes eskpert za male igre u flashu (sto da ne, i u tome ima para), ali sa takvim znanjem nikad nece moci da se bavis ozbiljnijim game devom. Poslednja ispravka: player1 (29.6.2009 u 21:32) Razlog: editovano preko 10 puta... |
29.6.2009, 21:17 | #8 | |||
Banned
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Citat:
Citat:
Citat:
|
|||
29.6.2009, 21:38 | #9 |
Starosedelac
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Ja sam od programiranja odustao cim sa poceo jednostavno nije to za mene, iako je jako i interesantno i nema granica. Mislim da kad predjes neki osnovni nivo znanja treba da uzmes da se specializujes za nesto odredjeno i to da razvijas i ucis do perfekcije. Glupo je kad predjes osnovni nivo pravljenja igara i dalje sve delove igre da radis sam, jednostavno neces nista postici (ko uspe, svaka mu se dala). Ima i onaj SAE institut gde ima odeljak za game dev il tako nesto...izgooglajte
|
29.6.2009, 21:47 | #10 | |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Citat:
slazem se da je tetris tezi nego sto ljudi misle, ali samo zato sto ti nisi uspeo da ga napravis ne znaci da je toliki bauk. nikako ne bih rekao da je "izuzetno tezak" kakav ti je to korak sa tetrisa na engine za fiziku ??? inace, u delphiju i te kako mogu da se naprave dobre, ne preterano zahtevne igre. ako mozes, bolje je da ucis c++, ali ako moras da ucis delphi i neces i delphi i c++ to ne znaci da ne mozes da pises igre. evo, taj Game Maker o kojem doctor cesto prica je napisan u delphiju. i ne samo Game Maker. mySQL administrator, Total Commander, Fruity Loops (FL Studio), Skype, GetDataBack sve napisano u delphiju, kao i mnogi drugi programi, pa i neke igre. |
|
29.6.2009, 21:56 | #11 |
V.I.P. Test Play
Član od: 5.4.2006.
Lokacija: Beograd
Poruke: 14.809
Zahvalnice: 5.582
Zahvaljeno 4.113 puta na 2.686 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Pa sad, alati i utilitiju ne zahtevaju velike performanse, pa sasvim lepo mogu da se naprave u jeziku kao delphi.
|
29.6.2009, 22:05 | #12 |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
FL studio je dosta graficki intenzivan.
a kao sto sam napomenuo, ima i dosta igara napravljenih u delphiju naravno, ne mislim na AAA naslove. ali garantujem da poprilicno dobre 2d igre mogu da se urade u delphiju i opet da rade na nekom pentiumu 2 ili 3. |
29.6.2009, 22:23 | #13 |
Član
Član od: 12.6.2006.
Poruke: 112
Zahvalnice: 19
Zahvaljeno 6 puta na 6 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Nisam ni mislio da nesto ozbiljno radim u delphiju vec samo one "pocetnicke" igre cisto da bih video sta me sve ceka i na koje cu sve probleme da naidjem u njihovoj izradi. A ako sam dobro shvatio ukoliko mi se posvidja pravljenje igara i zelim nesto ozbiljnije da radim (ne samo da bih stekao iskustvo), najbolje bi bilo da naucim C++ i krenem dalje... Mislim da posto znam Pascal, najosnovnije stvari iz C-a i kad savladam delphi, C++ mi nece predstavljati veliki problem... Ili se varam?
|
29.6.2009, 22:29 | #14 |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
ako si spreman da ucis i radis, c++ ti nece biti problem sve da nista pre toga nikada nisi ni video, a ne znao.
svo iskustvo i znanje koje imas pre toga je samo plus inace, ako si vec "odlicno" savladao pascal delphi ti nece biti nikakav problem. |
Sledeći korisnik se zahvaljuje korisniku irreal na korisnoj poruci: | ||
Patrick (29.6.2009) |
30.6.2009, 1:42 | #15 | |
Deo inventara foruma
Član od: 14.3.2008.
Lokacija: EHCPCGG
Poruke: 12.132
Zahvalnice: 4.342
Zahvaljeno 3.304 puta na 2.279 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Citat:
Delphi je mocan alat, ali nije stvoren za igre, vise za aplikacije, sto te, opet, ne sprecava da napravis nesto u njemu Poslednja ispravka: doctor (1.7.2009 u 17:18) |
|
30.6.2009, 10:42 | #16 |
Banana
Član od: 9.1.2006.
Lokacija: _Cloud
Poruke: 6.113
Zahvalnice: 697
Zahvaljeno 2.635 puta na 1.358 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Nije problem objektnog paskala (Delphi) što ne može da napravi komercijalnu igru (Space Rangers 2, Soldat, Age of Wonders 2, Siege of Avalon, ...) o klasičnim aplikacijama da ne govorim (recimo Game maker, Total Commander, Ad-Aware, The Bat!, Spybot, Skype, ...) već taj što je Borland Delphi komercijalno orijentisan na drugo tržište za razliku od C++, dakle, neko tamo je odlučio još davno da game studiji nisu njihova ciljana publika i RAD je zamišljen u drugoj filozofiji, što se odrazilo na postojeće komponente, biblioteke... Pa opet, postoji gomila OpenGL/DirectX biblioteka za Delphi, gomila engine-a, ...
Glupo je jednom rečenicom odbaciti tako moćnu programersku mašineriju u celom segmentu tržišta, pogotovo ako niste radili sa njom i ne znate snagu. Uostalom, igre se mogu pisati i u Pythonu (veliki broj 2D roman-avantura), Javi (Toyota Challange 3D trka, recimo) i uopšte svakom programskom jeziku. To što se većina piše u c++ ne znači da su drugi nesposobni. Samo da se ne koriste toliko često, ili da ne vidimo toliko upadljivo rezultate njihovog korišćenja (što opet nije posledica kvaliteta same arhitekture). |
30.6.2009, 11:28 | #17 |
V.I.P. Test Play
Član od: 5.4.2006.
Lokacija: Beograd
Poruke: 14.809
Zahvalnice: 5.582
Zahvaljeno 4.113 puta na 2.686 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Ma glavni razlog za C++ je efikasnost nista drugo. Kad super jaka grafika treba da radi na normalnom racunaru, svaka optimizacija je dobrodosla. Manuelno skupljanje "djubreta", alokacija/dealkorcija memorije, pokazivaci i sve ostalo sto cini ovaj jezik tezim za ucenje ali zgodnijim za optimizovanje...
|
30.6.2009, 13:23 | #18 |
Deo inventara foruma
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Par stvari da kazem...
Hvala Saletu za odlicnu temu... ucinio sam je lepljivom i samo malo pobrisao offtopic (poruke tipa: hvala, bravo) Sto se tice tetrisa... onaj ko ne uspe da ga sklepa za dan, treba da batali programiranje. Dobro ajde, meni je trebalo dva dana, posto je to bio moj prvi C program I od toga je napravljena komercijalna igra: http://indus3.org/sugatris/screenshots.html Ne vidim nikakav problem u logici ove igre, samo treba razmisliti malo. 1. Zamislite tablu za tetris kao niz nula. Ivice table cemo oznaciti sa jedinicama, tako da se na kraju dobije nesto ovako: Kod:
1,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,1, ... itd... 1,0,0,0,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,0,0,0,1, 1,1,1,1,1,1,1,1,1,1,1,1,1 Kod:
0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,2,0,0, 2,2,2,0, 0,2,2,0, 0,0,0,2, 0,2,0,0, 2,0,0,0, 0,0,2,0, 0,2,2,2, 0,2,2,0 0,0,0,0 0,0,2,0 0,0,0,0
4. opciono ubaciti scoring sistem, nivoe, razne druge oblike... itd... itd... 5. ima li ista lakse od ovog po meni tetris je jednostavniji od pacmana, jer nema AI-a |
Sledećih 4 korisnika se zahvaljuje korisniku Patton na korisnoj poruci: | ||
30.6.2009, 23:08 | #19 |
Veteran
Član od: 4.7.2008.
Lokacija: Somewhere along the line
Poruke: 505
Zahvalnice: 85
Zahvaljeno 34 puta na 29 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
Ajmo ljudi,ako vas ne mrzi,pisite za druge igrice,ovako kao sto je napisao Patton car
|
30.6.2009, 23:29 | #20 |
Banana
Član od: 9.1.2006.
Lokacija: _Cloud
Poruke: 6.113
Zahvalnice: 697
Zahvaljeno 2.635 puta na 1.358 poruka
|
Re: Kako Napraviti Igru/Igricu! (iz perspektive programera...)
To je zato što razmišljaš kao programer i imaš dobre programerske navike (koje se usvajaju najbolje kroz C ili Pascal).
Onaj ko je počeo da radi sa recimo game makerom, koliko god on bio dobar u nekim segmentima, nikad taj problem neće posmatrati na isti način, već uvek kroz gotove sprajtove, kockice, ili nešto slično, i odmah će naići na logičku blokadu - izgledaće mu nemoguće. |
Sledećih 4 korisnika se zahvaljuje korisniku Eni na korisnoj poruci: | ||
Bookmarks sajtovi |
Tagovi |
pravljenje igara, web development |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
Slične teme | ||||
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 |