zondag 3 februari 2013

And that's it

For all of you who'd like to play our game in their own time (making us very happy :D) we have posted a download link on the 'The Game' page, but I'll add it here too.
Download link: Click the filename on top of the linked page
My download got removed... Let's try this again then: Enjoy!
Nope, it won't stay up.

Unpack the .rar file and run the .application file.
Should you manage to beat our boss, don't hesitate to leave a message :)

zondag 27 januari 2013

Victory!

Once again we witness the power of putting your mind to something, because in contrast to the previous post, we managed to get everything in the game, working the way we'd like them to. Meaning:

Boss Battle
That's right, we have a boss battle! A terrifyingly difficult onslaught based on Da Vinci's tank design. If you have not mastered the game in the six levels foregoing this onslaught, you're in trouble. It's a merciless brawl for survival embellished with great music and a spectacular explosion to finish things off.

Power Ups:
Yup, you read it right! Power ups! We've added a way to progressively get stronger if you do a good job. We've got six types of power ups: speed up, firing rate up, health up, max health up, damage up and one up (an extra life). All of these have their own colored sphere (sprite... all still 2D, but the illusion of being 3D!) with an icon depicting what the power up will do.

Sound Effects:
We've added sound effects for power ups being dropped, power ups being picked up and also we've added reality to our huge boss explosion by giving that a sound effect too! BANG-BANG-BAAAAANG!!

Revamped AI:
AI, our focus, is a very tough subject. You have to sketch up the thinking and behaviour of the agents from the ground up! While we think it's logical to go around a wall instead of constantly bumping into it, the AI doesn't know anything about that. While we think it's logical not to fire your bullets if you're going to be caught in the blast radius, the AI doesn't know anything about that. We've had to face several of these issues and for most of them we found a great solution (for others we found passable solutions). Each type of enemy tank has their priorities. The Speed Tank will speed towards the Pudding (hence the name) and blow his way through walls to clear the path and wil fire at the Pudding if it can reach it with priority over everything else. The Power enemy will blast its way towards the player and if it is in range it will keep its distance and fire at the player from there. The Armoured Enemy has nothing to fear and will get right in the player's face just to annoy him and keep him occupied while the others take care of the rest. Because that became our primary focus as we wanted to introduce different enemy types within this enemy horde: teamwork. It's really tough to create a tactical team effort from scratch, but we managed to pull something off by giving our enemies a basic behaviour and by adding to that for each specific type we gave them roles within this horde. It's quite possible (quite likely even) that we've only scratched the surface in terms of AI, but we all feel we did a pretty good job with what we had at our disposal.

These last couple of days as everything started to fall in place we tried our best to make the game as playable as possible, so we were busy with lots of balancing. A little tweak here, some extra damage there, a longer respawn timer for him, less spawns for them... After testing and testing and looking at the little things as well as the bigger ones, we found that it takes a lot of work to find that balance of playability against the game being interesting. As we tweaked around, the game went from a slow ride to a chaotic battlefield and as we added ones and zeroes to our values, we believe we managed to create a game both playable and fun!
We're quite proud of what we accomplished and we can't wait for the symposium to add some more Pudding Protectors to our ranks!

vrijdag 25 januari 2013

The Final Stretch

A lot of time has passed and a lot of work has gone into this project. Day after day the constant reality check of the Skype chat telling us that it's already the next day. But after all this work, our time is almost up and the coming week will hold the moment of truth for us and our baby. Time is running out and every second wasted brings us closer to the reality of how much work goes into each and every plan we made. It's amazingly easy to come up with great ideas and the game is awesome in every way until you have to make it a reality and the deadline is closing in. Even though we already decided that we were dropping the network play and focusing on AI to save time, it's difficult to see what we will be able to get done. A factor that adds to this is that we have another moment of truth in the coming week: a Mathematical Logics exam (which makes no sense as we have concluded over the course of this period). It might be that we won't have a boss battle, no power-ups, no pixel based wall explosions. But as I look at the things I just listed again, they're all extras that could possibly add some depth to the game. But what we do have is a solid base where the primary actions are possible. And isn't it much more interesting instead of looking at what we might not have, to look at...

What we do have
We have revamped our tank graphics. We knew they weren't optimal and over time, the base and the turret did not even match anymore. Also, the player's tank and the enemy tanks were identical. In fact, all tanks were identical. So Jorden did a great job at designing some very special tanks for both the player and the enemies. We now have three tanks for the player to choose from: a Speed based tank with a slick, smooth, aerodynamical design, an armored Defense based tank which is quite bulky and beefed up to look its part and lastly an intimidating Power based tank that will blow the enemies' brains out (literally). But not only the player got new tanks. Our enemies can now be Speed, Defense or Power based. All with matching designs naturally. And of course our Play button redirects the player to a 'Choose your tank' screen to pick their favourite.
Our menu got an upgrade. Now equipped with slightly more attractive buttons that finally portray what they are supposed to do, and a neat, exciting background (that I made, just sayin'), topped with an awesome job by Alexander, who made a cool logo sporting a tank and a pudding and hand made Japanese signs to spell out our sub-title ('Itadakimasu!!' or 'Let's eat!!' being the traditional saying in Japan before a meal, which we figured would match our pudding theme) and the official Pixel Pudding logo in the bottom-right corner.
Our enemies have been equipped with health bars for the player to deplete. And as I'm starting on health bars, of course the player has one too. This is visible in our added side bar. This side bar shows the accumulated score that the player has earned by firing his way through the enemy tanks, the player's lives or how many times the player will still be able to respawn after his own health bar has depleted, the current level and my personal gem and as such, my personal favorite: the Pudding. A lot of work has gone into getting this screen where the player can see how the Pudding is holding up. This happens in relation to the health bar underneath the screen. Every 20% of health that the Pudding loses will make the Pudding respond. The saddest part is that the best reaction is in the final 20% when you can see the Pudding crying, but sadly, should the player have the slightest skill in the game, he/she will never see this awesome animation. If you've read this, make sure to let the Pudding die at least once, to see all the responses.
One thing that weighed heavily on my mind was that firing a bullet is no fun at all if you don't see anything happening. So that's why I managed to draw up an exciting explosion to make our bullets hit with style. I mean, what are tanks without explosions?
But even that is not all, because our game now comes with amazing music! A great and epic tune befitting the epicness involved in protecting a pudding from evil people that do not want you to be able to eat your pudding. The best part is that everyone can relate to our uhm... story, because everyone obviously loves pudding!

As this final post comes to an end, we're inching ever closer to our deadline and ever closer to finding out what the response to our game will be. We can't wait and hopefully, neither can you.