Igre i programiranje

poruka: 9
|
čitano: 9.172
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Igre i programiranje

Zanima me koji se od programskih jezika najvise koristi u izradi igara ( one prave AAA al dobro tu spadaju u indi igre)...nije da zelim preko noci nauciti programirati...samo da znam kaj uopce poceti uciti jer mi je prof s faksa rekao da je to grana IT koja se najvise trazi( mislim na programiranje)....pa me zanima sta sve treba da bi se napravio neki 3d game engine (ne ciljam na CryEngine niti cak na nesto sto je 100x losije od nejga vec na neki jednsotavni)?

Znam ja da ima puno posla oko toga i da zahtjeva vise od jednog covjeka.

Inace na faksu ucimo samo osnove C jezika.

 

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them .
Poruka je uređivana zadnji put čet 25.10.2012 10:18 (WItcher).
Moj PC  
0 0 hvala 0
14 godina
offline
Igre i programiranje

Ups. Malo sam se raspisao. Ne budi ljen, pročitaj sve, i ne letimice.

 

Pošto je u AAA naslovima bitan preformans korsiti se nešto čima više low-level (low-level znači da je... hm.. pa jednostavan, ali ne za raditi u njem već da nema puno prednapravljenih mogućnosti. Čim više high level to bolje) a opet da nije baš asambler. Industrijkski standard je C++, jer je em low level em ima OOP (Šta je OOP? Vrlo popularna tehnika programiranja. Naučit ćeš) . Za indie igre je drugačije jer su indii najčešće 2D pa prefomans nije problem. Onda je bolje koristiti nešto više od c++-a, npr c#, javu, python jer takve igre obično radi jedan čovijek koji je želi završiti u par godina pa je to s višim jezicima lakše. Također tu nije stvar jezika već i API-ja, GDK-a, libaryia ili što god već. Ako neznaš što je to, u biti to ti jedan dodatak za neki jezik koji dodaje neku mogućnost (u ovom slučaju to bi bila grafika, zvuk itd. šta ti već treba za igre) zato jer ti sam programerski jezik nemože raditit baš puno. Sve što želiš napravit moraš napisat kod, a da za ove osnovne stvari (grafika itd) nebi trebalo pisat kod netko ga je već napisao i spakirao u taj neki dodatak s kojim ti možeš radit. Dakle osim jezika morat ćeš učit i taj dodatak s kojim radiš. Sigurno si čuo za DirectX i OpenGL. E pa to ti je to. Postoje alternative pisanju svojeg engina, kao korištenje postojećeg (Unity, Unreal, siguran sam da znaš za njih). Onda ćeš samo pisati skripte (logiku) a to ti se radi u pythonu, lui i šta ja znam. Ima tih skriptnih jezika. Tu su  i gamemaker i njegova ekipa, koji iako će ih svi forumaši spremno popljuvati, su dobri alati za razvoj igra, ali onda neučiš programirati. 

E sad. Ti želiš razvit 3D engine. Koliko ja znam to nemožeš sam. Da, niti uber-mega jednostavni. To se jednostavno neradi. Naravno, možda sam u krivu, znat će netko drugi pa nemoj gubit nadu, ali znaj da ćeš morat znat HRPU jako napredne matematike. Čak i za 2D igre, ali za 3D engine svakako. Tu ulaze trigonometrija, vektori, matrice i nemam pojma šta još. Mislim da to ne učiš u srednjoj već na faksu, a možda ne ni na svim faksevima. Također tu je poznavanje fizike. 

