Saturday, 21 December 2013

Work hard, play hard!

The last few weeks we worked really hard. With great teamwork we managed to create a demo of our game, which will be in a playable state during the midterm presentation. This list includes just a few features of our demo: - Multiplayer play (although not very polished yet, it works!); - Randomly generated level; - Fancy particles; - Working AI (An enemy is placed in the level and follows the player. Path-finding works, obstacles are avoided). - HUD - Weapons We also had a few struggles, but we solved a lot of them. A good example of this is the following image. Here you can see how we tried to create muzzle flash (effect when you shoot a gun) with a particle system. As you can see it’s not really how it should be. The effect in the image under it is a bit smaller, but it’s a lot more realistic!



So close...

On Thurday 12th December, we had a busy day. After a very interesting seminar about Logic we had a meeting with our tutor. After that, we worked the whole day to get our demo finished. We worked 6 hours non-stop and achieved a lot in this timespan. So, when you’ve done a lot on a day, what do you do the next day? You work more! We had some fun with playing the game, and developing the game a bit more.To celebrate we finished the demo, Jurre brought some drinks and M&M’s to the working room. Here you can see some nice pictures of it.


As you can see in these pictures, we were working hard! But a good game also requires a lot of testing. So we were playing hard as well. Some...rather interesting bugs were found. We had one bug where the player would turn into an automatic turret. That was obviously not intended. Another bug that we found a week afterwards was also… interesting. At one of our weekly meetings, I found out that I could not open the game anymore. A random exception, which couldn’t even be explained by our lead programmer (!), occurred. According to Visual Studio, a music file was missing. This was really weird, since I was sure I had the file. I tried to open it in VLC Media Player, and there was no sound playing because it was muted. I unmuted the sound and try to run the game in Visual Studio again, and it worked! Our conclusion: VLC Media Player is the best debugging tool ever. In other news, LSDude has been making outstanding progress. We hit a few brick walls due to the fact that everything that happens within the game is networked (singleplayer is also just connecting to a local host) but as soon as those problems were ironed out, it was smooth sailing all the way. After our (mostly horrible) test on Logic last Thursday we decided to work on LSDude a bit more before the holidays since some people would be on vacation. A lot of minor things were fixed or added, such as a healthbar above each ghosts’ head and an indicator showing how much health the Dude has left. Jordy also got around to creating a new background music that didn’t loop every ten seconds and boy does it sound sweet, although not when four people are playing it simultaneously out of sync...

Current status of the game

Some progress on the wave system was also achieved. Currently there is a really simple system which starts with spawning one ghost. When that one is killed, two will be spawned. After those two ghosts, tree will be spawned etc. When we tried this with 200 ghosts, we got some really weird exceptions. Thanks to some awesome critical thinking of Kevin, we managed to find out what the cause was. Apparently, Windows 7 had some buffers for TCP messages set to 8KB, instead of the possible maximum of 64KB. In Windows 8 the buffer is set to 64KB, which was the reason why some people encountered the bug and some did not. Kevin managed to override this Windows 7 setting which ensures that people with Windows 7 will not get the exception. You may wonder why a really high amount of 64KB data is sent in a really short period of time. Well, the reason is that our networking part needed some optimization. For every ghost that was spawned, a separate TCP message was made. As you may know, TCP messages have a big header. When the message is sent over IP (that’s the case here), the header gets even bigger. So you can probably imagine that total size of the messages of all those 200 ghosts are kinda big… Kevin managed to fix it, though. Instead of 200 separate messages, 1 big message is now sent. This concludes our last blogpost of the year. Happy holidays everyone! -Luuk & Jurre

No comments:

Post a Comment