25/12/2014 – Humbug.

I think I’ll probably say “Humbug” as every Xmas title. I don’t even hate Xmas, I just love saying “Humbug”.

Down to business, my first semester of my final year is complete. I only had two modules (Minus my project), Commercial Games Development and Games Programming with Advanced Graphics.

Both had two pieces of coursework to complete, one individual and one group task per module. For Games Programming we had to create a game engine in OpenTK, make a maze game, then port it to PlayStation Mobile. Due to some circumstances beyond my control, I ended up falling behind in terms of actual practical work for that, so I ended up doing the written documentation for how all of the engine systems were built, how they interacted, programming design, AI, and so on.

Come to think of it, a few months back you may recall me mentioning AI pathfinding. Well, interesting thing about that; I designed the AI and told a particular person to build it in the way I instructed. Instead, it was built in the most inefficient way imaginable. Essentially, it should of worked by detecting what waypoint it started at, knowing what potential positions it could go to from that waypoint, and then randomly picking one and moving to it. How the person actually coded it was by generating a list of waypoints that were all exactly 25cm apart (We scaled it to 1.0f = 1cm in world space), then use a random number generator to pick a waypoint at random from that list, do a boolean check to see if it could move there, then move it. Two issues; potentially it could never move if the number generator never picks a position it could move to, and it isn’t a scalable system. If we got a different map we would have an even harder time mapping the waypoints.

The map itself was a problem, we used a model instead of building it with walls. This forced us to change how the collision detection worked, using rays and point-to-poly calculations instead of collision with a wall object.

Somehow, we still managed to finish the thing and get good marks. I got 70%. Not bad considering I only did documentation.

As for the Advanced Graphics side (Something the deadline was less than a week ago for), we used GLSL and RenderMonkey to create out own version of something called “Teapot Wars” (You can look that up yourself). I had a lot of fun messing around with shaders. Last year I was too scared to touch them, now I feel confident that I could make something rather interesting. Anyway, I learned a lot about manipulating Vertex and Fragment shaders, and created some horrific stuff. It was useful though, especially considering my project will be using them heavily.

Commercial Games was real hit and miss. Individual coursework went mostly fine, I missed out of a few marks because I was careless with a checking over and didn’t fill a section in completely. Still got a good mark though. As for the group stuff… Let me put it this way…

You would be hard pressed to find fault with any of our documentation, minutes, meeting notes, timesheets, etc. All the documentation is there (Thanks to yours truly being extremely anal about it). However, we heavily underestimated how much time we had to work on this project. Our game was basic… Really basic. More like a 24 hour game jam product than something that should have taken a minimum of 400 hours over a period of 5 weeks with 5 people working on it. We had a lot more time than we thought, and spent it very poorly. Most of us were very under-worked (Except myself and one other teammate). When it came time to demo it, the presentation became the two most uncomfortable minutes of my life. And the questions we were asked were mostly “Is that it?”.

That being said, I clearly pointed out that this was a prototype game, and our evaluation of the project describes various gameplay elements and improvements we would like to add. Especially the idea of using Unity instead of XNA, both for better ease of use and superior collision detection & physics.

Thankfully, that coursework is mostly documentation based.

As for my project, it’s coming along. I finally have time to work on it. The underlying structure is there, it mostly requires me to “Fill in the blanks”. I’ll talk about it more when I have something to show.

I’ll upload videos of “Teapot Wars” and other coursework stuff in due time.

Now I know what you’re thinking; “What did you get for Xmas?”

A jumper, some chocolate, a Top Gear 2015 Calendar, and a £100 Amazon gift card. The last of which I spent on more stuff.

In terms of other things going on, I have a lot of programming books to read through, starting with “Design Patterns”, followed by “Game Programming Patterns”. And I’m playing video games again. Currently going through Yakuza 4.

See you when I see you.