Kako ćeš onda početi? Prvo ćeš morati naučiti programirati. Odaberi neki jezik, nauči OOP (ovo obavezno), vježbaj zadatke odsvud (nije teško naći) i radi na nekim svojim projektima. To sve možeš u konzoli, bez da se zahebavaš sa grafikom Zatim dolazi programiranje igara. Nije bitno u kojem jeziku učiš programiranje (najbolje python ili neki CNešto - c++, c, c#, java) Za programiranje igara e to već bitnije. Sigurno nećeš odabrati C++. Nemoj. Vjeruj mi, probao sam, i nije toliko strašno nego jednostavno može bolje. Zašto da se zamaraš sa teškim jezikom, kad se usput tako i tako moraš zamarat sa pravljenjem igre. Ljepo biraj između pythona, jave, c#... Slobodno uzmi tako jedan ljepi moderan jezik. Možda najbolje s c++ ti je prijeć na c# ili javu (jedan je otvoren jedan ima microsoft iza sebe, znači dobra podrška i to). Može i python koji je ljepo jednostavan. Za biranje onih dodataka o kojima sam pričao ćeš pitat tu na forumu ili guglat ili nešto. Ja koristim C# i XNA. Preporučujem i dodatak i jezik. Samo što nema dosta tutoriala za XNA, ali za C# imaš odlične dumpove, koji su zakon jer su na hrvatskome i u video obliku. 

Biranje alata (jezik + dodatak) ali i samog puta učenja je težak poso. Preporučam da se držiš onog što odabereš, a konkretno ja bi učio C++, rješavao razne zadatke, prešao na C# i naučio XNA. Imaš dumpove tutoriale koji su baš tako dizajnirani, izuzev XNA. No eto, izbor je na tebi, ali bez sumnje u ovoj temi će se razviti flame war koji je jezik bolji, no nedaj da te to zbuni. Vjerojatno nečeš pogriješiti.

Također morat ćeš učiti kako napraviti dobru igru, igru koja je zabavna. To ti se uči tako da radiš usrane igre na početku i učiš na svojim greškama, da čitaš knjige o tome, da igraš puno različitih vrsta igara (pogledaj malo i starije klasike, i 2D indie i AAA naslove, svih žanrova). Samo nauči primati kritiku i to će biti ok.

 

I za kraj upozorenje: pravljenje igre je težak posao! Ne ova kreativna strana, to je zabavno, ali samo programiranje nije lako. U početku bit će ti vrlo stresno. Nailzat ćeš na sve vrste i oblike problema. Tada trebaš prvo dobro razmisliti (najbolje je kad sam rješiš problem, jer programiranje je rješavanje problema), ako ne ide guglaj, ako ni to ne ide pitaj neki forum. Nemoj se živcirati. I tješi se ovim - bit će lakše. To je zaista i točno. Čim više vježbaš, to je lakše, vjeruj mi.

Još ima puno savjeta koje možeš upiti, iz programerskih blogova, forum itd. Ima ti iza svega toga jedna velika debela zajednica koja je napisala puno toga. Slobodno sve o gamedev-u i programiranju čitaj, isprobaj čim više različitih tehnika, jezika i sve što možeš. Jednostavno se moraš uživiti u to i polako učiti. Znaš roman "Galeb Jhonatan Livingston"? Ako neznaš pročitaj. Govori o ljepoti učenja (konkretno učenja letenja ali to je sve alegorija). Zaista, jednostavno moraš voljeti programiranje i svim srcem svaki dan istraživati taj svijet. I budi spreman da ti se to stalno mota po glavi. Bugovi koji se ubudu pojavljivali će te stalno žuljati, stalno ćeš smišljati načine da pišeš ljepi kod itd. 

Ja ti mogu govoriti o onome što sam ja naučio do sutra, ali nema smisla. Jednostavno počni, naučit ćeš s vremenom. 

 

Uživaj.

Poruka je uređivana zadnji put čet 25.10.2012 17:53 (King of Games).
Moj PC  
8 0 hvala 6
12 godina
neaktivan
offline
Re: Igre i programiranje

Od nedavno, na Pluralsightu ima tutorijal za XNA.

14 godina
neaktivan
offline
Re: Igre i programiranje
WItcher kaže...

Zanima me koji se od programskih jezika najvise koristi u izradi igara ( one prave AAA al dobro tu spadaju u indi igre)

To bi bio C++, sa učenjem C-a si već dobio neke temelje budući da se radi o sintaktički sličnim jezicima. Unatoč tome što sam napisao ne nadaj se prelasku na C++ preko noći.

 

WItcher kaže...

pa me zanima sta sve treba da bi se napravio neki 3d game engine (ne ciljam na CryEngine niti cak na nesto sto je 100x losije od nejga vec na neki jednsotavni)?

Puno slobodnog vremena, volje, odgovarajućeg znanja matematike i programiranja. Dakle trigonometrija, linearna algebra (vektori, matrice).

 

Moraš znati postaviti koristiti i 3D API za koji se odlučiš (Direct3D, OpenGL).

 

WItcher kaže...

i da zahtjeva vise od jednog covjeka.

Ne, ne zahtjeva. 3D engine će biti onoliko kompliciran koliko ga kompliciranim napraviš.

 

Još si previše zelen što se toga tiče, vrati se za par godina kada se ne budeš borio sa IDE-om i programskim jezikom koji kaniš koristiti.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
14 godina
neaktivan
offline
Igre i programiranje

C++ je mocan izbor to se slazem, ali mozes radit i u C-u. Jedan i drugi jezik bez samog render API-a je manje vise beskoristan (mada to nije sasvim tocno niti u domeni racunalne grafike), naime ono sto moras napraviti je odabrati jedan od render API-a npr. OpenGL ti osobno preporucam cisto iz razloga sto je multiplatforman.

 

Znaci napravi dobar render koji ce bit neovisan o platformi te tada isti povezi sa core graphics funkcijama same platforme.

 

Da je i C izbor dokazuje Carmack koji je napravio cijeli Doom i Quake u istome, kada napravis od nule nesto slicno tada mozes rec da znas napravit posao, sto opet ne mora bit iskljucivo tocno. 

 

Neki spominju XNA, dobar izbor , ali ipak ja ti preporucam OpenGL uz uporebu Cpp-a.

 

Puno je izbora, definitivno odaberi jedan i kreni od nule, od samih verticesa, vertex arraya, matrica , pipelinea ( funkcijskih poziva unutar rendera ) itd..... 

 

EDIT:

i mozda najvaznije nemoj se obeshrabrit.

 

 

http://www.norgems.com
Poruka je uređivana zadnji put čet 25.10.2012 18:46 (woodgamesfx).
 
2 0 hvala 1
12 godina
neaktivan
offline
Re: Igre i programiranje

Witcher... Pa svi znaju da je većina game engina (pogotovo za windowse) napravljeno u C++ jeziku. Imaš čak i Mount&Blade koji je napravljen u Pythonu. To su ti radili indie developeri i igra se lijepo plasirala, jedino što su grafika i animacije malo "zastarjeli".

11 godina
neaktivan
offline
Re: Igre i programiranje

Pitanje jedno u vezi matematike i 3d programiranja!
Bavim se modelingom i animacijom (maya,zbrush) te malo svrljam s kolegom u unreal 4.
Nisam neki logicki tip te matematika mi nije jaca strana (zavrsio kuhara,ganjao loptu sve u svemu knjiga me nije zanimala)
Kolega me navukao na modeliranje i animaciju gdje sam se nasao ! :)
Naj ljepsi posao na svjetu.Nebi se s nikim mjenjao, ali bi htjeo svoje znanje dici na sljedeci level.

