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


2014-11-28

28.11.14

Spelprogrammering I fortsätter på i samma snabba tempo med en massa nya saker varje föreläsning! Förra veckan gick vi igenom functions, arrays och memory.



- Write a program that converts a std::string to The Robber language
- Let the user input a string of characters

Vi gick också genom steg för steg hur man gör spelet Pong under två dagars workshop. Där fick vi se alla olika delar vi har gått igenom tidigare och vad de gör i ett mer komplicerat program.

Här är bara en del av koden.


Denna vecka har vi gått igenom classes. Jag har tyvärr inte börjat med något av de program för jag har just nu en inflammation i handleden och får inte använda den alls, jag skriver det här inlägget med bara min vänsterhand och det tar väldigt lång tid. Så denna vecka har jag spenderat mer utav att sitta med när någon annan programmerar så att jag kan förstå vad man ska göra och så har jag läst väldigt mycket ur boken C++ How to program Ninth edition av Harvey M. Detel och Paul J. Deitel. Det är en väldigt bra bok, de förklarar allting steg för steg och exakt vad varje rad från koden gör. Så jag ska fortsätta läsa under helgen och vila upp min hand så får jag satsa på måndag igen och skriva ikapp det jag har missat!

2014-11-14

14.11.14

Självklart lyckades jag dra på mig en förkylning så här första veckan så min mesta tid har gått till att ligga och sova och dricka te. Men jag kämpat på att inte komma efter alldeles för mycket.

Det misstaget jag har gjort de senaste dagarna är att skriva std::end1 istället för std::endl, de borde verkligen fixa det så ettorna inte ser ut som ett litet L. Självklart glömmer jag lite då och då bort att avsluta raden med ;;. Men man lär sig av sina misstag! Nu när det står att något inte stämmer kollar jag de här två misstagen allra först för att se om det är vad som blev fel, igen.

Det här är det senaste jag har gjort;


Program 12
- Write a program that converts user input from Celsius to Fahrenheit
- Compile and run

2014-11-11

11.11.14

Kursen Programmering I har äntligen börjat och jag har förberett mig länge mentalt på att det här kommer bli några utav de tuffaste veckorna för mig. Jag har ingen som helst erfarenhet av programmering så jag måste snabbt lära mig grunderna så jag inte halkar efter de andra i min klass. Det är som en helt ny värld för mig med ett helt nytt språk, det kommer ta mig ett tag att komma in i det. Vi började kursen igår så vi har inte hunnit göra så mycket mer än att ha haft föreläsningar om vad vi ska göra under kursen, vad programmering är och lite om datorns utveckling. Däremot har vi har fått ett dokument med olika övningar och uppgifter som vi kan göra och öva på så jag har suttit under eftermiddagen och försökt komma igång med programmeringen.


Program 1
- Write a program that declares a variable of integer type
- Assign the value 5 to the variable
- Output the value with std::cout
- Compile and run the program 

Program 2
- Extend Program 1 with another variable of integer type
- Assign the value 3to the variable
- Output both values on one line
- Compile and run the program 

Program 3
- Extend Program 2
- Declare a third variable of type integer
- Add the variable from Program 1 and Program 2, and assign it to new variable
- Output the result of the addition
- Compile and run the program

Det är såhär lång jag har kommit hittills, fick ta hjälp av klasskompisar för att ta mig hit men jag börjar förstå vad jag gör. Man lär sig mycket på att göra fel och behöva göra om gång på gång.

Har suttit och övat på det binära och hexadecimala talsystemet, det är helt nytt för mig men som tur är så är matte alltid logiskt så bara om man förstår grunden så kommer man snabbt in i tänket. Jag gör fortfarande många misstag när jag försöker omvandla mellan de olika talsystemen men samtidigt är det omöjligt att lära sig sånt här på två dagar och kunna det helt utantill. Jag får fortsätta att kämpa på och se till att jag inte faller efter de andra som redan har erfarenhet med programmering.

2014-10-09

Concept Challenge

H
Together with four classmates I did the Concept Challenge where we got a randomized narrative that we had to build a game around. What we came up with was a 2D platform game for mobile devices. I'm going to share the presentation here with you together with the first part from our development diary.



Tuesday 30th

The first thing we needed to do was to create a story to build our game around. We decided that we were going to generate a random story through a writing exercise. The process started with getting a paper and letting everyone in the group write for 30 seconds and then passing the paper around. For example Rasmus started writing his story and then passed it along to Tom after 30 seconds, who then both read and continued the story. But before passing it to Sigrid he had to fold down what Rasmus had written so she only read Tom’s part of the story before continuing the writing. Because of that no one knew the entire story or what the others had written except the one before them.

Having done the exercise we got four different stories,  we decided to take one of them that was random but still consistent. The story was about a tree, possessed by the devil who eats children.We started thinking about how we could make that story into a narrative and build a game around it. So we decided to make one of the children the main character of the game instead of playing as the tree or something evil. We started discussing what mechanics our game needed in order to fit the story. The conclusion was to make a 2D platformer game for mobile devices.

We decided to make it a mobile game since this is not something you usually find on App Store, Spooky Tree have a deeper story and feels darker and creepier than for example Candy Crush or Farmville. But it could still be something that you casually play when you want to pass time. You could play our game while you are on the bus or the train or when you are laying in bed having a hard time falling asleep. It is not a hardcore game nor something we expect people will play for six hours straight.

The deadline for the game idea is Wednesday next week so we do not want to stress with it and to really take our time. Also so we have time to focusing on other school work we have other than this assignment. We could have decided to do it fast and just get over with it but since we had time we wanted to really do our best and work with our ideas. Our group also decided to write small notes about what we did each day. Later on we wrote down in this diary what accomplished and described more into detail what we had decided and why we made those choices.


2014-09-30

Impending Doom

We got an assignment about designing an impending doom game and writing an essay about the game we wanted to make. I just finished my essay and sent it in and thought I should share it here on my blog too.




Under the knife
When the player starts up the game the character is lying on an autopsy table in a quiet, white room in a mortuary. The player can look around in the room but is unable to move any limbs or talk. Some unidentifiable person enters the room, picks up a scalpel and starts the necropsy on the body right in front of the player’s eyes. The player is given a few choices, trying to move their legs, arms or trying to speak up. In the top corner of the screen the player is watching the character losing blood while being cut open.

Game play
In Fundamentals of Game Design(Ernest Adams, 2014) it says “Games provide gameplay, that is challenges and actions that entertain. People enjoy a challenge, as long as they can reasonably expect to accomplish it”. I wanted to create a gameplay where you are given a few choices where the player might think that they could survive by doing these actions in a specific order. Of course there is no possible way that the player could survive in this nerve-racking scenario but I want to engender the feeling that in some kind of way the player could make the character speak up or show that they are still alive.
But since the gameplay is very graphical it is going to be hard for the player to make the decisions. How are they going to react? Will they try different combinations of these actions and losing more blood faster or will they try to stay calm while playing it and only trying to talk during the autopsy? The player should not know that it is an impending doom game. Therefor I want more actions to be added after they have struggled with the three actions that are available in the beginning. For example after the player has tried to move their legs for five times they now are also given the action to try to move their feet. And after that they can try to move their toes. The player is slowly trying to get back the control over their body and it is working, slowly they can feel more of their body and try to control it but the time is running out. Of course it is not working in the end but it will give the feeling to the player that they maybe could survive it if they just were a little bit faster or made the right choices right from the beginning. Every move the character makes they lose more blood, the more they get control over their body the faster they are going to die. There is no win-situation.

Fun
In Adam Mayes presentation Introduction week 2.1 MDA he talked about fun and how different games could fun to play in different ways. There are 8 different kinds of fun, for example sensation, fantasy and fellowship. It is hard to fit in an impending doom game under any of these fun genres since it is very short and does not have a lot of story. But I believe “Under the knife” is more of a challenge game, as there is a main goal that the player must try to achieve by timing, doing actions and critical thinking. The player must think twice before pressing any button. They have to be critical towards everything they make the character do. I strive towards that the player would want to replay it more than once to try to survive and to try out other strategies. The game could also fit under sensation; I want the game to feel very realistic and beautiful in that way. If the game was not in 3D or not from a first person perspective it would lose the charm and the experience would not be the same.

Story and setting
Neither the setting nor the story is important. Why the character is lying on that table in the beginning could be for various reasons. They mistook the character for dead or someone kidnaped them and now is going to sell their organs on the black market. Maybe it is some sadistic murder that drugged the character. It is up to the player to decide why they are there but I hope they will focus on trying to get up or scream to survive. Not wonder why the character is in a mortuary.

For me this is an impending doom, it is slow but inevitable. The player is seeing what is happening right in front of them and they are giving the possibility to do something but the body does not respond. As player you cannot make the right choice to survive. It will make the player frustrated and give a feeling of being helpless. It does not matter how hard they try or if they just accept what is going to happen. In the end the character is being cut open from a first person point of view and the player have to watch it. The character will pass out from pain and die from blood loss and the player could not do anything to save them.  

2014-09-07

07.09.14

It's soon 10 o'clock on a Sundays night. And I'm sitting in front of my laptop with coffee and a pile of books. I have realised that some of my classmates have started using their blogs to actually write about school and what we have learnt the first week so I thought I would do it too. First of all, this week have been so fast, I can't believe week 2 of being a game design student is starting tomorrow. It's both exciting but also very frightening.
     I haven't really talked anything about myself, I came to GAME directly from high school so everything is new. I'm not used to having lectures and having this much responsibility over my schoolwork. Not only university is new for me, the whole thing about having my own apartment, living by myself, having to pretend to be a grown up. I moved to Gotland two weeks and I still gets lost on my way home. So it's not weird that I'm feeling on edge, this is a new place with a lot of new people. It's scary and I feel so young, small in this world but I know I'm in the right place, this is what I have wanted to do for a while now.
     This program was first on my application for university, why I picked Uppsala University I can't explain. I just knew I had to go here. I'm glad that everything I did in school helped me to end up here. Like most of my classmates games is a big interest. But apart from games I love art, fashion, architecture, films, everything that have something with design to do. I believe it's easier for a game designer to not only be interested in games and can find inspiration from walking in a museum or looking at the catwalk. Where I am today I can't program anything at all, I hardly know how games works. But that's changing.
     The first weeks lectures have been about taking games apart, trying to see the objects and how everything works in a relationship. It's the first step to understanding game systems, I'm trying to read as much as I can to make sure I understand the basics. That reminds me that I should stop writing and going back to study some more before I have to go to bed. About this blog, I'm gonna try to write something once a week about myself and how I'm doing in school. Other posts is gonna be more about my assignments and hopefully I can share some of my work here.