Korisni savjeti

Econ momak

Pin
Send
Share
Send
Send


Razvoj računalnih igara može obavljati jedna osoba ili tvrtka (razvojni tim). Komercijalne igre kreiraju razvojni timovi koje je angažirala jedna tvrtka. Tvrtke se mogu specijalizirati u proizvodnji igara za osobna računala, igraće konzole ili tabletna računala. Razvoj može financirati druga, veća tvrtka - izdavač. Izdavač na kraju razvoja bavi se distribucijom igre i snosi povezane troškove. Suprotan pristup je takav razvoj događaja, kada tvrtka distribuira primjerke igara samostalno (bez sudjelovanja izdavača), na primjer, digitalnom distribucijom.

Razvoj igara s najvećim proračunom može koštati desetke milijuna američkih dolara i tijekom posljednjih desetljeća [ kada? ] ovi proračuni kontinuirano rastu, kao i broj razvojnih timova i vremenski okvir. Dakle, u kasnim devedesetima igru ​​za PlayStation konzolu za krajnjeg kupca mogao bi napraviti tim od 10 ljudi godišnje, za PlayStation 2 (prvu polovicu 2000-ih) bio je potreban tim od 30-50 ljudi i dvije godine razvoja, do 2012. godine, Već se radilo o timovima od više od 100 programera i o roku od oko tri godine. Prema Alexu Mooreu, dizajneru igara iz Sumo Digital-a, ako bi se cijena igre za krajnjeg potrošača povećala u istom omjeru, igre u 2012. koštale bi 1800 dolara, drugim riječima nadoknadile povećane proračune uz održavanje jednakih cijena u trgovinama, izdavači moraju prodati puno više primjeraka igara.

Igra s velikim proračunom za dvije platforme - Xbox 360 i PlayStation 3 - koštala je u prosjeku 20 milijuna dolara u 2012. godini, a da bi se isplatilo, bilo je potrebno prodati oko dva milijuna primjeraka.

uloga

Početkom 1980-ih, nakon što su se pojavila prva kućna računala i igraće konzole, jedan programer mogao je upravljati gotovo svim zadacima povezanim s razvojem igre. Razvoj modernih igara zahtijeva širok spektar vještina i pomoćnog osoblja. Za rad na jednom projektu potrebni su čitavi timovi koji obično uključuju predstavnike brojnih specijalizacija.

Kako sami kreirati igru?

Da biste stvorili igru, morate znati programski jezik, a sada su svi na engleskom, a oni su složeni, imaju svoju, takozvanu sintaksu, koju također morate znati. Dakle, zamislite kreiranje igre, zar ne?

Naravno, gotovo sve visokobudžetne igre napravljene su korištenjem jednog od ključnih jezika, ali za početnike to čak i nije potrebno znati.

Postoje posebni programi za stvaranje igara, od kojih je jedan Game Maker. Stvorene su posebno za izradu igara (program se naziva igra igara). Osobno radim u Game Makeru i omogućava mi izradu prilično kvalitetnih igara za bilo koju platformu, od androida do ios-a.

Također možete savjetovati Jedinstvo ili Konstruiraj 2, kao dobre alternative.

Svi se ti alati razvijaju, a za Game Maker Studio 2 nedavno je objavljen drugi dio, o kojem sam ovdje napisao: Što je novo u Game Maker Studio 2? GMS 2 pregled

Moje osobno mišljenje je da je Game Maker jedan od najpovoljnijih programa za kreiranje igara posebno za početnike, dok ovladavanje Unityom od nule može potrajati mnogo više vremena.

Ako odaberete Maker igre, onda će vam moj blog i kanal značajno pomoći u njegovom razvoju, ali ako se odlučite za Jedinstvo ili nešto treće, na ruskom jeziku postoji i ogromna količina besplatnih visokokvalitetnih edukativnih materijala.

U svakom slučaju, prva (nula :) faza je izbor programa za kreiranje igara.

Prva faza je dokument o dizajnu

Zatim morate kreirati dizajnerski dokument za novu igru. Drugim riječima, za igru ​​vam treba ideja. O čemu će biti igra? Što će se tamo dogoditi? Kakav će to žanr biti? Koliko će vremena i novca trajati razvoj? Ima puno takvih pitanja, a prije početka stvaranja igre vrlo je korisno napraviti nekakav grubi plan.

Osnovne stvari o tome kako napisati dizajnerski dokument za igru ​​možete pronaći ovdje:

  • Kako napisati dizajn igre na papiru

Vjerujte mi, bez preliminarnog plana i čisto na entuzijazam s velikom vjerojatnošću nećete završiti igru.

