April 2009
13:51 - 22/04/2009 - Intelligence?
After posting last month that I'd been playing WoW again I pretty much immediately uninstalled it. I didn't delete any of my characters or anything, past experience tells us that it's highly likely that I'll want and think it's okay to play again at some point in the future, and even if not; erasing that much time and work even if it only has virtual and personal value seems spiteful to oneself. To be honest it hasn't greatly increased my work rate, and so sometimes I wonder if depriving myself of my favourite time killer for almost no benefit is really the smartest move. I have however since last month got a new book on game programming, specifically on AI, which as it turns out is appealing to me much more than in game physics (which just seems like slaughtering my beautiful subject in to horrible ad hoc approximations littered with exception rules to make everything not 'explode' horribly - there just isn't anything like the memory or processing power to do it properly in real time).
I also have submitted my CV to datascope - a recruitment agency for video game jobs - in the hope of some interviews for junior or internship positions, I'll still be chasing specific companies myself, but I think I tend to aim a bit too high. I've applied to Rare and Lionhead, I'm sure the MGSs (Microsoft Game Studios) have the money to provide the training I need, but they also naturally expect quite a high calibre applicant and my C++ skills compared to Computer Science Graduates and perhaps even very keen hobbists is probably a little lacking (I'm comfy with the basic C stuff and OOP, but have no experience in implimenting templates and class inherance even though I understand them from a theory point of view) *sigh*.
I got a book on AI because when I was programming ZeroG - which I really need a better name for when I do a version 2 - whilst the graphics, engine set up, transforms were quite intuitive and getting the input and sound libraries to work was a simple bit of 'black box' programming (dunno if that's what programmers would call it, but physicists would understand what I mean, probably) trying to do the AI straight off the top of my head was like running into a brick wall. Which is why I ended up with something that would probably have been a little shameful in the 90s AI wise. The book is really interesting, I'm amusing myself with reading/thinking about boids at the moment, whilst flocking will be of limited usefulness (right now I can only think of birds in the backdrop to an FPS / RPG, drone enemies in a space shooter or incredibly annoying insectiod enemies in RPGs as direct applications) the steering behaviour method used to generate it could allow me to come up with some good AI for ZeroG or for a 3D racing game. Although a racing game brings up path finding as an additional challenge (although finding the racing line might be more accurate, path finding seems like first person shooter territory) where space shooters would just need obstacle avoidance.
Enough blabblering, even though that's the only reason I'm posting, I think I'm going to get on with implimenting a 3D boids program. The example code I have is 2D only so it should be challenging enough to be worthwhile and the 2D program is spread over about 30 cpp/h files so I thinking I might just start from scratch, although I really should start getting used to using other peoples - and creating - relativity complex class / template inheritance interactions. I'm thinking that adding an additional high priority parameter to the steering behaviours to attract all biods to a point with a distance^2 or distance^4 dependance and placing the point an appropriate distance in front of the camera could provide an interesting 3D alterative to wraping the screen space onto a torus as done in 2D to keep everything visible.
