Programmering van 'n speletjie

Om `n videospeletjie te skep is `n groot onderneming, maar die eindresultaat kan die opwindendste programmeringsprojek wees waaraan jy nog gewerk het. Jy leer die meeste uit die gereedskap wat by jou vlak van programmeringskennis pas, so moenie aanvaar dat om van nuuts af te begin die beste opsie is nie. Kies `n programmeertaal, Geïntegreerde Ontwikkelingsomgewing en/of speletjiemaaksagteware wat jy binne 15 minute kan leer verstaan, of lees hierdie tutoriaal.

Trappe

Deel 1 van 2: Die keuse van `n enjin

Prent getiteld Kodeer `n videospeletjie Stap 1
1. Kom meer te wete oor speletjie-enjins. Die meeste videospeletjies word gemaak deur `n gespesialiseerde enjin te gebruik wat jou toelaat om gebeurtenisse, karakters, ens. sonder kode te "script". Om `n volledige speletjie-enjin van nuuts af te ontwikkel sal jare se werk verg, so die meeste onafhanklike ontwikkelaars gebruik `n bestaande enjin. Jy hoef net een van die volgende stappe in hierdie afdeling te volg, afhangend van hoe goed jy is met programmering en hoeveel tyd jy aan die klein besonderhede wil spandeer.
Prent getiteld Kodeer `n videospeletjie Stap 2
2. Oorweeg eenvoudige sagteware om speletjies te skep. Hierdie instrumente vereis baie min programmeringskennis en is dalk nie vir jou as jy belangstel in die programmeringsaspekte van speletjieskepping nie. Aan die ander kant kan `n eenvoudige benadering waar jy reg induik jou baie oor jou spel leer en die konsep op `n hoër vlak verander voordat jy na `n groter prototipe oorgaan. Hieronder is `n paar gratis opsies:
  • Vir mobiele speletjies: MIT App Inventor of Game Salad.
  • Vir blaaierspeletjies: Scratch, of meer ernstige weergawe Snap!, bedoel as `n hulpmiddel om programmering te leer.
  • Vir avontuurspeletjies: AGS (Adventure Game Studio).
  • As jy `n program wil hê waar jy voorwerpe kan sleep en laat val met `n opsie om te programmeer, probeer die gratis weergawe van GameMaker
    Prent getiteld Kodeer `n videospeletjie Stap 3
    3. Probeer die meer professionele ontwikkelingsomgewings. Dit is `n wonderlike geleentheid om werklik in die onderwerp te duik en spelervaring op te doen sonder om van voor af te begin. Baie professionele onafhanklike speletjie-ontwikkelaars begin op hierdie vlak. Alhoewel daar baie verskillende enjins en Geïntegreerde Ontwikkelingsomgewings (IDE`s) beskikbaar is, is die volgende gratis en relatief maklik om te leer:
  • Vir mobiele speletjies: ProjectAnarchy
  • Vir 3D-speletjies op enige platform: Unreal, Unity, Blender, Torque3D
  • Vir meer gevorderde programmeerders: LWJGL (in Java), SFML (in C++)
    Prent getiteld Kodeer `n videospeletjie Stap 4
  • 4. Kies `n instrument om jou eie enjin te skep. As jy reeds `n mate van programmeringskennis het en jou eie een wil bou, is hier `n paar plekke om te begin. As dit jou eerste poging is, moet jy waarskynlik eers `n paar tutoriale volg.
  • Met ActionScript kan jy `n Flash-gebaseerde enjin skep. Dit is `n goeie plek om te begin vir gevorderde programmeerders.
  • Java is relatief maklik om te leer. Jy benodig `n Java Development Kit (JDK), plus Eclipse of `n ander Geïntegreerde Ontwikkelingsomgewing (IDE) vir Java, as jy nie seker is waar om te begin nie.
  • As jy reeds `n programmeertaal ken (veral `n C-taal of Python), soek `n IDE vir daardie taal. Dit moet `n samesteller insluit en die vermoë om maklik met beelde, oudio en ander kode binne dieselfde projek te werk.
    Prent getiteld Kodeer `n videospeletjie Stap 5
  • 5. Bou jou eie enjin. As jy een van die gevorderde nutsmiddels in die vorige stap gekies het, sal jy waarskynlik `n tutoriaal, `n hulpforum of `n ervare speletjieontwikkelaar moet vind vir spesifieke advies oor jou gekose programmeertaal. As jy nie seker is waar om te begin of wat om te vra nie, is hier `n paar basiese dele wat jy aan die begin sal moet bou:
  • `n Kliëntbediener wat gebruikersinsette interpreteer en die resultaat verwerk. Maak seker dat die invoerstelsel behoorlik reageer voordat jy ernstig raak met die grafika en spel (kyk vir `aksieluisteraars` as jy vashaak).
  • KI vir ander karakters sodat hulle op gebruikersaksies reageer. Vir `n eenvoudiger projek hoef jy net die karakters op `n vasgestelde pad te laat beweeg.
  • Die vermoë om grafika weer te gee (skep en stuur instruksies na die grafiese kaart).
  • `n Spellus wat aanhoudend loop terwyl die speletjie aan die gang is. Dit moet gebruikersinvoer verwerk, ander speletjielogika (soos vyandige bewegings, agtergrondanimasie en geaktiveerde gebeurtenisse) verwerk, bereken wat om te teken (vertoon op die skerm), en die inligting na die grafiese kaart stuur. Begin dit ten minste 30 keer per sekonde (30 fps), as jou stelsel dit kan hanteer.
  • Deel 2 van 2: Ontwerp die speletjie

    Prent getiteld Kodeer `n videospeletjie Stap 6
    1. Maak seker dat jy die eerste konsep voltooi. Spandeer baie tyd om uit te vind wat jou speletjie is is voordat jy selfs `n reël kode skryf. Watter genre is dit? Is dit 2D of 3D? Die speler vorder deur die speletjie deur raaisels op te los, die storie te volg/skep, teen vyande te veg en/of die omgewing te verken? Hoe meer vrae jy kan beantwoord en hoe meer besonderhede jy aan jou idees gee, hoe meer tyd sal dit jou op die lang termyn spaar. As jy besluit om `n groot verandering te maak nadat jy reeds met kodering begin het, kan veranderinge baie keer langer neem om te implementeer.
    • Verminder dit tot iets baie, baie eenvoudiger as jou oorspronklike idee. `n Klein prototipe wat ondersoek hoe jou speletjie werk en `n paar vlakke bied om te speel, is reeds `n uitstekende begin. Sodra dit gedoen is, kan jy dit as `n basis gebruik om uit te brei na `n volledige speletjie, of inkorporeer wat jy geleer het in `n nuwe projek.
    Prent getiteld Kodeer `n videospeletjie Stap 7
    2. Werk aan die stappe hieronder in enige volgorde. Op hierdie stadium het jy weke of maande se harde (maar lonende) werk voor jou. Terwyl die take hieronder oor die algemeen deur `n span mense opgeneem word en gelyktydig aan gewerk word, sal `n alleenloper moet besluit watter taak per fase die maklikste of belangrikste is om mee te begin. Gaan deur al die stappe hieronder en begin met die taak wat jou die meeste aanspreek.
    Prent getiteld Kodeer `n videospeletjie Stap 8
    3. Versamel of skep speletjiebates. Tensy jy `n teksgebaseerde speletjie maak, benodig jy 2D-grafika en moontlik 3D-modelle en teksture (patrone wat jy op die modelle toepas). Musiek en klankeffekte kan tot `n bietjie later in die proses uitgestel word, maar dit word aanbeveel as jy van plan is om jou speletjie te publiseer. Eenvoudige ikone, UI en lettertipes het die laagste prioriteit as jou speletjie nog in sy vroeë stadiums is, maar kan uiteindelik die spelervaring aansienlik verbeter.
  • Daar is baie webwerwe aanlyn waar jy gratis of goedkoop bates kan vind. Probeer hierdie lys oor grimeringskool.com.
  • Om `n kunstenaar aan te stel sal `n groot verskil maak. As jy dit nie kan bekostig nie, versamel self die bates en wys die resultaat aan artistieke vriende of plaas dit vir advies oor speletjie-ontwikkeling of kunsforums aanlyn.
    Prent getiteld Kodeer `n videospeletjie Stap 9
  • 4. Werk aan storie- of vorderingskedules. Baie van hierdie dokumentasie sal in die vorm van beplanningsdokumente buite die speletjie se kode self kom, hoewel `n storie-gebaseerde speletjie dialoogbome kan vereis. Selfs `n speletjie sonder `n tradisionele storie behoort `n gevoel van vordering te gee waaroor jy moet beplan. `n Platformspeletjie kan `n reeks bewegings en wapenopgraderings behels, terwyl `n legkaartspeletjie meer kenmerke sal byvoeg namate die kompleksiteit en moeilikheid van die legkaarte toeneem.
    Prent getiteld Kodeer `n videospeletjie Stap 10
    5. Ontwerp die vlakke. Begin met `n klein, maklike vlak of area. Fokus op die bou van die pad wat die speler deur die vlak neem, sypaadjies by te voeg (opsioneel), meer gedetailleerde grafika en die moeilikheidsgraad aan te pas (soos om die platformhoogte aan te pas of vyande te beweeg).
    Gebruik ligbronne en itemdruppels om die speler na die volgende plek in die area te lei. Gebruik skaduwees om spelers te ontmoedig om doodloopstraat of moeilike paaie te verken, en gebruik vyande vir beide doeleindes (afhangende van hoe die speletjie jou leer om vyande te vermy). `n Goed ontwerpte omgewing laat die speler voel dat hy sy eie besluite kan neem of op sy eie kan verken, maar lei hom langs die maklikste roete deur subtiele leidrade te gebruik.
    Prent getiteld Kodeer `n videospeletjie Stap 11
    6. Pas en optimaliseer die beelde. Dit is nie nodig as jy eenvoudige speletjieontwerpsagteware gebruik nie. As jy bereid is om in die meer in-diepte teorie van grafiese stelsels te delf, kan jy begin deur shaders en deeltjie-effekte te skep, of deur die grafiese kode te gaan en take te verwyder wat oorbodig is vir jou speletjie. Aangesien grafika amper altyd die bottelnek in verwerkingspoed is, sal selfs `n 2D-speletjie aansienlike optimalisering en kode-aanpassings vereis om die las op die grafiese kaart en verwerker te verminder.
    Prent getiteld Kodeer `n videospeletjie Stap 12
    7. Kry terugvoer van speletjietoetsers. Sodra jy `n eenvoudige vlak of prototipe van die spel het, kan jy vriende die speletjie laat speel en hulle vra om terugvoer te gee. Vind uit waarvan mense hou en wat hulle frustreer. Later in die proses, wanneer die speletjie meer gepoleer is, kan terugvoer van vreemdelinge of kennisse `n uitstekende bron van eerlike advies wees, aangesien hulle minder omgee om jou aan te moedig, of jy suksesvol is of nie.
    Spelers is nie opgelei om terugvoer vanuit `n ontwikkelaar se perspektief te gee nie. As spelers nie van een of ander aspek van die spel hou nie, is daar gewoonlik iets wat verbeter kan word. Die spesifieke voorstelle wat die spelers maak is egter dikwels nie nuttig nie. Vra hulle baie spesifieke vrae om uit te vind presies met watter kenmerke hulle sukkel.

    Оцените, пожалуйста статью