Glavni i glavni dio stvaranja igre je, u stvari, njezino stvaranje, kod za pisanje. Sve ovisi o okruženju i programu u kojem napravite igru, međutim u Izređivaču igara i za početnike postoji sustav droga i droga - povuci i ispusti.

Sličan sustav nije samo u GM-u, već je to i na primjer u uređivačima karata i dizajnerima popularnih igara. Uzgred, preporučujem vam da počnete s izradom igara.

  • Gdje započeti razvoj igara

Da biste svoju prvu igru ​​napravili od nule, ne trebate znati programski jezik, samo koristite sustav droga i droga, koji izgleda ovako:

Izvanredna značajka Game Maker Studio 2 je ta što se svi ovi elementi automatski dešifriraju u programski kod koji programer vidi.

To vam omogućuje da postupno naučite kôd i pređete s lijeka i pređite na kodiranje.

Specifična pitanja poput: kako napraviti pokret, kako snimiti, kakvi su efekti i šta sve o jazzu možete pronaći na mom youtube kanalu u obliku posebne lekcije o osnovama stvaranja igara.

Koliko vremena treba da se stvori igra?

Pitanje je složeno, sve ovisi o vašim vještinama, o kakvoj je igri i drugim čimbenicima.

Ponekad iskusna osoba može napraviti jednostavnu telefonsku igru ​​za nekoliko tjedana, ponekad igre srednje kvalitete napravi mali tim od nekoliko ljudi u 6-12 mjeseci, ali veliki projekti prave veliki studiji, a razvoj može potrajati 1-2 ili više godina, dok radi tim od 100 ili više ljudi.

Prema približnim podacima, stvaranje jedne glavne igre treba oko 2-3 godine za tim od 200 ljudi, ako govorimo o ozbiljnim projektima kao što je GTA 5.

Istodobno, ne zaboravite da postoje iznimke od pravila. Notch je prvu verziju Minecrafta napisao u tjedan dana i ta je verzija već imala većinu osnovnih struktura. ali na kraju, razvoj je trajao nekoliko godina, iako je za razliku od GTA-e, na Minecraft-u je radio vrlo mali tim, a prihodi od Minecrafta bili su vrlo ozbiljni.

Iako je ovo više izuzetak, a ne pravilo. Sada je konkurencija puno veća i takvih super uspješnih i super jeftinih projekata pojavljuje se sve manje.

Treća faza - grafika

Grafika se obično radi paralelno s postupkom razvijanja i pisanja koda, a obično je to pojedinačno. Vrlo je teško kombinirati posao ne samo programera, već i dizajnera, ali ponekad se to može učiniti i sam, osim toga, neki projekti ne zahtijevaju vrlo kvalitetnu grafiku ili se uzimaju gotove slike i špriceri.

  • glasi: Gdje potražiti duhove za igre?

Grafika i crtanje je vrlo skup proces.

Prema mom iskustvu, ako igru ​​napravite sami, to vam može oduzeti 40-60% ukupnog vremena provedenog za grafikom. U osnovi, za indie osamljenog programera, dobra grafika može udvostručiti ukupno vrijeme potrebno za stvaranje igre. A ako udvostručenje od 1 mjeseca do 2 nije zastrašujuće, tada je udvostručenje od 2 do 4 godine puno.

Zbog toga se početnicima programerima preporučuje korištenje svih mogućih načina da se dobije besplatna grafika (možda umjetnik / dizajner uzima kao udio) ili da se grafički dizajn učini minimalnim kao prve igre.

U ekstremnim slučajevima, možete naručiti grafiku sa strane, koristeći outsourcing.

Međutim, ako želite sve učiniti sami, postoji mnogo načina kako naučiti crtati. I ja učim (nedavno kupljena ploča) a za podučavanje crtanja mogu vam savjetovati nekoliko dobrih YouTube kanala:

  • Dobri YouTube kanali o Gamedevu i Grafici

Koliko vremena treba proučiti crtanje?

Općenito, kao i svaki posao, možete i trebate učiti cijeli svoj život, ali savršenstvu nema ograničenja. Međutim, pogledajte ponovo moji crteži.

Pa, horor nije direktan, zar ne? Naravno, loše, ali ne ravno ovdje?

Pa, ovo sam nacrtao računalnim mišem u vrlo jednostavnom grafičkom uređivaču, a naučio sam crtati 1-2 mjeseca, crtajući 1 sliku tjedno, maksimalno.

Mislim da za godinu dana možete dostići vrlo dobru razinu ako 1-3 sata dnevno posvetite crtanju i proučavanju teorijske osnove.

Imam video (16 minuta):

Odabir projekata

Pa odakle početi? Lakše je odgovoriti odakle započeti, ne vrijedi to, naime, s velikim projektima, poput punog 3D FPS-a, MMO-a ili čak duge igre platforme 16-bitne ere. Najčešća pogreška početnika programera je započeti s velikim projektom temeljenim na Cool Ideji ili poduzeti projekt koji se čini jednostavnim, a završava s napola gotovom hrpom koda špageta. U početku bi se trebali stvarati mali projekti.

U ranim projektima vaš je glavni cilj studirati, a ne provoditi Cool Ideje. Čuvajući projekt malim, možete se usredotočiti na učenje novih tehnika, umjesto da trošite tonu vremena na upravljanje kôdom i refactoringom. Unatoč činjenici da vaša Cool Idea može biti fantastična, realnost razvojne industrije je da što je projekt veći, veća je vjerojatnost da ćete pogriješiti u arhitekturi. I što je projekt veći, to je skuplja pogreška. Sjećate se priče Daedela i njegova sina Ikara? Daedalus je svom sinu stvorio krila od voska i perja. Upozorio je Icarusa da ne leti preblizu suncu. No Icarus je ignorirao upozorenje i krila su se topila, a onda ga je gravitacija obuzela.

Stoga zapamtite: ne letite preblizu suncu na svojim novim programskim krilima.

S obzirom na sve gore navedeno, evo nekoliko savjeta o tome gdje započeti.

Obrada grafike i događaja

Ako nikada niste programirali bilo što što se tiče grafike ili GUI-ja, započnite s nečim malim kako biste „navlažili noge“. Moj prvi projekt bio je tic-tac-toe, pa sam čak i skromno započeo. Nekoliko ideja za prvi projekt:

  • Simulator jednooružani bandit

  • Crna dizalica

  • Tic Tac Toe

  • Četiri u nizu

Cilj vašeg prvog projekta je prelazak s razvoja konzole na grafičke aplikacije usmjerene na događaje. Također će vas naučiti osnovama logike i arhitekture igara. Preporučujem nešto korak po korak, jer su pokretne igre potpuno drugačija zvijer.

Pokušajte projekt učiniti jednostavnim kako biste ga mogli dovršiti i ne izgubiti interes na pola puta, a nikad kraj igre. Važno je dovršiti igru ​​jer ne učite razvojni proces ako na tvrdom disku imate nekoliko nezavršenih igara.

Želim ukazati na jednu koja će napraviti tic-tac-toe ili četiri u nizu. Ne brinite se mnogo o umjetnoj inteligenciji. Da biste napravili igru ​​za samo dva igrača ili se igrali s računalom koje pravi slučajne poteze, dovoljno je za početak.

Ako ste se prije toga bavili grafikom i obradom događaja i osjećate se ugodno u ovom području, možete prijeći na sljedeći korak.

Sinkronizacija, kretanje, sudari, animacija

Sada kada imate dovoljno grafike, vrijeme je da nešto učinite u stvarnom vremenu. Evo nekoliko prijedloga:

  • Lov na patke

  • pong

  • Svemirski osvajači

  • Galaga

  • Tetris

Ovdje ćete se upoznati s kretanjem, vremenom, animacijom, otkrivanjem sudara, ciklusom igre, izračunavanjem bodova, pobjedama i porazima i drugim važnim osnovnim konceptima koji se koriste u svakoj igri.

Duck Hunt i Pong dobri su projekti za one koji već imaju iskustva u programiranju grafike i događaja. Imaju jednostavno otkrivanje sudara i sve važne osnove igara u stvarnom vremenu.

Space Invaders i Galaga dobar su izbor za drugi / treći projekt. Imaju razine, tako da ćete morati naučiti kako prijeći s razine na razinu pomoću državnog stroja. O strojevima s konačnim stanjem možete pročitati ovdje. Igre u stilu "pucaj svima" također zahtijevaju stvaranje jednostavnih obrazaca ponašanja za neprijatelje, što je korak prema umjetnoj inteligenciji.

Tetris je dobar za drugi / treći projekt. Za stvaranje slagalice ima vrlo malo logike. Ovo je igra pristojne veličine, pa ćete morati naučiti kako podijeliti svoj program na više izvornih datoteka, o čemu više možete pročitati ovdje. Ne podcjenjujte Tetris. Podcijenila sam i samo gledam ovaj jezivi nered u kodu Lazy Blocks.

Pereinzhenering

