Hoe om 'n videospeletjie te kodeer: 12 stappe (met foto's)

INHOUDSOPGAWE:

Hoe om 'n videospeletjie te kodeer: 12 stappe (met foto's)
Hoe om 'n videospeletjie te kodeer: 12 stappe (met foto's)
Anonim

Die skep van 'n videospeletjie is 'n groot onderneming, maar die eindresultaat is moontlik die opwindendste koderingsprojek wat u ooit voltooi het. U leer die meeste van die gereedskap wat by u vlak van programmeringskennis pas, dus moenie aanvaar dat dit die beste opsie is om van nuuts af te begin nie. Kies 'n programmeertaal, 'n geïntegreerde ontwikkelingsomgewing en/of sagteware vir speletjies wat u binne vyftien minute kan begin uitvind nadat u dit oopgemaak het of die tutoriaal gelees het.

Stappe

Deel 1 van 2: Die keuse van 'n enjin

Kodeer 'n videospeletjie Stap 1
Kodeer 'n videospeletjie Stap 1

Stap 1. Leer meer oor spelmotors

Die meeste videospeletjies word gemaak met 'n gespesialiseerde enjin waarmee u gebeurtenisse, karakters, ensovoorts kan "script" sonder om elkeen van nuuts af te kodeer. Dit kan jare neem om 'n volledige spelmotor te skep, sodat die meeste onafhanklike ontwikkelaars 'n bestaande enjin gebruik. U hoef slegs een van die volgende stappe in hierdie afdeling te volg, afhangende van hoe gemaklik u is met programmering en hoeveel tyd u aan die klein besonderhede wil spandeer.

Kodeer 'n videospeletjie Stap 2
Kodeer 'n videospeletjie Stap 2

Stap 2. Oorweeg eenvoudige sagteware om speletjies te maak

Hierdie gereedskap benodig baie min programmeringskennis, so dit is moontlik nie vir u as u belangstel in die koderingsaspekte van die maak van speletjies nie. Aan die ander kant kan 'n eenvoudige duik-reg-benadering u baie leer oor u spel en u die konsep op hoër vlak laat aanpas voordat u na 'n groter prototipe gaan. Hier is 'n paar gratis opsies:

  • Probeer MIT App Inventor of Game Salad vir mobiele speletjies
  • Probeer Scratch, of die ernstiger weergawe Snap! bedoel as 'n inleidende programmeringshulpmiddel
  • Gebruik Visionaire vir avontuurlike speletjies.
  • Probeer die gratis weergawe van GameMaker as u 'n sleep-en-laat-program wil hê met die opsie om ook in kodering te kyk
Kodeer 'n videospeletjie Stap 3
Kodeer 'n videospeletjie Stap 3

Stap 3. Probeer meer professionele ontwikkelingsvlakke

Dit is 'n uitstekende opsie om u hande vuil te maak, spelkodering te kry sonder om heeltemal van vooraf te hoef te begin. Baie professionele onafhanklike spelontwikkelaars begin op hierdie vlak. Alhoewel daar baie 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: Eenheid
  • Vir meer gevorderde kodeerders: LWJGL (gebaseer in Java), SFML (gebaseer in C ++)
Kodeer 'n videospeletjie Stap 4
Kodeer 'n videospeletjie Stap 4

Stap 4. Kies 'n instrument om u eie enjin te bou

As u reeds kennis van programmering het en u wil u eie enjin bou, is hier 'n paar plekke om aan die gang te kom. As dit u eerste poging is, benodig u waarskynlik tutoriale

  • Met ActionScript kan u 'n Flash-enjin maak. Dit is 'n goeie plek om te begin vir intermediêre programmeerders.
  • Java is relatief eenvoudig om te leer. U benodig 'n Java Development Kit (JDK), plus Eclipse of 'n ander geïntegreerde ontwikkelingsomgewing (IDE) vir Java. As u nie seker is hoe om te begin nie.
  • As u reeds 'n programmeertaal (veral 'n C -taal of Python) ken, soek 'n IDE vir die taal. Dit moet 'n samesteller bevat en die vermoë om maklik aan grafika, klank en ander kode in dieselfde projek te werk.
Kodeer 'n videospeletjie Stap 5
Kodeer 'n videospeletjie Stap 5

Stap 5. Bou jou eie enjin

As u die uitdaging die hoof bied en een van die gevorderde gereedskap in die vorige stap gekies het, moet u waarskynlik 'n tutoriaal, 'n hulpforum of 'n ervare spelontwikkelaar vind vir advies spesifiek vir u taal. As u nie seker is waar om te begin of waaroor u moet vra nie, is hier 'n paar basiese komponente wat u vroeg moet bou:

  • 'N Bediener aan die kant van die kliënt, wat die invoer van gebruikers interpreteer en die resultaat verwerk. Laat die insetstelsel korrek reageer voordat u grafika en spel ernstig werk. (Probeer 'aksie -luisteraars' ondersoek as u vas is.)
  • AI vir ander karakters, sodat hulle reageer op die optrede van die gebruiker. Vir 'n eenvoudiger projek, laat die karakters net op 'n vasgestelde pad beweeg.
  • Die vermoë om grafika weer te gee (saamgestel en instruksies na die grafiese kaart gestuur).
  • 'N Spellus wat voortdurend loop terwyl die spel uitgevoer word. Dit moet gebruikersinvoer neem, dit verwerk, ander spellogika verwerk (soos vyandelike beweging, agtergrondanimasie en gebeurtenisse wat veroorsaak word), bereken wat geteken moet word (op die skerm vertoon) en die inligting na die grafiese kaart stuur. Doen dit ten minste 30 keer per sekonde (30 fps) as u stelsel dit kan hanteer.