Prije nego sto je izasao Ue4 radio sam u UDK-u tocnije (unreal script)
Gledao sam ga ko tele u sarena vrata! Kad je izasao Ue4 (Blueprint) -baziran na c++. Svatio sam da moram poceti uciti temelje.
Sad koja bi mi matematika trebala (znam za Trigonometriju,Linearna algebru(Vektori,matrice)) te osnove 3d grafike i 2d grafike!
Trebao bi da barem neke osnove da svladam.
Nemojte misliti sad da zelim nesto u kodu svrljati previse,nego tek tolko da logiku(Blueprinta) svatim te matematiku. Da mogu bez pomoci programera osnovne stvari napraviti!
Zvucim ko noob to i jesam! 2 god. sam u modeliranju ali logika nula bodova!
Pa nadam se da bi mi neko magao pomoci :)
androsije
14 godina
neaktivan
offline
Re: Igre i programiranje

Pa to što si nabrojao su ti osnove, prošvrljaj malo po netu, khan academy i tako to...

Može i ova knjiga koju sam već linkao u ovoj temi. 

 

Ne moraš sada baš, ono, raspaliti po matematici, švrljaj sa UDK-om, kada zapneš negdje gdje ti treba matematika za rješavanje problema pogledaj ovo što sam ti linkao, ili negdje dalje po netu, i sretno :)

To understand what recursion is, you must first understand recursion.
11 godina
neaktivan
offline
Re: Igre i programiranje

Hvala ljepa! {#}

androsije
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice