Ako naprogramovať videohru?

1. Vyberte herný engine.
2. Používajte rámce a ďalšie nástroje.
3. Naučte sa programovací jazyk.
4. Vytvorte herný plán.
5. Zbierajte umelecké diela, ako sú textúry, zvuky a modely.
6. Skriptujte hru.
7. Vytvorte herné úrovne.
8. Pred vydaním si hru vyskúšajte.

Ak potrebujem prepnúť medzi 3D cutscénami
Aký herný engine by som mal použiť, ak potrebujem prepnúť medzi 3D cutscénami a 2D hrou?

Telefóny, prehliadače, počítače, konzoly: videohry sú obľúbenejšie a rozšírenejšie než kedykoľvek predtým. Môžete nájsť viac návodov, zbierok aktív, softvérových nástrojov na tvorbu hier a odborných rád ako kedykoľvek predtým. Programovanie vlastnej hry si stále vyžaduje zručnosť a trpezlivosť, ale na kodéra akejkoľvek úrovne je dostatok zdrojov.

Časť 1 z 2: Začíname

  1. 1
    Zvážte herný engine. Niektorí vývojári hier znova objavia koleso a píšu vlastný herný engine od nuly, najmä pre svoju prvú hru. Ak sa chcete ponoriť priamo do seba, ale stále máte veľa príležitostí na programovanie, je dobrou voľbou použiť herný engine. Motor obvykle obsahuje nástroje vyššej úrovne na úpravu 3D modelov, skriptovacích udalostí a ďalších bežných herných aplikácií, ale stále bude ponúkať veľa praktických príležitostí na programovanie.
    • Medzi obľúbené príklady náročných na programovanie patria Unity, UDK, Unreal Engine 4 a CryENGINE.
  2. 2
    Použite rámce a ďalšie nástroje. Rámec je krok pod herným motorom, ale stále poskytuje sadu nástrojov a rozhraní API (rozhrania aplikačných programov), ktoré vám ušetria čas a zefektívnia vaše kódovacie projekty. Považujte to za minimálnu úroveň softvéru, ktorý je potrebné použiť pre váš prvý herný projekt, a aj potom by ste sa mali predstaviť ako programátor alebo by ste sa mali hlboko zaujímať o zákulisie práce na herných engine. V závislosti od presného rámca a/alebo herného enginu, ktorý používate, budete chcieť časť práce vykonať v ďalších špecializovaných rozhraniach API, ako je napríklad populárny OpenGL na vytváranie 3D grafiky.
    • Polycode, Turbulenz a MonoGame sú príkladom rámcov vytvorených s ohľadom na 2D aj 3D hry.
  3. 3
    Skúste IDE. Integrované vývojové prostredie je univerzálny kompilátor a zbierka zdrojových súborov, ktoré uľahčujú vytváranie komplexných programovacích projektov. Vďaka IDE bude programovanie hry oveľa pohodlnejšie, najmä ak má vstavané spôsoby interakcie s grafickými a zvukovými systémami.
    • Visual Studio a Eclipse sú dva príklady, ale existuje mnoho ďalších. Vyhľadajte IDE založené na jazyku, ktorý poznáte.
    Niektorí vývojári hier znova objavia koleso
    Niektorí vývojári hier znova objavia koleso a píšu vlastný herný engine od nuly, najmä pre svoju prvú hru.
  4. 4
    Naučte sa programovací jazyk. Väčšina vyššie uvedených nástrojov je založená na populárnom programovacom jazyku, takže nasledujúce návody vám pomôžu začať. Aj keď môžete vytvoriť hru v takmer akomkoľvek dostatočne výkonnom programovacom jazyku, najbežnejšími jazykmi sú C ++ alebo C# pre všetky zariadenia, Flash ActionScript alebo HTML5 pre prehliadače a Java alebo Objective C pre mobilné zariadenia. Toto sú dobré možnosti, ak sa chcete nakoniec najať v existujúcom hernom štúdiu, ale pomocou Pythonu, Ruby alebo JavaScript sa vytvára veľa nezávislých hier.

Časť 2 z 2: Vytvorenie hry

  1. 1
    Vytvorte plán hry. Predtým, ako začnete, spresnite koncept hry čo najviac vrátane žánru, nálady a typu hry. Ak začnete s programovaním skôr, ako bude koncept jasný, pravdepodobne sa budete musieť roztrhnúť a prepísať značné množstvo práce. K tomu pravdepodobne dôjde, ale solídny plán tieto akcie obmedzí na minimum.
    • Všetky experimentálne hry okrem tých najexperimentálnejších majú oblúk postupu, takže je to dobré miesto na začatie plánovania. Pokrok sa zvyčajne deje prostredníctvom jednej alebo viacerých z nasledujúcich možností: objavenia viac o zápletke a postavách, rozhodovania, ktoré ovplyvnia dej, získanie nových schopností alebo vyšších štatistík, skúmanie nových oblastí alebo riešenie ťažších a ťažších hádaniek.
  2. 2
    Zhromaždite svoje umelecké diela. Zozbierajte alebo vytvorte všetky textúry, sprajty, zvuky a modely, ktoré budete pre svoju hru potrebovať. Existuje pomerne málo zbierok bezplatných herných zdrojov, takže niektoré vyhľadajte. Ak robíte 2D hru a nemáte výtvarníka, ktorý by vám pomohol, môžete si vytvoriť svoj vlastný pixel art.
  3. 3
    Skriptujte svoju hru. Skript hovorí motoru, čo a kedy má urobiť. Ak ste použili open source engine, je pravdepodobné, že už má skriptovací jazyk a pravdepodobne aj návody, ktoré vás naučia používať ho. Ak si vytvoríte vlastný engine, budete si musieť vytvoriť vlastný skriptovací jazyk. V každom prípade budete potrebovať tieto hlavné komponenty minimálne:
    • Neustále bežiaci herné slučka, ktorá kontroluje vstup užívateľa, spracováva výsledok, spracováva aj iné akcie, počíta to, čo potrebuje, ktoré majú byť zobrazené, a pošle to na grafickej karte. Malo by to bežať najmenej 30 -krát za sekundu.
    • Skripty „aktívny poslucháč“, ktoré kontrolujú udalosti a reagujú na ne. Jeden skript môže napríklad sledovať hráča, ktorý interaguje s dverami, potom spustí „otvorenú“ animáciu a zabráni kolidácii dverí. Ďalší skript môže sledovať, či sa ku dverám dostane do kontaktu schránka zbraní, a namiesto toho spustí animáciu „rozbitie“.
    Ale stále máte veľa príležitostí na programovanie
    Ak sa chcete ponoriť priamo do seba, ale stále máte veľa príležitostí na programovanie, je dobrou voľbou použiť herný engine.
  4. 4
    Vytvárajte jednotlivé úrovne. Úrovňový dizajn - ktorý môže zahŕňať doslovnú „úroveň 1“, oblasť, ktorú môže hráč preskúmať, alebo ďalšie kolo bojovej hry - preverí niektoré schopnosti, ktoré s programovaním nesúvisia. Začnite na jednoduchej úrovni predstavujúcej typickú hru a riaďte sa týmto základným pokynom pre žánre, ktoré zahŕňajú cestovanie prostredím:
    • Vytvorte základný obrys oblasti.
    • Rozhodnite sa o základnej ceste, ktorou bude hráč najčastejšie prechádzať oblasťou. Na tejto ceste pridajte výzvy a výhody (položky). Umiestnite ich blízko seba kvôli adrenalínu a vzrušeniu, alebo ďalej od seba pre uvoľnenejšiu atmosféru.
    • Začnite pridávať grafické prvky. Umiestnite svetelné zdroje pozdĺž hlavnej cesty, aby ich hráči povzbudili nasledovať a bočné cesty alebo menej dôležité oblasti ponechajte matné.
    • Zhodujte sa s hrateľnosťou, štýlom a nastavením. Napríklad, len napínavý horor hra sa darí na úsekoch prázdne prieskume prerušovaný prekvapivých útokov. Nekonečná palba nepriateľov namiesto toho zaplaví hráča adrenalínom, pričom súboj, ktorý si vyžaduje starostlivé taktické plánovanie, môže hráča vyrušiť z emocionálnej atmosféry.
  5. 5
    Otestujte si svoju hru. Teraz uvidíte, v čom sa všetka vaša tvrdá práca zmenila. Otestujte každú úroveň, kým ju leštíte, a mnohokrát potom, ako je „hotová“. Skúste sa vedome pokúsiť hrať hru spôsobmi, ktoré ste nemali v úmysle, napríklad najskôr hrať v ťažších oblastiach. Ešte lepšie je nájsť si testery, ktoré vám poskytnú nové informácie o hre, a požiadať o čo najviac spätnej väzby.
    • Pozerajte, ako sa niekto hrá, bez toho, aby ste mu poradili, pokiaľ nejde o základné informácie z tutoriálu, ktoré ešte neboli pridané do hry. Frustrujúce chyby a body, v ktorých sa hráč „zasekne“, sú znakmi toho, že musíte zahrnúť viac vedenia.
    • Akonáhle je hra (alebo aspoň úroveň) celkom dokončená, pokúste sa nájsť cudzincov alebo známych, ktorí vám pomôžu s testom hry. Priatelia bývajú optimistickejší, čo je skvelé na povzbudenie, ale nie na predpovedanie toho, ako budú hráči reagovať.
  6. 6
    Urobte ďalší krok. Po dokončení projektu ho možno budete chcieť bezplatne uvoľniť alebo dať do predaja, ale prečítajte si zmluvné podmienky všetkých použitých herných nástrojov alebo softvéru. Bez ohľadu na to, či dokončíte hru podľa svojich predstáv, možno budete chcieť „kanibalizovať“ niektoré aktíva a nápady pre iný alebo ambicióznejší projekt, alebo si vziať získané lekcie a začať odznova!

