Hoe om 'n videospeletjie te programmeer: 10 stappe (met foto's)

INHOUDSOPGAWE:

Hoe om 'n videospeletjie te programmeer: 10 stappe (met foto's)
Hoe om 'n videospeletjie te programmeer: 10 stappe (met foto's)
Anonim

Telefone, blaaiers, rekenaars, konsoles: videospeletjies is meer gewild en wydverspreid as ooit tevore. U kan meer tutoriale, batesversamelings, sagteware-instrumente vir speletjies en kundige advies vind as ooit tevore. Om u eie spel te programmeer, verg nog steeds vaardigheid en geduld, maar daar is genoeg hulpbronne vir 'n kodeerder van enige vlak.

Stappe

Deel 1 van 2: Aan die gang

Programmeer 'n videospel Stap 1
Programmeer 'n videospel Stap 1

Stap 1. Oorweeg 'n speletjie -enjin

Min spelontwikkelaars vind die wiel uit en skryf hul eie speletjie -enjin van nuuts af, veral vir hul eerste wedstryd. As u dadelik wil duik, maar nog steeds baie programmeergeleenthede het, is die gebruik van 'n speletjie -enjin 'n goeie opsie. 'N Enjin bevat tipies gereedskap op hoër vlak vir die verandering van 3D-modelle, scriptgebeurtenisse en ander algemene speltoepassings, maar bied steeds baie praktiese programmeergeleenthede.

Gewilde voorbeelde wat baie programmeer, is Unity, UDK, Unreal Engine 4 en CryENGINE

Programmeer 'n videospel Stap 2
Programmeer 'n videospel Stap 2

Stap 2. Gebruik raamwerke en ander gereedskap

'N Raamwerk is 'n stap onder 'n speletjie -enjin, maar bied steeds 'n stel gereedskap en API's (toepassingsprogram -koppelvlakke) om u tyd te bespaar en u koderingprojekte te stroomlyn. Beskou dit as die minimum sagteware wat u vir u eerste spelprojek moet gebruik, en selfs dan moet u gemaklik voel om uself as 'n programmeerder voor te stel, of 'n groot belangstelling in die agter-die-skerms op spelmotors te hê. Afhangende van die presiese raamwerk en/of speletjie -enjin wat u gebruik, wil u moontlik ekstra werk doen in gespesialiseerde API's, soos die gewilde OpenGL vir die skep van 3D -grafika.

Polycode, Turbulenz en MonoGame is 'n voorbeeld van raamwerke wat geskep is met 2D- en 3D -speletjies in gedagte

Programmeer 'n videospel Stap 3
Programmeer 'n videospel Stap 3

Stap 3. Probeer 'n IDE

'N Geïntegreerde ontwikkelingsomgewing is 'n algemene samesteller en versameling bronlêers wat dit makliker maak om komplekse programmeerprojekte te bou. 'N IDE sal die programmering van 'n speletjie baie geriefliker maak, veral as dit ingeboude maniere het om met grafiese en klankstelsels te kommunikeer.

Visual Studio en Eclipse is twee voorbeelde, maar daar is baie ander. Soek 'n IDE gebaseer op 'n taal wat u ken

Programmeer 'n videospel Stap 4
Programmeer 'n videospel Stap 4

Stap 4. Leer 'n programmeertaal

Die meeste van die bogenoemde instrumente is in 'n gewilde programmeertaal gebaseer, dus as u die meegaande tutoriale volg, kan u 'n goeie begin kry. Alhoewel u 'n speletjie in byna alle programmeertale kan skep, is C ++ of C# vir alle toestelle die algemeenste, Flash ActionScript of HTML5 vir blaaiers en Java of Objective C vir mobiele toestelle. Dit is goeie opsies as u uiteindelik wil huur by 'n bestaande spelateljee, maar baie onafhanklike speletjies word gemaak met Python, Ruby of JavaScript.

Deel 2 van 2: Die skep van die spel

Programmeer 'n videospel Stap 5
Programmeer 'n videospel Stap 5

Stap 1. Skep 'n plan vir die spel

Voer die konsep van die spel soveel as moontlik uit voordat u begin, insluitend die genre, bui en tipe spel. As u begin programmeer voordat die konsep duidelik is, sal u waarskynlik moet skeur en 'n aansienlike hoeveelheid werk moet herskryf. Dit sal waarskynlik in elk geval gebeur, maar 'n stewige plan sal hierdie gebeure tot die minimum beperk.

Almal behalwe die mees eksperimentele speletjies het 'n vordering, dus dit is 'n goeie plek om met die beplanning te begin. Vordering vind gewoonlik plaas deur een of meer van die volgende: meer ontdek oor die plot en karakters, besluite neem wat die storielyn beïnvloed, nuwe vaardighede of hoër statistieke opdoen, nuwe gebiede ondersoek of moeiliker en moeiliker raaisels oplos

Programmeer 'n videospel Stap 6
Programmeer 'n videospel Stap 6

Stap 2. Versamel u kunsbates

