Datorspeldesign

gaming4

Spel design

Ett dataspel kan bara vara ett C-applikationsprogram. Figur 1.1 visar arkitekturen
av ett typiskt dataspel. Den består av följande komponenter: Input, Game Logic,
Grafik / ljudstöd, spelutmatning och nätverk. De beskrivs kort som
följer:

  • · Input – Användare interagerar med spelprogrammet via inmatningsenheter. Gemensam input
    enheter inkluderar tangentbord, mus eller joystick.
  • · Spellogik – Den implementerar spellogiken eller spelkoden som hanterar det mesta av spelet
    grundläggande mekanik i spelet. Generellt, innan spellogiken utvecklas, berättelsen
    linje om hur spelet spelas och hur spelarna ska interagera ska vara
    designad. Enkel fysik, nätverksstöd och animationer bör planeras. I
    några avancerade spel, artificiell intelligens (AI) och kollisionsdetektering är också
    implementeras i detta steg.
  • · Grafikåtergivningsmotor – Den har komplicerad kod för att effektivt identifiera och
    återge spelobjekten och bakgrunden från en tvådimensionell (3-D) modell av
    miljö. Den stöder omvandling av objekt som flyttas, roteras och skalas
    vid behov.
  • · Grafik / ljuddrivrutiner – Grafikdrivrutinerna får förfrågningar från rendering
    motor till grafikbiblioteket med API: er. Windows API: er och Microsoft Foundation
    Classes (MFC) ger tvådimensionellt (2-D) grafikstöd för datorer. För
    som stöder både 2-D och 3-D-grafik är OpenGL och DirectX de två mest
    populära grafikbibliotek. DirectX erbjuder också bibliotek för musik och ljud
    Stöd.
  • · Spelutmatning – Den genererade 2-D- eller 3-D-grafiken matas ut till skärmen. De
    genererad ljudeffekt eller musik matas ut till ljudkortet.
  • · Nätverk – Det ger stöd för nätverksprotokoll som tillåter flera användare
    avlägsna platser för att spela och interagera i samma spelmiljö. I ett nätverk
    spelmiljö behövs en server för att underhålla information om vilken virtuell
    spelvärlden stöder, kommunicerar med spelklienter som används av spelare till
    ge dem information om den delade miljön. Servern behöver också
    för att synkronisera informationen och upprätthålla de konsekventa scenerna i det virtuella spelet
    värld bland de nätverksklienter.

När ett spelprogram börjar köras bör det initialisera minnet, ladda bilder och ljudfiler, starta grafiken och ställa in variabler som poäng. Efter initialisering startar spellogiken. När spelsessionen avslutas behövs städning också för att uppdatera ljudeffekter, uppdatera och visa poäng, uppdatera datastrukturer etc. Användaren kan avsluta den här sessionen eller gå tillbaka till spellogiken för att starta spelet igen.

Story

För att designa ett framgångsrikt dataspel är det viktigt att ha en bra berättelselinje tillsammans
med bra 2-D och 3-D grafik, och ljudeffekter som gör att dataspelet verkar
realistiskt. Historien bör först utvecklas innan vi börjar utveckla ett spel. Till
utveckla en berättelse, måste vi bestämma följande:

  • · Typ av spel – Vi måste klassificera spelets karaktär i ett av spelets
    kategorier som vi har diskuterat i avsnitt 1.1. Olika typer av spel har
    olika krav, till exempel rollspel kräver realism i grafik
    och ljudeffekter, medan vissa strategispel betonar på strategi snarare än
    realism och förenklad visning skulle räcka för sådana spel.
  • · Målet med spelet – Vi måste berätta för spelaren vad de ska göra för att lyckas i spelet.
    I ett rymdkrigsspel är målet att skjuta ner så många rymdinbrytare som möjligt. I
    ett slagsmål är målet att besegra eller döda motståndaren.
  • · Spelarens prestanda i spelet – Vi måste bestämma hur vi ska betygsätta spelarna för
    deras prestanda. Detta bör ange hur nära de har uppnått målet för
    spel. I allmänhet använder vi en totalpoäng som en spelares prestationsindikator. Dessutom,
    när spelaren har uppnått målet måste vi också avgöra hur man ska belöna
    spelare.
  • · Spelets regler – Vi måste berätta för spelarna hur man spelar spelet. Instruktioner
    om hur man använder tangentbordet eller musen för att spela spelet ska vara
    förklarade.