[Članak]SŽelite raditi igre?
Mogu vam reći da ste došli na pravo mjesto! Ovo je mjesto gdje svi novaci mogu saznati više o razvoju samih igara. Vjerojatno ste mladi, osjećate se nabrijano i želite raditi igre. Od samog početka, bit ću iskren... Svijet razvoja igara je veoma okrutan i kompliciran... Ali nije nemoguće! Veoma je moguće, ako imate volje i spremni ste na nova znanja... Sa ovom malom temom nadam se da ću vam poslužiti kao vjetar u leđa. Kao prvo, ja vam iskreno preporučam da se NE zatupljujete sa različitim game makerima i glupostima koji vam žele izvući pare iz džepa bez da vas nauče bilo čemu. Preporučam da se uhvatite programiranja. I to ne bilo kakvog programiranja. Vaš je izbor danas... Želite li raditi u okrilju C++a ili C#a? Ja ću vam pomoći tako što ću vam ponuditi dvije priče.
Visual C++ & DarkGDK
C++ je jedan od najzastupljenijih jezika današnjice te je jezik izbora najjačih kompanija na današnjem gaming tržištu. Svojom performansama i nevjerojatnim mogućnostima koje pruža programeru, užitak je raditi u ovom programskom jeziku. The Game Creators i Microsoft su se udružili da vam ponude set biblioteka za kreiranje 2D i 3D grafike tako da ćete vrlo brzo doći do razvoja veoma zanimljivih igara.
http://darkgamesdk.thegamecreators.c...k/logo_net.jpg
Visual C# & XNA
Visual C# je jezik baziran na .NET frameworku, odličnom setu biblioteka razvijenih od strane Microsofta koji je dobio još bolji framework za izradu iigara, radi se o XNA (X No Acronym) koji će vam omogućiti razvoj igara i za PC ali i za XBOX 360. Definitivno vrijedi probati. Samo moram malo napomenuti da je XNA kompliciraniji za početnike ali ipak... Isplati se truda.
http://www.nuclex.org/system/files/i...7/xna-logo.png
To je to za početak, ja sam se malo počeo baviti DarkGDKom čisto iz znatiželje, mogao bih u skoroj budućnosti možda i mali tutorial napisati.
Da biste došli do više informacija i gdje skinuti sve potrebno:
OVDJE KLIK!
Možda će nekima ovo zvučati veoma neugodno i okrutno od mene, ali ako ne znate engleski, nemojte ni pokušavati dok ne naučite... Hvala na pažnji!
Re: [Članak]SŽelite raditi igre?
da se i ja nadovežem.. evo mali F.A.Q.
P : Što je ustvari igra ?
O : Igra je vrsta zabavnog interaktivnog softvera, koja radi na ponešto drugačijim principima od "običnih" programa poput Notepada ili Firefoxa. Potonji rade na tzv. "event-driven" (eng. pokretano događajima) paradigmi. To znači da aplikacija u većini slučajeva miruje sve dok joj korisnik, operativni sustav ili neki drugi ne program ne odluči poslati nekakvu informaciju koju zovemo događaj. Igre rade na principu konstantnog izvršavanja - ne miruju ni u kojem trenutku. Osnovni dio igre zovemo "Petljom igre". Petlju igre možemo predstaviti sljedećim pseudokodom :
= Citat =:
Izvršavaj dok (korisnik ne želi izaći)
Provjeri jesu li pritisnute tipke/pomaknut miš/gamepad ...
Ažuriraj logiku igre (provjera sudara između objekata, pomicanje elemenata)
Nacrtaj sve što se treba nacrtati
Uz nabrojano, u petlji se mogu nalaziti i drugi elementi - npr. puštanje zvukova. Sve ono što se nalazi u petlji će se izvršavati sve dok korisnik na neki način ne odluči izaći. Svaki "prolaz" kroz petlju nazivamo iteracijom. U sekundi se može izvršiti više desetaka iteracija. Ovisno o količini elemenata i njihovoj složenosti, trajanje iteracije se razlikuje - ukoliko hardver (prvenstveno CPU i GPU) nije dovoljno brz iteracija može potrajati više od očekivanog i nama se čini da se igra usporila. Većina modernih igra uzima ovo u obzir, pa je usporavanje (ili ubrzavanje) petlje manje primjetno.
P : Što sve moram znati/imati da bi napravio igru ?
O : Postoje 2 osnovna načina kojim možete krenuti. Prvi je koristeći razne "game maker" alate, programe koji generiraju igre uz pomoć vlastitog koda i koje je relativno lako naučiti koristiti. Bitno je napomenuti da to onda nije vaša igra, nego igra autora Game Makera koji je izradio kod igre. U slučaju da se odlučite za ovaj način izrade igra, trebat će vam neki alati pomoću kojeg ćete izraditi sadržaj za igru. Sadržaj uključuje : teksture (slike) i zvukove, a ako je igra 3D, onda i 3d modele. Danas game makeri često dolaze s ovim sadržajima, i u tom je slučaju sve što morate napraviti odrediti kako će se ti materijali ponašati (što se s ćim odbija, što prolazi kroz nešto, što će uzrokovati game over, što će povećati rezultat ...).
Drugi (bolji) način jest programiranje. U ovom slučaju Vi pišete kod (petlju koju sam objasnio u prvom pitanju). U ovom ćete slučaju morati izraditi svoje sadržaje (zvukove, animacije, "efekte", teksture, 3d modele ...) . Naravno, postoje stranice na kojima besplatno možete preuzeti ove sadržaje i koristiti ih u svojim igrama. U slučaju da se odlučite za ovaj način izrade, trebat će Vam :
- Poznavanje programskog jezika (primjeri : C, C++, C#, VB ...)
- Razvojno sučelje (primjer : Visual Studio)
- Grafički API (primjer : OpenGL)
Trebat će Vam i alati za izradu sadržaja, evo nekih besplatnih :
- Gimp (teksture)
- Skale Tracker (glazba)
- Blender (3d modeliranje)
Najbitniji za samu igru su razvojno sučelje i grafički API, pa ću njih objasniti. Razvojno sučelje je program u kojem pišete kod svoje igre. Taj kod možete pisati i u Notepadu, ali razvojno sučelje olakšava i pojednostavljuje proces. Razvojna sučelja su često ograničena na samo jedan programski jezik. Od jezika, danas se najčešće koristi C++ (u kombinaciji s skriptnim jezikom igre i assemblyom za kritične dijelove igre koji zahtjevaju brzo izvršavanje). Danas se sve češće koristi i C#, Microsoftov jezik baziran na C-u. Programirati možete i u drugim jezicima poput Jave ili VB-a, ali su C++ i C# najzastupljeniji. Grafički API je nešto što Vam je potrebno za iscrtavanje grafičkog dijela igre na ekran. Danas su najpoznatiji : DirectX (koji uz API za grafiku posjeduje i druge - npr. za zvuk i ulazne uređaje), OpenGL i XNA. Datoteke koje sadrže željeni API potrebno je uključiti u kod, i funkcije u njima se pozivaju iz koda.
Na kraju, moj prijedloga razvojnog sučelja je "Microsoft Visual C# 2005 Express Edition", a grafičkog API-a "XNA 2.0". Mogu se besplatnog skinuti s Microsoftovih stranica. Za predloženo razvojno sučelje potrebno je poznavati jezik C#.
P : U prethodnom odgovoru spomenuto je programiranje, što je to i gdje to mogu naučiti ?
O : Programiranje je proces koji se sastoji od zamišljanja, planiranja, pisanja, testiranja i objavljivanja programa. Najznačajniji dio je pisanje programa, točnije pisanje koda. Da biste bili u stanju napisati program, morate poznavati neki programski jezik. Ovisno o odabiru jezika koji želite naučiti, trajanje učenja se razlikuje. Ukoliko se odlučite na Basic, osnove ćete savladati u tjedan dana, ako se odlučite na npr. C++, trebat će Vam mjeseci dok ga ne upoznate. Čak i tada, nemožete reči za sebe da ste programer - to postajete kad ste u stanju napisati aplikaciju koja u potpunosti rješava problem kojim se bavi (a taj je problem takav da je za njegovo rješavanje netko spreman platiti).
S kojim jezikom započeti ? Prevladava mišljenje da je bolje početi od jednostavnijih prema kompliciranjim, ali je najbolje odmah krenuti na ono s čim se mislite baviti. U slučaju igra i općenito aplikacija najbolji izbor je C++, jer kad njega naučiti lako ćete savladati ostale jezike iz C obitelji poput C#-a. Najbolji način jest pronaći dovoljnu količinu slobodnog vremena, kupiti knjigu (npr. "Demistificirani C++", ili "C++ Analiza i primjena") i vježbati.
Pojmnovnik
APIS= Application Programming Interface = Biblioteka funkcija koje pomažu programu u obavljanju nekog zadatka.
IDES= Intergrated Development Enviroment = Intergrirano razvojno sučelje
(Game) EngineS= središnji dio igre, pojednostavljuje razvoj igre ugrađenim komponentama. Obično sadrži sljedeće funkcionalnosti : “renderer” za 2D ili 3D grafiku, fizički engine, zvuk, skriptiranje, umjetnu inteligenciju i mrežnu komponentu. Svrha enginea jest ponovna iskoristivost. Umjesto da se za svaku igru ispočetka piše kod, koristi se kod enginea koji tako ubrzava proces nastajanja igre.
ProgramS= Skup instrukcija namijenjenih hardveru.
ProgramerS= Osoba koja piše programe.
ProgramiranjeS= Postupak pisanja programa. Cjeloukupni razvoj programa se okvirno dijeli na planiranje, pisanje, testiranje i objavljivanje programa.
Programski jezikS= Umjetni jezik koji je razumljiv čovjeku i koji je određenim postupcima moguće pretvoriti u oblik razumljiv računalu. Najpoznatija je podjela na više i niže jezike. Što je jezik "viši" razumljiviji je običnom čovjeku, ali je nakon prevođenja u oblik pogodan procesoru sporiji.
Compiler/Kompajler/PrevoditeljS= Vrsta programa, namjena mu je prevesti kod pisan u nekom programskom jeziku u oblik pogodan za izvršavanje.
Re: [Članak]SŽelite raditi igre?
= Citat =:
Izvorno postao duma-91
a jeste komplicirani...joj... :hangin:
ako ti je ovo komplicirano, okani se programiranja igra...
Re: [Članak]SŽelite raditi igre?