Versamel of skep al die teksture, sprites, klanke en modelle wat u benodig vir u spel. Daar is 'n hele paar versamelings gratis spelbates, so soek bietjie. As u 'n 2D -speletjie maak en nie 'n kunstenaar het om te help nie, kan u u eie pixelkuns skep.

Programmeer 'n videospel Stap 7
Programmeer 'n videospel Stap 7

Stap 3. Skryf jou spel op skrif

Die skrif vertel die enjin wat om te doen en wanneer om dit te doen. As u 'n oopbron -enjin gebruik het, is die kans goed dat dit reeds 'n skripttaal het, en waarskynlik tutoriale wat u sal leer hoe om dit te gebruik. As u u eie enjin bou, moet u u eie scripttaal skep. Hoe dan ook, u benodig ten minste hierdie hoofkomponente:

  • 'N Spellus wat voortdurend aan die gang is en kyk na die invoer van gebruikers, die resultaat verwerk, ander gebeurtenisse verwerk, bereken wat vertoon moet word en dit na die grafiese kaart stuur. Dit moet ten minste 30 keer per sekonde loop.
  • 'Aktiewe luisteraar' -skrifte wat kyk na gebeure en reageer wanneer dit voorkom. Byvoorbeeld, een skrip kan kyk hoe 'n speler met 'n deur in wisselwerking tree, dan die 'oop' animasie laat loop en die deur nie-botsbaar maak. 'N Ander draaiboek kan kyk hoe 'n wapenhouer met die deur in aanraking kom, en eerder' animasie 'uitmekaar slaan'.
Programmeer 'n videospel Stap 8
Programmeer 'n videospel Stap 8

Stap 4. Skep individuele vlakke

Vlakontwerp - wat 'n letterlike "vlak 1" kan insluit, 'n gebied wat die speler kan verken, of die volgende ronde van 'n vegspel - sal 'n paar vaardighede toets wat nie met programmering verband hou nie. Begin met 'n eenvoudige vlak met 'n tipiese spel, en volg hierdie basiese riglyn vir genres wat deur omgewings reis:

  • Skep die basiese uiteensetting van die gebied.
  • Besluit oor die basiese pad wat die speler meestal deur die gebied sal neem. Voeg uitdagings en voordele (items) by hierdie pad. Plaas hulle naby mekaar vir adrenalien en opwinding, of verder uitmekaar vir 'n meer ontspanne atmosfeer.
  • Begin met die toevoeging van grafiese elemente. Plaas ligbronne langs die hoofpad om spelers aan te moedig om dit te volg, en hou die sypaadjies of minder belangrike gebiede dof.
  • Pas by die spel, styl en omgewing. Byvoorbeeld, 'n spanningsvolle gruwelspel floreer op stukke leë verkenning wat deur verrassingsaanvalle gekenmerk word. 'N Nimmereindigende stortvloed vyande oorweldig die speler eerder met adrenalien, terwyl gevegte wat deeglike taktiese beplanning verg, die speler van die emosionele atmosfeer kan aflei.
Programmeer 'n videospel Stap 9
Programmeer 'n videospel Stap 9

Stap 5. Toets jou spel

Nou kan u sien wat al u harde werk omskep het. Toets elke vlak terwyl u dit poleer, en baie keer nadat dit 'klaar' is. Doen 'n bewuste poging om die spel te speel op 'n manier wat u nie bedoel het nie, soos om eers deur moeiliker gebiede te speel. Beter nog, vind speeltoetsers om die spel vars te kry en vra soveel moontlik terugvoer.

  • Kyk hoe iemand speel sonder om hom raad te gee, tensy dit basiese tutoriale inligting is wat nog nie by die spel gevoeg is nie. Frustrerende foute en punte waar die speler "vashaak" is tekens dat u meer leiding moet insluit.
  • Sodra die spel (of ten minste 'n vlak) redelik voltooi is, probeer om vreemdelinge of kennisse te vind om te help met die toets. Vriende is geneig om meer optimisties te wees, wat wonderlik is om aanmoediging te bied, maar nie so nuttig om te voorspel hoe spelers gaan reageer nie.
Programmeer 'n videospel Stap 10
Programmeer 'n videospel Stap 10

Stap 6. Neem die volgende stap

As u die projek voltooi, wil u dit gratis vrystel of te koop stel, maar maak seker dat u die bepalings en voorwaardes lees vir enige spelmotors of sagteware wat u gebruik het. Of u nou die spel voltooi of nie, soos u dit voorgestel het, u wil 'n paar bates en idees 'kanibaliseer' vir 'n ander of meer ambisieuse projek, of die lesse neem wat u geleer het en van voor af begin!

Video - Deur hierdie diens te gebruik, kan sommige inligting met YouTube gedeel word

Wenke

  • Die grafika hoef nie alles in 3D te wees nie. Eenvoudige grafika soos in Pokemon, Mega man en Tetris vermaak steeds mense.
  • Skryf altyd die dinge wat u nou nodig het in plaas van dinge wat u 'dalk' nodig het 'of' later 'nodig het.
  • Moenie die wiel weer uitvind nie. As u 'n biblioteek kan invoer wat u benodig, kan u dit doen of seker maak dat u 'n goeie rede het om u eie te bou.

Aanbeveel: