2014-12-28

28.12.14

Det går inte precis snabbt fram det här arbetet, speciellt inte nu när det har varit jul och jag har inte haft tid att sitta och plugga då jag har umgåtts med familjen. Men idag fokuserade jag på sprites.


Så nu har jag en sprite som rör sig från mitten och mot höger, ska fortsätta så jag får den att röra sig i det mönstret som de gör i orginalet innan jag lägger till resten.

2014-12-18

18.12.14

Idag fick jag hjälp utav Jerry att skriva den koden som gör att jag kan använda tangentbordet för att förflytta mitt egna skepp som spelare.

2014-12-17

17.12.14

Idag har jag börjat med att göra en lista över allting som behövs finnas i min Space Invader för att verkligen få med allting och se till att uppfylla de kraven som behövs på denna uppgift. Jag har använt bland annat denna video som referens över vad jag behöver göra.

Förutom det har jag börjat jobba mer i mallen och skriva in, idag blev jag klar med att anpassa skärmen till en storlek som jag finner passande. Jag har också skapat själva bollen som följer med spelarens skepp och att bollen ska skjutas rakt framåt och inte studsa på saker som den gjorde när vi skrev koden till Arkanoid.

2014-12-11

11.12.14

Det här kommer bli min development diary för ett projekt som jag kommer jobba med i några veckors tid. Alla inlägg kommer bli taggade med Space Invaders(klicka här för att komma till taggen).

This first part of the assignment is to create a game using C/C++ and Simple DirectMedia Library (SDL). Writing a clone of a classic arcade game is highly recommended.
Det här är uppgiften vi har fått.

Det första jag gjorde var att välja ett spel, jag har jobbat tidigare(i en annan kurs) med Space Invaders och tyckte det var ett tillräckligt stort projekt för mig att göra själv. När jag hade valt ett spel att försöka kopiera började jag skriva på ett design dokument som kommer kunna hjälpa mig när jag programmerar mitt spel. I design dokumentet har jag med alla objekt och dess behaviours och properties. Jag har också med en relationstabell där jag kan se hur alla objekt påverkar varandra. Här är en del av mitt design dokument;

Object name: Bullet
Properties: graphics, position, damage, sounds, speed, hitbox
Behaviours: movement 
Object name: Player
Properties: graphics, position, hitbox, speed, player controlled, hit points
Behaviours: movement, shooting 
Object name: Enemy 1
Properties: graphics, position, hitbox, speed, hit points
Behaviours: movement, shooting
Om ni vill se hela design dokumentet så ligger det uppe här på OneDrive och jag kommer uppdatera och ändra det vartefter jag håller på med det här projektet.

Jag har också börjat med att programmera lite smått, nu efter vi har jobbat i klassen med Arkanoid så har jag haft en mall som jag har kunnat utgå ifrån.
Så mycket tid har gått till att kopiera och skriva över delar av koden från Arkanoid arbetet till mitt egna projekt i Visual Studios som jag kommer kunna fylla i och lägga till saker i.

Jag har precis börjat med arbetet och har mycket kvar att göra men vi har ändå ett par veckor på oss så förhoppningsvis kommer resten gå bra. Nu blir det lite att testa att jag verkligen har lärt mig det jag ska under denna kurs, jag hade ingen erfarenhet alls av programmering bara för ett par veckor sen så det är fantastiskt kul att se hur mycket jag har lärt mig hittills.

2014-12-06

6.12.14

Den här veckan har vi börjat ordentligt med spelprogrammering. Vi har kört mycket live kodning, att handledaren har skrivit och vi har skrivit av så vi har kunnat gå igenom rad för rad och se hur man bygger upp ett spel. Vi håller på med att återskapa arkanoid men vi är ännu inte riktigt klara, hittills har vi bara som en fungerande mall för att göra ett spel. Något som vi kommer ha användning av i framtiden! Och det är väldigt snart vi ska börja återskapa spel själva.

Screenshot av Arkanoid, bildkälla.

Här är en del av det vi har skrivit denna vecka.
Allting ligger under .h och .cpp filer. När man gör ett större program så behövs det, men när vi skrev pong för några veckor sen så skrev vi allting direkt i samma fil. Det här systemet är mycket lättare att hålla koll på, det blir mycket hoppandes fram och tillbaka mellan de olika filerna men allting är mer strukturerat. 

Vi har också börjat prata om polymorphism. På MSDN står det såhär;
Polymorphism refers to the ability to define multiple classes with functionally different, yet identically named methods or properties that can be used interchangeably by client code at run time. (Källa