Bugfixing and Implementation of the last Assets before the Release

So I know that you are supose to focus on one artifact that you’ve worked on during the week, however I’ve worked on so many little small things this week that I’d never get up to the 400 word minimum if I were to select one. There for I’ve decided to group most of the things I’ve done under “Bugfixing” and “Asset Implementation”.

 

This have been the last week we have had to work on our game with the release comming up tomorow, so fixing bugs have been my top priority this week seeing that we got all our features we wanted added into the game. Exept for maybe a pause screen which we scraped due to the time limitation. I also made it possible to restart the game without acctually restaring it… What I mean by that is that you now can press start in the menu again after already played one round and not having to close the game down in order to play another round.

This ofcourse came with its own bugs, like crazy memory loss. It pretty much doubled the memory usage when restaring. Something that I manage to fix somewhat though, it’s not perfect but it’s much much better now than before. This was due to the fact that we deleted the game state and created a new one however when we deleted the old one we never cleaned up after it so basicly just creating a new game state with all the assets without actually removing the old assets. Deleting and cleaning up all the pointers in the game states destructor, aka actually using the destructor and use it the way it’s ment to be used, made a huge difference performance whise and improved our memory usage. We do still have a small leak as mentioned but it’s minimalistic.

We did have a “big” problem creating this reset function though, while the map and player resetet perfectly the spawns didnt, enemies spawns, owlets spawns, powerups, hazards, etc. The problem being that if you ever passed or defeated a certain enemy or picked up a owlet or powerup it refused to respawn when resetting even though we were creating a new spawn handler. We sat a long time trying to figure out why it didn’t work and after finaly realizing what the problem was I was not happy. The awnser to our problems was as easy as clearing a vector containing all the spawning information that for some reason was not cleared automaticly when creating the new handler.

disapointed-owl_o_97782

 

I’ve also helped with implementing the last assets that had yet to be implemented, like a few sounds that was just laying around and some images that was planned but not finished until this week. For example, a sound for a warning sign that flies by the screen before our tunnel that the player have to dodge comes along. A much needed sound since it made the sign way more noticable since the sound actually make you look for a sign like that. For your information, the sign was a regular train warning sign with a tunnel sign on top of it and the sound played was the sound that these train signs usually emitts.

An example of images I’ve implemented are the story images displayed when you first startup the game. They are a set of images that are suppose to tell the backstory of the game, what happened and why the player is flying across a train trying to collect owlets. I implemented these using a system made by Max in our group. This system was used just for the purpose of pausing the game and showing up an image, not a pause menu as I mentioned we scraped, but just a still image. We used this not only for the story images but also the tutorial and credit images. The kind of screens you usually just skip past most of the times.

 

I could probably keep going on, listing all the little bugs and assets I’ve fixed and added but that would be boring to read and not very meaningfull so I’m gonna call it quits here. I’ve had fun during this course and I hope other students and the teatchers will find our game fun and intressting tomorow!

Bye for now and I’ll see if I’m going to keep making posts during next course.

Oh, and I did a lot of cleanup on unused assets…

3d635a077e5efadd0fc1697f323dfe8c6467f038cb8a026987127334e6e9a48d

About Elis Öhrman

2015 Programming