Deel 2 van 2: Die ontwerp van die spel

Kodeer 'n videospeletjie Stap 6
Kodeer 'n videospeletjie Stap 6

Stap 1. Maak eers jou konsep vas

Spandeer 'n goeie tyd om vas te stel wat u spel is voordat u 'n reël kode raak. Watter genre is dit? Is dit 2D of 3D? Vorder die speler in die spel deur raaisels op te los, die storie te volg/te skep, vyande te bestry en/of te verken? Hoe meer vrae u beantwoord en hoe meer besonderhede u idees gee, hoe meer tyd spaar u op die lange duur. As u besluit om 'n groot verandering te maak nadat u reeds met kodering begin het, kan dit baie langer neem om die verandering in werking te stel.

Stel dit op 'n manier eenvoudiger as u oorspronklike idee. 'N Klein prototipe wat ondersoek hoe u spel werk en 'n paar vlakke gee om te speel, is 'n uitstekende begin. Sodra dit klaar is, kan u dit as basis gebruik om uit te brei na 'n volledige spel, of dit wat u geleer het in 'n nuwe projek op te neem

Kodeer 'n videospeletjie Stap 7
Kodeer 'n videospeletjie Stap 7

Stap 2. Werk aan die onderstaande stappe in enige volgorde

Op hierdie stadium lê daar weke of maande se harde, maar lonende werk op u voor. Terwyl 'n span mense oor die algemeen die onderstaande take verdeel en gelyktydig daaraan werk, sal 'n individu moet besluit met watter taak die maklikste om te begin of die belangrikste is in elke stadium. Lees al die onderstaande stappe deur en begin met die taak wat u die meeste aanspreek.

Kodeer 'n videospeletjie Stap 8
Kodeer 'n videospeletjie Stap 8

Stap 3. Versamel of skep kunsbates

Tensy u 'n teksbasis-speletjie maak, benodig u 2D-beelde en moontlik 3D-modelle en teksture (patrone wat u op die modelle toepas). U kan musiek en byklanke vertraag tot 'n bietjie later in die proses, maar dit word sterk aanbeveel as u van plan is om u speletjie te publiseer. Eenvoudige ikone, gebruikerskoppelvlak en lettertipes geniet die laagste prioriteit as u spel jonk is, maar 'n bietjie moeite hier kan die spelerervaring aansienlik verbeter.

  • Daar is baie plekke om gratis of goedkoop kunsbates aanlyn te vind. Probeer hierdie lys op makeschool.com.
  • Die huur van 'n kunstenaar sal 'n groot verskil maak. As u dit nie kan bekostig nie, versamel self die bates en wys die resultaat aan artistieke vriende of plaas dit vir advies op die spelontwikkeling of kunsforums.
Kodeer 'n videospeletjie Stap 9
Kodeer 'n videospeletjie Stap 9

Stap 4. Werk aan 'n verhaal- of vorderingsboogontwerp

Baie hiervan sal as beplanningsdokumente buite die spelkode self geskryf word, hoewel 'n storie-gebaseerde speletjie moontlik vertakkende dialoogbome moet insluit. Selfs 'n spel sonder 'n tradisionele verhaal moet 'n gevoel van vordering hê wat u moet beplan. 'N Platform kan 'n reeks bewegings en wapensopgraderings behels, terwyl 'n raaiselspel meer funksies kan toevoeg, aangesien dit die kompleksiteit en moeilikheidsgraad van die raaisels verhoog.

Kodeer 'n videospeletjie Stap 10
Kodeer 'n videospeletjie Stap 10

Stap 5. Werk aan vlak ontwerp

Begin met 'n klein, eenvoudige vlak of oppervlakte. Fokus op die konstruksie van die pad wat die speler deur die vlak neem, voeg dan sypaadjies (opsioneel), meer gedetailleerde grafika by, en pas die moeilikheid aan (soos deur platformhoogtes aan te pas of vyande rond te skuif).

Gebruik ligbronne en itemdruppels om die speler na die volgende plek in die omgewing te lei. Gebruik skaduwees om spelers te ontmoedig om doodloopstrate of ongemaklike paaie te betree, en gebruik vyande vir beide doeleindes (afhangende van hoe die spel jou leer om vyande te omseil). 'N Goed ontwerpte gebied laat die speler voel dat hy sy eie besluite neem of ondersoek, maar lei hom op die mees eenvoudige pad deur subtiele leidrade te gebruik

Kodeer 'n videospeletjie Stap 11
Kodeer 'n videospeletjie Stap 11

Stap 6. Pas die grafika aan en optimaliseer dit

Dit is nie nodig as u eenvoudige sagteware vir speletjies gebruik nie. As u die dieper kant van grafiese stelsels wil verdiep, kan u begin met die skep van shaders en deeltjie -effekte, of deur die grafiese kode gaan en take wat vir u spel onnodig is, verwyder. Omdat grafika byna altyd die verstikkingspunt is wat die verwerkingsnelheid bepaal, gaan selfs 'n 2D -spel gewoonlik deur middel van aansienlike optimaliseringsaanpassings en herskrywings om die las op die grafiese kaart en verwerker te verminder.

Kodeer 'n videospeletjie Stap 12
Kodeer 'n videospeletjie Stap 12

Stap 7. Kry terugvoer van speeltoetsers

Sodra u 'n eenvoudige vlak of 'n prototipe van die spel het, laat u vriende die speletjie speel en terugvoer gee. Vind uit wat mense dink pret is en wat hulle frustreer. Later in die proses, as die spel meer gepoleer is, kan terugvoer van vreemdelinge of kennisse 'n uitstekende bron van eerlike advies wees, aangesien dit minder belê word in u sukses of u aanmoedig.

Aanbeveel: