Thoughts on education

So, I spent 45 minutes on Friday waiting for a meeting that never got started – during this period of lost time I decided to have a think about what I believe would help the Games course develop and produce (hopefully) better graduates… Not that the guys (and gals) that have gone through are poor, but they could be given a better chance straight out the gate, as it were.

Anyhow, enough blithering, time to translate my scribbled notes into something vaguely coherent!

Continue reading →

Boys, that girl hasn’t worn panties since she was twelve.

So, what’s been going on?

We’ve been hard at work developing a portfolio video to send out to development studios who may want to make use of our freelance art services – it’s looking very pretty, so I’ll throw up a link shortly.

It’s been an interesting time with the Hidden, Valve have been busy updating the SDK, so we’ve been playing catchup with that while also implementing the Evacuation Point gametype – I’ve made good progress on that so far, I think I’m at the point where it’s down to visual additions and tweaking the core gameplay following feedback from testers. Of course, to let the testers actually test, I need to dive into Linux and try and figure out why the server isn’t running properly.

Aside from that, I’ve been working on a 2D vertical shooter as a way of giving us a game to add to our portfolio that’s all our code – progress on that is going well, I’ve got the basic gameplay sorted, but I need to tidy it all up, add a menu and start getting some more advanced gameplay features in; pickups and the like. I’m also still working on the Pseudo-3D platformer, but that’s taken something of a back seat at the moment as I was working on the editor but realised I needed to implement picking / selection code and wasn’t sure how to do it! (I’ve since figured it out, I just need to get back into it and get the code working)

Finally, I’ve finished my Masters, graduation in about 6 weeks! I’ll put up some examples of what I did over that year over the next few weeks – with that out of the way, I’ve taken up a job with the University as a “demonstrator” and “help desk technician” – which helps me pay the rent and keeps me in touch with the faculty and some of the help they can provide (like hardware for the office!)

One last thing before I sign off – take a peek at the Great Games Experiment (link) – an interesting new networking site from the guys at Garage Games (link), it’ll be interesting to see how it kicks off once it leaves Beta!

I had my cell phone on vibrate, I was busy – didn’t wanna get disturbed.

Ok, It’s been nearly 2 months – I’ve been lax!

However, all is not lost, we had an awesome time at IGF / GDC, we didn’t win, but we made good contacts and got some good feedback. While I said that we were pushing for a release in time for GDC, we didn’t make it, we delayed the release so we could crush the last few major issues that we knew of – including a (completely unsurprising) linux problem.

We’ve brought on board a new coder – who’s been doing amazing work fixing up some of my more horrendous code and making it all a bit safer. This has let us move forward quite well in regards to fixing bugs, though we somehow managed to release a bug riddled version of code that was seemingly stable mere days beforehand (hah, what a surprise!)

The PS2 Linux unit went quite well – the project didn’t have much visual flair, but the code was fairly solid – however, it really started to drag on a bit, especially without ‘decent’ debugging tools and a frustrating tool chain. It’s another of the units that didn’t really fit the “four week block” structure of the course. I may grab a screen shot and / or video of the game if I get a chance / put the code in.

We’ve moved onto the Advanced AI unit, which has been interesting – especially since it’s given me a couple of ideas for my dissertation project! The coursework for this is creation of a bot for the TORCS open source racing game using any of the AI paradigms we’ve discussed, but with the recommendation of Neural Networks.

I’m going to create a new section – Reviews – where I can drop my thoughts on new shiny stuff (such as the 360 I finally got around to picking up and Black, which I’ve been meaning to talk about for months!) – that’ll prolly happen over the weekend (he claims) and may or may not be interesting.

Excuses are like assholes, Taylor. Everybody’s got one!

Gah, it’s been ages! My apologies, but I have excuses and notes from doctors… or something…

In all honesty, I’ve been damned busy with Hidden work – preparing for a release pre-IGF has sucked up all my time for the past few weeks. However, there is an end in sight at last – we’ve got the majority of the features we wanted in and working (to various different degrees) and about a week of tweaking, testing and fixing before we ideally want to release.

In uni news, I’m coming up to the end of my fifth unit – which has been planning for my research project for the summer. The title of which is “Swarm intelligence for modern military RTS games” – so I get to faff about with swarms / flocking techniques and make use of military tactics (formation movement, taking cover when under fire, plotting concealed routes etc).

I’ve got to finish off the beginnings of my lit review over the weekend, which requires about 4 or 5 pages of writing and a fair bit of reading, but it shouldn’t take too long if I get a bit of focused time on it. With that handed in on Monday, I also start the limited resource hardware unit which means I get to play with ps2 linux kits – sounds like the assignment will be to use perlin noise and generate terrain with it.

I picked up Black last week – but it’s late so I’ll talk about my views on it later in the weekend (it’s basically going to be a glowing review).

That was a real kick and good for laughs and lashings of the old ultraviolence.

I’ve got physically simulated curling stones, woot! However, they aren’t affected by friction, so they never slow down – this is a slight issue… With that resolved, along with the current bizarre behaviour of the “camera” I’ll have a nearly functional game, I need to throw in the swapping of players and the brushing input – some form of figuring out who’s winning might be useful to!

That will hopefully be done in the next couple of days, then it’s on to working on networking with the other guys. Get that sorted, implement it and a wifi 2 player mode and I’ll be well and truly sorted!

Hidden work on the other hand has taken something of a beating – I’ve been away the past 4 days visiting my dad and I’m heading away again at the end of the week to see friends from back home so I’m having to put most of my efforts towards my uni work for the next few days. Though hopefully, I’ll find some spare time and be able to do a bit of work on finishing off the weapons.

… oral sex should be an olympic sport because it’s more difficult than curling and if you’re any good at it, you deserve a medal!

Check this crazy shit out – in the past day I’ve gotten alpha’d PNG’s loaded and displaying along with stylus input and doodling abilities, sure, it’s not quite curling yet, but it’s a damn sight closer than I thought I’d be by now!

My aim is to get the main game code nearly finished by thursday afternoon, so I don’t have to worry about doing work while visiting my dad over the weekend. (Woot, more xmas presents!)

Developing for a PDA isn’t all that tough – at least not so far, it’ll be interesting to see just how far I can push the maths side of the curling simulation before bogging down the 400mhz processor of the PDA.

The final thing should have a bit of parallax mapping for the background, some reasonable-ish physics simulations and stylus input as the main control scheme (controlling the “brush”) – the main thing is to actually finish this one, I’ve got a code base to work from, the toughest job is going to be implementing the multiplayer aspect (as required by the assignment brief).

Enjoy your date with data, don’t forget to use a conduit.

From what I can tell – I’m 25% done on my list of things needed before our next release – which means I’ve done 50% of my main implementation tasks; I need to finish off the weapons and sort out the new class stuff.

FN2000 world w/ beam

After that, it comes down to fixing up the spectator system some more (with help from valve). At least the fixed cameras are working more reliably, things don’t seem to vanish anymore! Also need to tweak the LAM units, as they’re currently only working properly on the P90 and FN2000 (at least, world model wise) since they share the same basic code I’m not entirely surprised – need to figure out what’s different between them and the other weapons though!

FNP90 world w/beam

Some other tweaks are in the pipeline – a larger delay for starting the first round and a general re-jig of the round system (it’s currently a bit spacky, what a surprise!) Which may also lead to fixing up the hidden round limit too (though I’m not sure why that’s gone wrong in the first place, it’s a fairly simple bit of code!)

FN303 world (beam behind player)

The scoreboard is working properly, showing a full 9 players which is a first – I won’t mention just how easy the fix for this actually was, just take it as given that it was in fact easy (just not very obvious).

870 revised world (beam bottom of pic)

The pretty pictures show off the new world models (the p90 just to show the fancy beam effect) – all of these weapons had their beams active, but some of them don’t work quite right (as I said earlier), in fact, you can see the shotgun beam at the bottom of the image… Oops!
In other news, I’ve started a new unit at uni, which has led to me working with a PocketPC based PDA – gotta make a fun little multiplayer game over the next 3 1/2 weeks… I’m thinking of converting my curling game from a unit I did during my undergrad course.

Creasey’s art is death. He’s about to paint his masterpiece.

Give away quote, but I like it too much not to use it… So there!

I’m now a year older, having celebrated the day of my birth last week – I’m not entirely sure what that actually means, other than the fact that I woke up with very, very creaky knees!

A progress report; I’ve decided that renderware is fucking annoying, the models I’ve exported are just screwed up, their axes point all over the shop so any movement I try and do with them goes completely wrong… What’s worse, any rotation I perform around a single axis causes rotation in at least one other axis as well… GAH!

What does this mean? Well, I’m having to use a provided .dff file of a dull, grey cube rather than one of the fancy ships that the art team has provided me with. Frustration! Of course, even with the non-fancy cube things aren’t going as planned, my movement code is seemingly fucked up, I can rotate, but I can’t go in the direction I want to… gah, it’s all a bit fucking annoying!

In other news, Revolution is barely even spinning fast enough to keep a top from toppling – though I am making slow, but generally steady progress towards emptying the little list of things I need to do over xmas.

We won’t even discuss GingTorrent – I need to find time to actually get it off the ground properly, let alone anywhere near finished!

Well, that’s – that’s difficult to – it’s all math…

Ok, so the maths unit is done with, thank god… While it wasn’t actually as bad as I feared it might be, I’d be quite, quite happy to never happen to see the words “differentiation” or “integration” again in regards to maths for a very, very long time!

We’ve made some more (slight) progrees in regards to Revolution, nothing amazing but the art team are a bit happier with the tools at hand. Now it’s down to actual gameplay coding, which is going to be an entertaining journey – the style of the game is now more towards prince of persia than marble madness, partly due to technical limitations that we don’t much want to overcome on our first game in torque and partly down to laziness (or are they in fact the same reason with slightly different ways of saying it?)

Anyhow, take a look at Boxyweb for a shot of test level that he’s putting together for it. I’ll keep shots of that one coming as and when new stuff drops in. It should ultimately be a fun little platformer, with distinct kiddy appeal… Here’s hoping we pull it off and we sell at least 2 copies! (We should get that from parent sales alone!)

GingTorrent has been pushed to the back burner somewhat, I’ve got to the point where I can read torrent files, I just need to parse them out and store their information, which is the job for over the xmas holidays (ok, I know I said it’d take a week but I’ve never been good at time tabling!)

I’ve updated my portfolio section (the real reason behind this site) – a link can be found up at the top of this page, it currently shows up Hidden Source and a Rubik’s Cube simulator (exciting, I know). But I’ll get more stuff up there as and when I get it done. I may have to finish off the prototype I made for the first unit and get that up there, as it showed promise.

Current Work : Small bits of Hidden, Revolution, GingTorrent and a Wipeout Clone using Renderware Graphics.

Now, we must all fear evil men.

Ok, couple of new games I’m gonna talk about over the next few days; Quake 4, Call of Duty 2 and F.E.A.R – today’s discussion shall be Monolith’s F.E.A.R – with a bit of extra crud thrown at the end!

First impressions are mixed – the level design is fairly basic, without much world detail and fairly standard concrete textures all over the shop but the models are highly detailed and quite lovely to look at. The atmosphere is however amazing, they’ve done a really good job of using the technical aspects of the engine to best effect (real time lighting / shadowing for instance), firefights leave clouds of dust and smoke billowing through rooms and corridors, often completely obscuring your view, leading to wild firing from both yourself and the AI.

I won’t talk too much about the storyline, it’ll just lead to silly spoilers – it is however interesting enough to keep you generally engaged and playing through to the end. The combination of movie style action sequences with japanese style horror elements is nearly perfect in it’s execution – though the horror sequences can be wasted if the player isn’t locked into the experience. I know one of my housemates didn’t feel the full impact because he was charging through, paying little attention to the world around him.

The technical aspects are interesting, at least to a coder such as myself – there’s a developers commentary included on the dvd that talks about some of the limitations that the designers faced such as 6 AI’s, no water and a limited number of lights. It’s also quite obvious that it went through some fairly heavy optimisation, both in engineering and design.

A worthwhile purchase – if only for the pleasantly fresh and relatively different singleplayer, the multiplayer being some truly tasty hardcore deathmatch fun, it’s fast, furious and completely mentalist when you get a full 16 player server going on!

On a side note; the Hidden’s Beta 2 release went reasonably well, we suffered some horrific server crashes but got the majority of them under control within 24 hours – however, it has left us with the dirty secret nasty ones to track down and fix up over the next few weeks.

Ultimately, I need to keep B3 on the back burner while working on revolution, which is slowly but surely being ramped up across the team. Though it does look like at the very least, a B2b is required within the next month or so. I’m probably going to talk some more about B2b / B3 over the next few weeks as we decide what we’re going to do with it.

The peer mentoring system has finally started rolling at uni, I’m hoping I’ll have my group of 10 freshers to play with, erm, help, in the next few weeks – my ultimate intention is to try and make it even vaguely interesting, perhaps even set them a couple of challenges; game design within a set domain (physics, swarming, growth etc), possibly a mod of some form – I’d quite like to see a decent single player mod started off (I have a year to work with them on it in the role of “advisor” – it should be doable depending on starting skill levels).

There’s also the possibility of a demonstrator position working with 2nd years for their 3D Studio Max work and related projects – it’s caused dismay amongst the art team, the idea of a coder helping to teach Max has them in fits… But I have pointed out that it’s basic Max skills that I actually do have!

Finally, my mini-project for the next week or two is to try and write a basic BitTorrent client, a couple of reasons – learning more about networking, developing my win32 API skills and just writing something tool based rather than game based! I’ll try and keep this place updated with my progress while also talking about some other bits and pieces that may or may not be more interesting!