Tipy

  • Neobjavujte znovu koleso. Ak môžete importovať knižnicu, ktorá dosahuje to, čo potrebujete, choďte do toho alebo sa uistite, že máte dobrý dôvod na vybudovanie vlastnej.
    Ale existuje niekoľko herných motorov
    Je veľmi ťažké nájsť herné enginy, ktoré nevyžadujú programovanie, ale existuje niekoľko herných motorov, ktoré vám dajú na výber, či programovať alebo neprogramovať.
  • Vždy napíšte veci, ktoré potrebujete teraz, namiesto vecí, ktoré „možno budete potrebovať“ alebo „budete potrebovať neskôr“.
  • Grafika nemusí byť iba 3-d. Jednoduchá grafika ako v Pokémonoch, Mega manovi a Tetrise stále baví ľudí.

Varovania

  • Ak plánujete predať svoju hru, budete musieť použiť open-source engine, napísať vlastný engine alebo zaplatiť autorské práva/poplatky za ochranné známky výrobcom enginu.

Otázky a odpovede

  • Ako vytvorím 3D postavu?
    Môžete použiť ľubovoľný nástroj 3D modelovania, ktorý chcete, ale Blender budem veľmi odporúčať. Blender je bezplatný softvér pre 3D modelovanie. Na výrobu textúr potrebujete aj kresliaci program, pokiaľ nefotografujete a nepoužívate ich ako textúry. Vrelo odporúčam Gimp pre textúry, ktorý je tiež bezplatný a otvorený zdroj. Ak máte problémy s Blenderom, existuje veľa návodov, ako ho používať na YouTube. Zvlášť nápomocný je Blender Guru.
  • Kde je dobré miesto na naučenie sa programového jazyka?
    Stránky, ako napríklad Codecademy, ponúkajú ľahko zrozumiteľné návody; Naučiť sa nový jazyk je však oveľa jednoduchšie, ako začať. Codecademy to môže ponúknuť. Návody sú navrhnuté tak, aby ich každý pochopil.
  • Ako predám svoju hru spoločnosti?
    Kontaktujte oddelenie partnerských vzťahov spoločnosti, ktorá predáva podobné hry, a dohodnite sa. Môžu vašu hru odmietnuť, poskytnúť návrhy, ako by to mohlo lepšie vyhovovať publiku spoločnosti, alebo vám ponúknuť exkluzívne alebo neexkluzívne možnosti na predstavenie hry. Buďte profesionálni, ale vytrvalí, pretože spoločnosti majú stovky podaní v každom okamihu, keď ich musia preštudovať.
  • Ako môžem vytvoriť hru ako Minecraft?
    Minecraft používa OpenGL Java Backbone. V zásade je to virtuálny simulátor sandboxu, takže budete musieť vziať do úvahy množstvo použitých skriptov na základe povahy hry a nie roly.
  • Aký herný engine by som mal použiť, ak potrebujem prepnúť medzi 3D cutscénami a 2D hrou?
    Ten, ktorý má 3D možnosti, napríklad Unreal alebo Unity. V hre Unity alebo Unreal nemusíte programovať iba 3D hru.
  • Môžem vytvárať lepšie hry, napríklad 3D hry?
    Vďaka hernému enginu kompatibilnému s 3D, ako napríklad Unity a Unreal, môžete.
  • Aké webové stránky používať, ktoré nevyžadujú kódovanie?
    Je veľmi ťažké nájsť herné enginy, ktoré nevyžadujú programovanie, ale existuje niekoľko herných engine, ktoré vám dajú na výber, či programovať alebo neprogramovať. Spark Game Engine je jedným z nich, ale niektoré z najlepších herných motorov, ako napríklad Unity a Unreal, vyžadujú programovanie.
  • Vyskúšal som oba herné enginy Unity aj Unreal. Neviem sa však rozhodnúť, ktorý použiť. Tak ktorý by ste mi odporučili? Alebo môžem použiť oboje, ak chcem?
    Unity je užívateľsky prívetivejšia, má nižšiu krivku učenia a vstavané rozhranie API, ktoré skracuje čas vývoja. Má tiež niekoľko jazykov, pomocou ktorých môžete vytvárať hry, C#, UnityScript (vlastný klon Javascriptu Unity), Boo (menej známy jazyk, ktorý je viac orientovaný na používateľov Pythonu). Fyzika a osvetlenie však nie sú najlepšie a pre komplexnejšie nástroje si musíte zakódovať sami. Unreal je dobrý na vytváranie krásnych hier s peknou grafikou, má vyššiu krivku učenia a väčšina nástrojov je dosť obmedzená, takže si ho musíte vyrobiť sami. Na programovanie používa svoj vlastný jazyk s názvom Unrealscript. Ak ste začiatočník, zvoľte Unity, aby ste sa zoznámili s vývojom hier, a Unreal, ak ste skúsenejší.
  • Aké webové stránky mi pomáhajú vytvoriť pixelové kresby?
    Existuje mnoho možností na maximalizáciu pixelového umenia, od bezplatných po platené. Najlepším a zadarmo dostupným by bol pixilart.com, ktorý ponúka množstvo nástrojov na tvorbu umenia a animačnú stránku na vytváranie animácií!
  • Čo potrebujem začať pri kódovaní hry pre Android v JavaScripte?
    Stiahnite si IDE, ktoré môžete použiť na vytváranie hier v systéme Android. Niektoré príklady sú Visual Studio 2015 a Android Studio, ale existuje mnoho ďalších možností.
Nezodpovedané otázky
  • Aké aplikácie mi môžu pomôcť s programovaním videohier?

Komentáre (5)

  • walkeryvonne
    Stránka hráča bola skvelá a dobrá.
  • xmalikova
    Rýchle a jednoduché informácie o tom, ako vytvoriť vlastnú hru. Čím priamejšie a konkrétnejšie, tým lepšie. Palce hore!
  • laverna79
    O vývoji hier som nemal ani potuchy, ale tento článok mi priniesol veľa informácií.
  • aribernhard
    Pomohlo mi to poznať a porozumieť procesu tvorby hry.
  • bdaniel
    Myslel som si, že vývoj videohry je náročný, ale vďaka tomuto článku som sa cítil istejšie pri vývoji vlastnej.
Súvisiace články
  1. Ako sa nezľaknúť pri hraní hororových hier o prežitie?
  2. Ako sa stať lepším vo videohrách pre strieľačky z pohľadu prvej osoby?
  3. Ako hrať Simon hovorí?
  4. Ako si vytvoriť tajné miesto vo svojej izbe?
  5. Ako vytvoriť tajný priestor?
  6. Ako zrkadliť písanie?
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail