Wednesday, 22 January 2014

It is the last straw that breaks the camel’s back

But, we're not camels so we won't have any problems!

Just a few days are left before the final deadlines. Next week we need to deliver loads of promotion material and we'll give some presentations. Hopefully, you can see us on stage next week on Friday at 15:30. If we will be there, it will mean that we're presenting at the award ceremony!

But, before that, a lot of work need to be done on the actual game. The core game itself is more or less finished, but we need to do a lot of testing. We also need to implement some extra features. Last Monday, we had a conference call on Skype to discuss what needs to be done this week, and who will do what.

For example, 2-4 guys will focus on making an introduction video for the game, which will be featured in our trailer and will be shown when you start the game. I don't really want to reveal a lot about this video, but I can assure you that it will be really cool!
Another interesting feature which will be implemented by Jurre and Kevin is the chat system. We already have a chat system, but the output of this chat is only shown in the debug output in Visual Studio. Not really a polished system, as one may say. What they're going to do is create a HUD element where you can view the text, which will look a lot more polished than our current system!

There are two other important features which will be made/improved this week. Jurre will implement a pauze menu where you can adjust settings and quit the game. Quitting the game is currently only possible in the way like you would quit a normal window in windows.
Robert is going to improve the main menu. We already have a working main menu, but it's not really ready for the release of our game. We polish the menu some more, and we can also create a more logical structure in the buttons which take you to the game, settings or test states. As you can imagine, we will remove the test states in our final product.

On Wednesday, we met at 11:00 at our office to spent a whole day on implementing and fixing all this stuff. At the end of the day (about 17:00), we had a talk with Jeroen where he gave us some tips and where we could show him our progress.

After that, it was (finally!) time for our team-bulding activity (we had actually called it a team-building passivity, because we didn't want to get physically active, because we're a bit lazy...). Some people took the bus and other people rode their bikes to the centre of Utrecht. With the whole team, we had dinner at the Mc'Donalds there (shoutout to Robert for handing us discount vouchers so we could get a lot of food for a low price!). When we were done eating (which took a while, as one can imagine), we went to a local bar to have some alcoholic refreshments and to relax after a hard day of work. Sadly, some people had to leave early to make sure they wouldn't be home too late (after all, we had a Logic lecture at nine o'clock the following morning...), so at about 19:30 we called it a day.





Here you can see that our walls now have dynamic colours (click to enlarge)!

Today, on Thursday, almost all of these issues have been solved and the features implemented. The team is really working hard this week to make sure that the quality of our final product will be very good.

We've had some hardship though. Apparently, there were a lot of bugs in the networking system. Because of these bugs, you could get exceptions at random times (even during the game), or you could see a bullet which would be stuck on the screen. Our lead programmer Kevin spent a lot of time fixing this. He rewrote the entire TCP client! There were also some other problems with connecting to a game, but these have (hopefully) been solved now.

Just one day of normal work is left now. After tomorrow, our game needs to be finalised so we can focus on creating and finishing the deliverables. Some are already done, but we still need to create the trailer. We also need to focus on preparing the demo and presentation for next week, but I'm fairly certain we can manage it! Luckily, we don't have a final Logic exam next week for which we'll need to prepare. Oh wait...

We hope to see you all next week on Friday during the Symposium!

Friday, 10 January 2014

Work harder, play harder!

After weeks of hard work and two weeks of well-earned vacation it is our duty to continue the development of LSDude. We have made a lot of progression till now, but there are various things that need to be implemented in the coming time. For instance, Koert has been busy with the levels, Robert with the sprites, Luuk and Kevin with the waves and Jordy with the sound. In the morning of Wednesday, the 8th of January, Kevin made a list of things that needed working on:
- Wave timer (this is fixed and works well, but still needs some work! :D)
- Player can die (fixed)
- Working level(s)
- Good levels (and experience points)

On Wednesday we worked at the university with four of us, which wasn't a problem at all. Jurre managed to fix the wave time without too many struggles and is working well. However, we plan to make it somewhat more appealing than what it currently is. Below you can see an image of the wave timer as it is now, counting down till the next wave. We think this will be quite useful to the players of our game, they will face a lot of enemies that need to be shot down!

On Thursday 9th January, after a long morning of doing Logic, it was time for some more work on our project LSDude. In our weekly meeting, we discussed our progress of the game and how we could accomplish working levels. Afterwards we continued working on the list of points that Kevin put together the day before. Koert joined us today, so with 5 people present we could do a lot in the afternoon and that was important, since we don’t have too much time left if we want to finish the game before the deadline. Jordy continued with making and implementing the sounds and some gameplay features (reload time) and Jurre and Koert put their effort in the levels. Additionally, Kevin helped Jurre with his laptop to make Visual Studio 2012 work with XNA and Ricardo worked on this blogpost and started with the flyer for LSDude.

Last meeting all of us who were there, the only ones not there were Luuk and Robert, agreed that our original concept of the level was not good enough. It looked like neither a maze nor a Pac-Man-like level. So we came up with a new concept. The new concept has a more open map with less connected walls. The general idea is to place a template at a random position, but before it's placed we check if there is a solid wall in any direction of the template, which is placed directly next to the to-place template. To make the level more Pac-Man like we only fill 2 squares in the level (from the upper-left corner to the middle of the level and from there to the bottom of the level) which fill exactly half of the level. Then we mirror this half to the other half, just like the original level of Pac-Man.

We all preferred this concept above the previous one, because this creates a more open and slightly less random level, although all templates are placed at a random position. The greatest advantage of this concept is that there are "no more" closed spaces. The offchance of getting if there is a u-form in the middle of the screen, which creates 2 open places.The chance of starting in such a place is far to low to fix it. The only thing left to do now, is adding more templates to the level, so the variation of templates is larger. Right now, the level looks something like this:



Way better and more Pac-Man-like than we had before! There were a few bugs but were rather small and could, therefore, easily be fixed. Jordy was working on the RPG-weapon and, together with Kevin, realized that the weapon was placed on the left side of the ‘Dude’, instead of on the right side. We also found that the weapon was a little bit too close to the player so by changing values we made it look better. However, the levels did take up a lot of time and the next day will be used for that, too. We worked for about three hours non-stop and were able to do a lot of work this afternoon. Below you can find a photo of us being busy on our project :):





Kevin made it possible, as a player, to die in the game. If the player is hit too many times by the enemies, he or she will not be able to move anymore. Kevin accomplished this by checking the collision between the dude and the enemies in the game. What we still need to do however, is that the level restarts after the player has died. At this moment, the enemies stay at the location where the player died because when playing multiplayer, you will be able to spectate the other player when he or she is still alive. We worked for about 4 hours this day and progress was certainly made. That work made us, of course, a little hungry so we paid the Spar a visit as well. M&M’s and drinks gave us more energy and helped us to accomplish even more! :D


On Friday morning, we started working again at about 11 o’clock on our project. Koert continued his work on the level design and Kevin focused more on programming. Ricardo concentrated on finishing up this blogpost and the flyer. We believed that this day again could be a day on which we would achieve a lot so we immediately started. We started with 3 of us and a couple of hours later (2 hours to be precise) Jordy joined us, while Jurre stayed at home doing his work there. The wave count is only shown in purple letters in the left-hand corner of the screen but it should be more striking to the player so it can more easily be seen.
In conclusion, this week, as the title already says, it was time for us to work even harder than what we already had done before the holiday. This also meant a lot of testing and playing the game. We made a lot of progression and we hope we can continue our hard work and that in the end, our hard work will pay off. This was our first blog of the year. Thanks for your time and enjoy!

- Ricardo