Ho ho ho,
Well, it's that time of year again - must be time for a Christmasy blog!
It's been an interesting if low key year, during which I managed to fail yet again to get anything substantial done, but still managed to learn a lot of things along the way.
The evolution of BlitzMax into a threaded language has been probably the most interesting/challenging thing I've done, and in particular the development of an entirely new garbage collector.
It's still not perfect though, as there are some 'pathological' situations which can still upset the GC. The solution to these problems is to make the GC 'generational', which basically means keeping track of 'old' and 'not so old' objects. Ouch.
This apparently requires the addition of nasty things called 'write barriers' - little bits of code that get called every time a pointer is written to a variable (reference counting actually involves a write barrier of sorts) . I have a feeling this can be achieved 'on the cheap' using virtual memory techniques though, and it's something I'll probably be looking into next year.
And the $64,000 question - what about 3D?
Well, the truth is, I just don't really feel that I have anything new or particularly clever to offer 3D wise right now - and haven't for a while. There are plenty of good 3d libraries out there these days (and many of them free!) and competing with them has just become more and more scary. I guess what I'm really after is some kind of dinky new approach or something that simplifies life the way Blitz3D did.
I could certainly do more to promote and support the 3rd party 3d modules for BlitzMax around these days though. My general suckiness at marketing etc issues not withstanding, I'll make an honest attempt to do something about this soon!
I'd also like to do something *I'd* use to write a game with, and to be honest my requirements for a 3D engine are pretty minimal. As much as I'd like to a do a bumpy/specularly extravaganza, the truth is I just don't have the resources to do it justice. In which case, why not do something simpler, faster etc that works on more hardware. I guess what I'm saying is, as with programming languages, my first priority is to do something I'd be comfortable using myself, and all this next-gen stuff creates a certain amount of tension in that respect.
But all power to guys like Josh Klint and his leadwerks engine which requires a reasonably high spec - they're definitely pulling the technology in a good direction as opposed to, say, Intel and their craptacular graphics cards. Honestly, we'd have been better off with GeForce 4's!
Gaming wise, I've actually had something of a gaming renaissance in 2009, although this is probably more down to my being a bit more open to trying new gaming 'forms' than any resurgence on the industries part.
I have thoroughly enjoyed games such as Mirror's Edge, Infamous, Arkham Asylum, and esp. Uncharted 2 and kind of feel that gaming is heading in interesting directions these days.
Many of these games feel almost 'mini-game-ish' in nature, with set pieces sort of strung together by sequences of 'actual game'. The 'actual game' bits can sometimes get a bit monotonous, often consisting of 'wack a mole' style combat, but the set pieces are usually very cool - certainly cool enough to keep me playing for the next one!
Mirrors edge really stuck out for me though. The actual game bit basically consists of running very fast from point A to point B - and it works really well! Keeping your speed up is key, and do so allows you to run up walls and jump over huge gaps without it all feeling too silly/impossible. But I feel it's let down a bit by having too many restart points, which basically allows you to get lazy as you can always just try again. IMO, they should have made the levels a little easier, but with fewer restart points. It would've made for the same overall difficulty, but have given it all a little more tension.
I'm also very much looking forward to 'Demons Souls':
Not available in stores here in NZ (why?) but I've got it ordered and it should be here next week. Good too see developers being brave enough to make a game *hard* again!
Anime-wise, I must confess to having watched a lot of 'high school romance' style Anime lately. In particular, I find the Anime adaptations of the Japanese 'girl games' by Key Visual Arts (haven't played the games...though they're apparently quite raunchy!) really entertaining. Not quite sure why, perhaps because there's usually an element of the supernatural in there or something, but they're definitely skilled at building up characters and manipulating the viewers emotions.
But 'Death Note' was probably the Anime highlight of 2009 for me. A simple premise - a guy discovers a note book that will magically kill off anyone whose name he writes in it - is taken in gloriously confusing directions. The amazing thing about the show is that despite the fact things keep getting more and more complex (the book has an apparently never ending set of rules governing its usage) you're never really lost by it all. There is the odd bit of exposition here and there, but overall it's just a brilliant bit of story telling.
Movie-wise, I didn't get to see all that many movies this year (too busy watching Anime and playing games!), but I did thoroughly enjoy Star Trek, Synecdoche New York and esp. Coraline.
The thing I always liked about Star Trek was the Kirk/Spock dynamic, and I felt the movie kept this intact very nicely. Yes, it was a bit of an incoherent mess ('racist' Vulcans? Surely racism is not logical!), had too many lens flares (Well, I liked them!) and featured probably the biggest god machine coincidence in living memory (Kirk AND future Spock AND Scotty all accidentally stranded on the same minor planet?!?) but I thought the actors caught the essence of the original characters just fine.
Synecdoche New York is probably a bit of an old farts movie, concentrating as it does mostly on death and 'what have I done with my life' issues, but it's also funny, wildly imaginative and thought provoking. The main character builds a 'miniature' of his world inside a huge warehouse, and after a while what's real and what's 'acted' becomes blurred. And, of course, the ending is killer...
Coraline is...awesome. A bit goth, but if you can handle that, see it!
Music-wise...is it just me, or was 2009 a bit of a loss? Waiting for someone to kick things into gear again...
Coolest moment of 2009: Obama getting elected.
Bummer moment of 2009: Obama's Nobel peace prize acceptance speech.
Anyway, getting WAY off track. Have an excellent 2010 and code the good code!