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.