Programmering van 'n videospeletjie

Fone, blaaiers, rekenaars, konsoles: videospeletjies is meer gewild en wydverspreid as ooit tevore. Jy kan meer tutoriale, bateversamelings, speletjie-maakprogrammatuur en kundige advies vind as ooit. Om jou eie speletjie te programmeer verg steeds vaardigheid en geduld, maar daar is genoeg hulpbronne vir `n programmeerder van enige vlak.

Trappe

Deel 1 van 2: Aan die gang

Prent getiteld Programmeer `n videospeletjie Stap 1
1. Oorweeg dit om `n speletjie-enjin te gebruik. Min speletjie-ontwikkelaars vind die wiel weer uit en skryf hul eie speletjie-enjin van nuuts af, veral nie wanneer dit by `n eerste speletjie kom nie. As jy dadelik wil induik en nog baie programmeervermoë het, is dit `n goeie idee om `n speletjie-enjin te gebruik. `n Tipiese enjin bevat gevorderde nutsgoed vir die wysiging van 3D-modelle, skrifgebeurtenisse en ander algemene speletjietoepassings, maar sal steeds baie programmering verskaf.
  • Gewilde voorbeelde waar jy baie kan programmeer is Unity, UDK, Unreal Engine 4 en CryENGINE.
  • As jy min programmeringservaring het, kan jy aan GameMaker van YoYo Games dink. Hierdie sagteware bied sleep-en-drop, kodevrye speletjie-ontwikkeling, maar gee jou toegang tot `n kragtige programmeertaal as jy dit nodig het.
Prent getiteld Programmeer `n videospeletjie Stap 2
2. Maak gebruik van raamwerke en ander hulpmiddels. `n Raamwerk is een stap laer as `n speletjie-enjin, maar bied steeds `n stel gereedskap en API`s (toepassingsprogram-koppelvlakke) om jou tyd te bespaar en jou projekte te stroomlyn. Oorweeg die minimum hoeveelheid sagteware wat jy vir jou eerste speletjieprojek sal benodig, en selfs dan sal jy jouself as `n programmeerder moet aanbied sonder om te huiwer of `n diepgaande belangstelling in die onderliggende werking van speletjie-enjins hê. Afhangende van die presiese raamwerk en/of speletjie-enjin wat jy gebruik, kan dit wys wees om met bykomende, gespesialiseerde API`s te werk, soos die gewilde OpenGL vir die skep van 3D-grafika.
Polycode, Turbulenz en MonoGame is voorbeelde van raamwerke wat ontwerp is vir beide 2D- en 3D-speletjies.
Prent getiteld Programmeer `n videospeletjie Stap 3
3. Probeer `n IDE. `n Geïntegreerde Ontwikkelingsomgewing is `n algemene samesteller en versameling van hulpbronlêers wat dit makliker maak om komplekse programmeringsprojekte te bou. `n IDE sal programmering baie geriefliker maak, veral as dit gereedskap vir die hantering van grafiese en oudiostelsels insluit.
Visual Studio en Eclipse is twee voorbeelde, maar daar is baie ander moontlikhede. Soek `n IDE gebaseer op `n taal waarmee jy vertroud is.
Prent getiteld Programmeer `n videospeletjie Stap 4
4. Leer `n programmeertaal. Die meeste van die gereedskap hierbo is gebaseer op `n gewilde programmeertaal, so deur die ingeslote tutoriale te volg, sal jy begin. Alhoewel jy `n speletjie in byna enige kragtige programmeertaal kan skep, is die mees algemene tale C++ of C# vir alle toestelle, Flash ActionScript of HTML5 vir blaaiers, en Java of Objective C vir mobiele toestelle. Dit is goeie opsies as jy uiteindelik wil kwalifiseer vir `n pos by `n bestaande speletjie-ateljee, maar daar is baie onafhanklike speletjies gemaak in Python, Ruby of JavaScript.

Deel 2 van 2: Maak die speletjie

Prent getiteld Programmeer `n videospeletjie Stap 5
1. Maak `n plan vir die speletjie. Probeer om die konsep van die spel so goed moontlik uit te werk voordat jy begin, insluitend die genre, atmosfeer en tipe spel. As jy begin programmering voordat die konsep duidelik is, sal jy waarskynlik uiteindelik baie van jou werk opskeur en dit weggooi en weer van voor af begin. Dit sal altyd gebeur, maar `n stewige plan kan dit tot die minimum beperk.
Alles behalwe die mees eksperimentele speletjies het `n sekere vordering, so dit is nou `n goeie tyd om te begin beplan. Die vordering van die speletjie word gewoonlik bepaal deur een of meer van die volgende gebeurtenisse: om meer oor die intrige en karakters te ontdek, besluite te neem wat die verloop van die storie beïnvloed, nuwe vaardighede of hoër tellings te kry, nuwe gebiede te verken of al hoe moeiliker raaisels op te los.
Prent getiteld Programmeer `n videospeletjie Stap 6
2. Versamel die kunsbates. Versamel of skep die teksture, sprites, klanke en modelle wat jy nodig het vir die speletjie. Daar is `n hele paar versamelings van gratis speletjiebates, so doen bietjie navorsing. As jy `n 2D-speletjie maak en nie `n kunstenaar het om jou te help nie, kan jy ook self die pixelkuns maak.
Prent getiteld Programmeer `n videospeletjie Stap 7
3. Skryf jou speletjie neer. Die skrif vertel die enjin wat om te doen en wanneer. As jy `n oopbron-enjin gebruik, is die kans goed dat dit reeds `n skriftaal ingebou het, saam met tutoriale om jou te leer hoe om dit te gebruik. As jy jou eie enjin gebou het, sal jy ook self `n skriftaal moet programmeer. Hoe dit ook al sy, jy sal ten minste die volgende sleutelkomponente moet gebruik:
  • `n Spellus wat voortdurend kyk vir insette van gebruikers, die resultaat verwerk, ander gebeurtenisse verwerk, bereken wat om te vertoon en dit dan na die grafiese kaart stuur. Dit alles minstens 30 keer per sekonde.
  • "Aktiewe luisteraar"-skrifte wat kyk vir gebeure/gebeurtenisse en reageer wanneer dit plaasvind. Byvoorbeeld, `n draaiboek kan wag vir `n speler om op `n deur te klik, dan die "Maak oop"-animasie word gedraai en die deuropening word nie-botsbaar (`n deurgang). `n Ander draaiboek kyk dalk of `n wapenboks (bv. `n koeël) met die deur in aanraking kom, waarna die "ontplof"-animasie word vertoon.
    Prent getiteld Programmeer `n videospeletjie Stap 8
  • 4. Skep individuele vlakke. Vlakontwerp — wat letterlik a"vlak " `n area wat die speler kan verken, of die volgende rondte van `n vegspeletjie—sal `n aantal vaardighede toets wat niks met programmering te doen het nie. Begin met `n eenvoudige vlak wat tipiese spel vertoon, deur die volgende eenvoudige riglyne te gebruik vir genres wat vereis dat jy deur `n omgewing moet reis:
  • Maak die uitleg van die area.
  • Besluit watter roete die speler gewoonlik deur die area sal neem. Voeg uitdagings en belonings (items) langs die pad by. Plaas hulle naby mekaar vir meer adrenalien en opwinding of verder weg vir `n meer ontspanne atmosfeer.
  • Begin om grafika by te voeg. Plaas ligbronne langs die hoofpaadjie om die speler aan te moedig om dit te volg en die sypaadjies of minder belangrike areas meer dowwer te maak.
  • Pas by die spel, styl en omgewing. `n Opwindende gruwelspel wentel om lang dele van verlate verkenning gevolg deur verrassingsaanvalle. `n Oneindige stroom van vyande oorweldig die speler met, terwyl gevegsituasies waar streng beplande taktiek vereis word, die speler se aandag van die atmosfeer kan aflei.
    Prent getiteld Programmeer `n videospeletjie Stap 9
  • 5. Toets jou speletjie. Nou kan jy sien waarvoor al die harde werk goed was. Toets elke vlak soos jy dit verder poets en baie keer daarna "af" is.Doen `n doelbewuste poging om die speletjie te speel op maniere wat jy beplan het, soos om eers die moeilike areas te speel. Nog beter is om ander mense die speletjie te laat toets en hulle te vra om soveel terugvoer as moontlik te gee.
  • Kyk hoe iemand jou speletjie speel sonder enige raad, behalwe inligting om jou aan die gang te kry as dit nie reeds in die speletjie is nie. Frustrerende foute en punte waar die speler "hang" is tekens dat jy meer leidrade moet gee.
  • Wanneer die speletjie (of ten minste 1 vlak) redelik voltooi is, probeer om vriende en vreemdelinge te vind om te help met die toets. Vriende is geneig om meer optimisties te wees, wat wonderlik is vir aanmoediging, maar nie so nuttig om te voorspel hoe spelers sal reageer nie.
    Prent getiteld Programmeer `n videospeletjie Stap 10
  • 6. Neem die volgende stap. Sodra die projek voltooi is, kan dit nuttig wees om dit gratis of te koop aan te bied, maar lees die bepalings en voorwaardes van die speletjie-enjins of sagteware wat jy gebruik het. Of jy nou `n speletjie voltooi soos jy jou voorgestel het, wil dalk sekere bates en idees hê "weer" gebruik dit vir ander of meer ambisieuse projekte, of begin van voor af met die lesse wat geleer is!

    Wenke

  • Skryf altyd neer wat jy "nou" nodig het, in plaas van wat jy "miskien later" of "later" Behoefte.
  • Moenie die wiel weer uitvind nie. As daar nie `n biblioteek is wat geskik is vir wat jy wil bereik nie, gaan daarvoor of het `n baie goeie rede om self een te bou.
  • Waarskuwings

    • As jy van plan is om jou speletjie te verkoop, sal jy óf `n oopbron-enjin moet gebruik, self een moet skryf, óf die kopiereg-/handelsmerkfooie aan die enjin se skeppers moet betaal.

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