Tipična početnička pogreška pokušava napraviti najbolju igru ​​svih vremena, završavajući ponovnim inženjeringom. To jest, kad pokušava napisati najbolju igru ​​/ motor i sve se završi koristeći samo mali dio onoga što je napisano.

Kada sam bio početnik, ponovno sam izradio AI za tik-tac-toe. Htio sam napraviti igru ​​s nepobjedivim AI. To sam uspio postići programirajući računalo da znam sve moguće zamke. Zvuči kul zar ne? Trebalo mi je gotovo 40 000 tisuća redaka uglavnom kopiranog koda i mjesec dana mog slobodnog vremena.
Kasnije sam naučio strukture podataka i naučio o algoritmu Minimax koji, s manjom veličinom koda, ne samo da je ispravno postupio, već je i učinio bolje.

Zato učite iz mojih pogrešaka i nemojte biti previše ambiciozni. Usredotočite se na učenje izrade igara, a ne samo na njih.

Planiranje, analiza sudara, fizika, nivoi, umjetna inteligencija

Sada kada imate dvije ili tri male igre iza sebe, vrijeme je da napravite svoj prvi veliki projekt.

Do sada ste vjerojatno programirali kao i do sada. Završit će se u ovom trenutku. U stvarnom svijetu većina razvojnih procesa je završena prije nego što se napiše prva linija koda. Ništa ne može biti gore od spoznaje da biste dodali svojoj igri ono što želite, morat ćete izbaciti sav pisani kod jer niste sve planirali unaprijed. Sada kada imate iskustva sa stvaranjem igara, znate od čega se sastoji razvojni proces. Sada možete planirati igre prije nego što ih počnete izrađivati.

Sad o vašoj sljedećoj igri. Break Out i Puzzle Bobble dobri su za treći projekt jer uključuju napredno prepoznavanje sudara i fiziku. Fizika je važna jer daje igri realan osjećaj. Čak i braća Super Mario imaju osjećaj gravitacije i inercije. Bilijar je izvrstan projekt za one koji žele napuniti gyrus fizikom.

U igrama poput bilijara morate ne samo otkriti sudare, već ih i obrađivati ​​određenim redoslijedom. Upravljanje sudarom se dramatično razlikuje od njegove detekcije. Iako se izrada bilijara ili 2D platformi može činiti laganima, analiza sudara u ispravnom redoslijedu zbunjujući je postupak i ne treba ih podcijeniti.

Break out i Puzzle Bobble također uključuju dizajn razine i zahtijevaju učitavanje i oslobađanje svojih resursa. Izrada urednika nivoa za igru ​​je dobro iskustvo. Urednici vam omogućavaju da lako kreirate razinu i ne namećete ih lemljenju u aplikaciji. Imam članak (eng.) O izradi urednika razine.

Možda biste također željeli vježbati pisanje umjetne inteligencije (AI). Jedna je mogućnost da se vratite u tik-tac-toe ili četiri u nizu i napišete nepobjedivi AI. Sada bi već trebali znati strukture podataka i moći koristiti znanje stabala za upotrebu Minimax algoritma. Pomoću ovog algoritma možete izračunati sve moguće rezultate tic-tac-toe-a i stvoriti nepobjediv AI. Smiješno je uznemiriti svoje prijatelje zbog toga. Možda ćete također htjeti učiniti različite razine poteškoće. Igra ne donosi radost ako je ne možete pobijediti.

Pac Man odličan je način vježbanja pisanja AI-ja. Morat ćete znati strukture stabala / grafova i algoritme pretraživanja, poput A *, kako bi duhovi mogli proći kroz labirint. Bit će potrebno i duhove raditi u timu. Sve je to korisno kada izrađujete igre s kompleksnim AI-om, poput strategija u stvarnom vremenu. O osnovama AI možete pročitati ovdje.

Platformeri, Action / Adventure, RPG, RTS, motori

Sada kada ste stekli iskustvo stvaranja dobro isplanirane igre, spremni ste za stvaranje Akcije / Avanture / Platforme. To će biti vrhunac grafike, pokreta, animacije, analize / otkrivanja sudara, fizike, AI, softverske arhitekture i svega ostalog što ćete u ovom trenutku naučiti. Za one koji su ambiciozniji, možete predložiti izradu strategije u stvarnom vremenu (RTS) ili igranje uloga (RPG). Budite oprezni, jer su RPG i RTS zaista ogromni projekti.

