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.

-Adam

13/12/2014 – A Suggestion For VR Developers

Although this is probably brought on from the amount of Sword Art Online I’ve watched recently (It’s not a good show regardless), there is an aspect of VR Gaming which worries me.

It’s no secret that imbeciles have somehow managed to die while playing video games for an absurd amount of hours, and I can’t help but feel VR isn’t going to help. Now the obvious solution to this problem is to force the user out of the game and take a break. I know it’s not a well liked solution to this problem, but a forced reality check every 8 hours or so is probably the only way to get people to stop.

I’m not saying we limit their daily playtime or anything. I know the Chinese government implemented time restrictions on certain games, but this is slightly different. You should be able to go back and keep playing. It’s more like one of those things of “Hey stop, get some food, drink something, and use the bathroom; then come back”.

To be honest, most people probably wouldn’t notice. I’m pretty sure only the dedicatedly stupid can play a game for more than 8 hours without even a bathroom break or food. But it is certainly something to think about.

And this goes without saying, although SAO seems like a cool concept, don’t actually implement a system where the headset kills your players.

I’ll make another post once this semester is over with. So probably a week or two from now.

-Adam

08/11/2014 – Some Advice

The past version of yourself is probably a bigger dick than your current self, thanks in part to giving you a lot more work to do now instead of doing it earlier.

Anyway, I’m catching up at least. Figuring out AI pathing is actually more fun than I thought it would be, but trying to get it working with the rest of the game engine is going to be difficult.

Lastly, you should buy Freedom Wars. It’s fun, and has some cool concepts.

-Adam

13/10/2014 – Virus Riddled Music Visualizer

So I’m sick. I’ve been sick since August and coming back to Hull I got even sicker. The problem is that it’s no more than a common cold, although I had flu this weekend. On top of this, despite only having a week’s worth of classes, I’m slightly behind on work.

Now let me tell you an interesting story. I have never programmed a music visualizer, or done any real sound engineering. So doing a music visualizer as my 3rd year is probably the smartest thing I could probably do. But that’s not the point. When starting off my research I decided to look for FFT libraries in C# that would help me build this thing, and I found a few, and figured “I’ll keep these saved until later once I get closer the the year starting” (This was around July). Upon coming back and doing more research, I find out that the libraries are old and will not do the task.

From there I looked at more common audio libraries like FMOD. New problem; not in C#.

And then, like a fucking fish in the face; during one of my lectures last week, the lecturer mentions that OpenTK (OpenGL wrapper for C# and the graphics library PlayStation Mobile uses) has a bunch of audio tools as an add on from OpenAL (The audio library stuff from old OpenGL – 1.1-ish). So here I am, stunned, that the thing I wanted to get was right there in front of me this whole fucking time, and I wasted several days of my life looking for shit I already had.

Fuck this shit sometimes.

Anyway, my first week was alright. Even if I am down with the sickness.

OOOO-WA-AH-AH-AH!

In completely unrelated news, this laptop I’ve had for about a year is apparently a toaster. Opening up multiple Chrome tabs seems to push the CPU towards the highend, and most 3D games released 8 years ago struggle to get an ideal framerate on this thing. Even low-end Unity games have issues. So I ordered an ITX PC. I should have it within a week or so, but there might be a problem with the order.

Anyway, see you later.

-Adam

31/07/2014 – Summer So Far

As I thought would happen, I’m going to have to do two resits later in August. I’m not surprised, I’ll just have to manage my time better.

In terms of projects, there’s two I’m working on. One is a music visualizer, which I’m doing for my dissertation next year, and the other is a instant messaging program that doesn’t suck. For the former, I’m currently in the process of getting my head around FFT (Fast Fourier Transform) which I’m using to get the frequency of sound every 20ms or so, and then producing that as an image on screen. I haven’t done much in the way of note taking so far, but I have found a library for it which I might use to save time on development.

As for the instant messaging program, I’m more or less doing it as a test for more networking stuff. I never got my head around it as much as I would have wanted, so I figured doing more stuff on it would help. I’m still figuring how much stuff I want to put into it for the prototype. I’ll definitely give an update later on once I start making some more progress. The more worrying thing about it at the moment which I haven’t looked into is security. That should be fun.

In terms of other things, I’m working my way through my Gaming Backlog. Currently jumping between Deus Ex Human Revolution DX, Yakuza 3, and Ni No Kuni. Although recently Tabletop Simulator became available, and I’ve been looking forward to trying that for a while. Somewhat related, I bought a 144Hz monitor, and it is fucking sweet. Everything is super smooth now. I might boot up Quake Live and see if it makes a difference.

I also played some stuff on my PS4, so I might give some impressions on that console at some point, along with the WiiU which I promised to do ages ago.

On a sadder note, MGC is shutting down. I will probably archive the History of MPU stuff on this site. The podcast will stay up though, but I’ll rename it with MoA stuff in mind. The Steam group is also unaffected.

It’s a very sad thing to close down something that a long line of people have kept alive over the years, and it was fucking awesome talking to every one from MPU, and helping start MGC. I wasn’t there for MPC, but everything about it sounded great, and speaking to the people who have stuck around since that time gave me a lot of perspective on the whole thing. But everything must come to an end.

That’s it for now. See you when I see you.

-Adam