Game Programming 2 and Game Developement introduction

The Project I last did with Jonas is no doubt in need of some finishing work, but we have 4 attempts left and there is not very much left to complete.

This post is not about that, all though I may be blogging about that project as well.

This post is about the current two courses: Game Programming 2 and Game Production – an introduction.
In the first course, game design and analysis – an introduction we all worked in groups and created a concept and a design for a 2d space shooter game. In these current courses we work in the same groups but on a different game than the one we created ourselves, in the purpous of developing the game to a complete working computer game. we have 7 or 8 weeks to do this.

We chose a game called Aurora. You play as a fish who eat other fishes to grow. Growing in size allows you to eat bigger fish and the main goal is to become the biggest fish in the ocean. The level is a corall reef going Deep. At the beginning you start Close to the Surface and the deeper you get the darker it gets and the bigger the npc fish become. There are no limits to how Deep you can swim, except for the bottom, the only thing is that if you go down when you are too small, the bigger fish will eat you.

When you are the biggest fish the game is won. If you get eaten, you loose.

In the last Project, I was the lead Designer, how ever, this time I don’t have a specific role except for programmer. Feels good.

Because of drop outs one Group was dissolved and the remaining members of that group were assigned to other Groups. We got two more members, one programmer, David and one artist, Adam. The roles were assigned after a short while. I did not take a role this time for different reasons. The main reason is simply that I only wanted to program this time. Adam had a nice design vision about this game and also is a driven game designer. He was assigned Lead designer.

David has a broad technical knowlage in my opinion, and seems to have a lot of experience in programming, at least he has more formal education in programming than the rest of us programmers, and has it freshest in memory. Also he is quite Sharp overall. He was assigned Lead Programmer.

Georgios was the producer in the last Project and he accepted unwillingly to be the producer again. He is dedicated to his work and very concerned about doing things on time. There is some confusion about the Producer role because our teacher told us we should change the producer every week. I don’t know what that means.

Mikaela is very efficient and also a dedicated worker. She was assigned the Lead Artist.

Viktor took on the role of QA. He is a programmer.

Frida had an unfortunate accident in which she broke her leg. This rendered her stuck in Stockholm for a few weeks. She is an artist.

That is our Group.

What we have done until this Point is some work on the design document and on our SCRUM documentation.

The design document is supposed to contain every Little detail about the game. How the characters move, attack, what states they can be in, what colour they have what they had for lunch the day Before and what they thought about it etc. The same thourough details about every element in the game. I actually do not Think this is to be mean to us students because if we are making a game we must make every detail or the details will simply not be there. The fact that it is hard work is only a bonus. For the teachers.

SCRUM, besides from beeing the ugliest Word in the universe, is a production method developed for japaneese car production to have a nice work flow and to have a better overlooking view on the production. The main idea is to break up the whole production in small chunks of work that take no more than 2 hours each to finish. Every time somebody starts working on something they annonce on a board what thay have started working on it and updates its progress as they complete it. When completed they can go to the next 2 hour chunk of work in the list and start working on that.

I see why this is convenient. We have until friday to complete the first SCRUM documentation. We are almost finished with this and will finish it today (wed 29 jan) and start working with this method today. At least the programmers are eager to start doing some real progress on the actual game.

The Programming course has had a slow start in my opinion. We have only made a base Project including a game programming library called SFML. It contains many classes and methods and maths used in game programming now so you won’t have to create as many aditional classes such as a mathematical vector your self. To me this is bitter sweet. because I want to learn how many of these methods really work. But I am glad we have this for now because there’s is no time to learn things like vector transformations right now. Maybe I’ll dig into that my self this summer, if I don’t sleep troughout it.

Oh yeah, we made some prototyping as well. We have a prototype for moving the fish and a little bit of AI as well. The fish controlled by the human player have some sort of lure bait in front of it, like a fishing rod with a lightbulb attached to it. This light is meant to attract other fish. We have made a fish with something in front of it and an enemy fish. the thing in front of the fish is always in front of it no matter what direction the player fish is facing. The enemy is moving toward the thing in front of the fish but stops moving when the player fish is facing the other side. And if the enemy fish is too close to the player fish, from behind, the enemy fish escapes. This is to simulate what should happen when a smaller fish than the player fish come too close. A bigger fish should how ever try to eat the player fish.

To make this prototype we reused the code from the Project we all did together as a practice example in the first game programming course, and added the fishes to it.
For sprites we only used the same sprite sheet but from random locations. There was no reason to make this pretty, we only wanted to prototype movement and a Little enemy interaction.
We only made Three objcts, and enemy, the avatar fish and his light.

the enemy is supposed to be attracted to this light and the avatar fish both turn around and reverse.

we trid to have the enemy chase after the light. We used my chasing method I used in the last Project:

Distance formula enemy to light;
normalize;
assign it to the enemy’s velocity vector2d;

then we inversed it so he would flee if too Close to the avatar fish’s behind.

This was supposed to be posted a week ago and serve as an introduction. I will have more details such as code and/or Pictures and such the following posts. The next one will be about what happend last week and what will happen the following week.

Oscar Ericssson.

Leave a comment