RPG-ovi imaju složenu arhitekturu i zahtijevaju puno planiranja. Trebat ćete planirati svako oružje, oklop, pribor, napad, predmet, čaroliju, poziv, neprijatelja, karticu, šefa, tamnicu itd. do najmanjih detalja. To bi sve trebalo raditi u skladu, a milo rečeno, to nije lak zadatak. Ako vaš dizajnerski projekt izgleda kao scenarij ili strip, morat ćete učiniti više puno rad.

RTS-ovi su također arhitektonski složeni i također zahtijevaju mnogo AI-ja. Trebat ćete pretražiti put za jedinice, primati naredbe od njih, različito ponašanje ovisno o primljenim naredbama. Ako nikad prije niste napravili AI, bilo bi najbolje započeti s klonom Pac Man za početak.

Vjerojatno ćete prvi put morati napraviti motor za svoju igru. Ono što bi trebalo izbjegavati je stvaranje univerzalnog motora. Создавая движок не пытайтесь сделать его подходящем для любой игры. Если ваша игра требует x, y и z, делайте движок который умеет x, y и z. Движки создают исходя из того что нужно для конкретной игры, а не из того что любой игре может потенциально понадобится.

Другая распространенная среди новичков ошибка — это попытка создать движок в качестве первого проекта. И обычно это универсальный движок. Вам не нужен движок с фантастической графикой для создания Pong'а или Space Invaders. Программируя, легко закопаться в деталях. Концентрируйтесь на общей картине и завершайте свои игры.

Čini se da svi žele napraviti sljedeći veliki MMO. Stvaranje internetskih igara nije nešto što brzo možete shvatiti. Shvatila sam to kad sam pokušala odraditi online poker odmah po završetku tic-tac-toe-a.

Dodavanje mreže uvelike usložnjava igru. Kad jedan igrač učini nešto, trebali biste poslati podatke o tome svima drugima. To je kao da desna ruka nije znala što lijeva. Također ćete morati birati između učitavanja poslužitelja i onoga što on može kontrolirati. Što više poslužiteljskog dijela čini, manje je mogućnosti za varanje klijenta, ali to također znači i veće opterećenje na poslužitelju. Za akcije i druge igre s velikim tempom, morat ćete se brinuti o mrežnom kašnjenju i gubitku paketa.

Prije nego što pokušate napraviti mrežnu igru, trebali biste u potpunosti dovršiti barem jednu dobro isplaniranu igru. Kao prvi mrežni projekt pokušajte napraviti nešto što nije presudno za brzinu. Na primjer, jednostavna poslužitelj / klijent za razgovor bila bi dobra praksa. Također se možete vratiti tic-tac-toe / četiri u nizu i na njima dodati mogućnost igranja na mreži. Ili pokušajte napraviti mrežnu karticu ili igru ​​na ploči.

Nakon što je vaš prvi mrežni projekt spreman, pokušajte nešto učiniti u stvarnom vremenu. U svojoj prvoj mrežnoj aplikaciji vjerojatno ste koristili TCP da biste bili sigurni da podaci koje primite stižu redom kojim ste ih poslali. Za igre u kojima ima puno akcije, kašnjenja koja stvara TCP vjerojatno će biti prevelika, pa ćete morati koristiti UDP. UDP ne jamči nalog za isporuku, kao ni samu isporuku općenito. Budući da UDP ne vrši dodatne provjere integriteta, brži je. Morat ćete žrtvovati jednostavnost korištenja TCP-a u zamjenu za UDP brzinu i potrebu da neovisno provjerite integritet podataka prilikom stvaranja igre.

Prije nego što napravite 3D igre, trebali biste napraviti barem jednu dobro isplaniranu igru ​​i dobro razumjeti trodimenzionalnu vektorsku matematiku, linearnu i newtonovu fiziku. Ovdje se morate pozabaviti vrhovima, teksturama, rasvjetom, sjenama, određivanjem interakcije s objektima u trodimenzionalnom prostoru, utovarom modela i drugim teško zvučnim stvarima.

Dobra vijest je da ako ste već napravili 4 ili 5 igara, već znate osnove potrebne za stvaranje igre. Već ste upoznati s razvojnim procesom i znate svoje sposobnosti kao programer. Bez obzira na trodimenzionalnog strijelca ili dvodimenzionalnog, on je i dalje strijelac. 2D RPG ili 3D RPG je i dalje RPG.

Ne smatrajte ovo izgovorom da preskočite 2D i odmah pređete na 3D. Prije nego što naučite trčati, morate naučiti hodati.

Pogledajte video: Test: Audi A4 TDI - Savršen auto za prosečnog Balkanca (Rujan 2020).

Pin
Send
Share
Send
Send