After spending far to long engineering the Inspire engine and just playing with 2D I decided I needed to get back to more interesting things and thus have put the Inspire engine on the backburner for a while. I’ve decided that I needed a refresher on Direct 3D as its been almost 2 years since I first learnt it so have started reading Managed DirectX 9 Kick Start by Tom Miller. It’s a good book though unfortunately it is getting slightly out of date.
Today Microsoft released the December 2005 DirectX SDK; among the many exciting additions is a new version of Managed DirectX (MDX) 2.0 that is supported by VS 2005 and the free (until late next year) Express Editions. This evening I decided to update all the examples I have created whilst going through Tom Millers book. Below is a more comprehensive list of changes thanks to ZBuffer, however first of all I will go through some things that tripped me up.
- MDX 2.0 is now in just one assembly as opposed to the 8 seperate assemblies.
- MDX 2.0 is a bit pickier about Resource disposal, ensure you dispose devices, vertex buffers, textures etc or your application will not shut down correctly.
- You now set the data in buffers by locking it and modifying the returned Graphics Buffer instead of using the SetData method.
ZBuffer’s Article Series on MDX 2.0
Hopefully by the end of next weekend I’ll have had a chance to go through and comment all the samples I have created to date and then I shall put them up to help other people with the Transition.
I also have a C# version of XInput that I will put up, whilst XInput is now included in MDX 2.0 it is only available to .NET 2.0 (whereas mine will work with either) and not particularly Object Oriented (which mine is). Also I don’t want the 2 days I spent playing with it to be a complete waste.

Today Muse released there Absolution Tour DVD. The vast majority of the DVD is filmed at Glastonbury 2004 when they headlined the Pyramid Stage though it does have some extras including…
- The Small Print – Earls Court
- Stockholm Syndrome – Earls Court
- Fury – Los Angeles
- The Groove in the States – San Diego
I had it on in the background whilst working today and its pretty darn good… no where near as good as seeing them live but as a filler until their next album I’m more than happy to lap it up.
Muse are supposedly back in the recording studio for the new year and according to NME are looking to find somewhere in London to play impromptu gigs to help work on the new songs.
In other news Cas and I have got quite addicted to Brechtian Punk Cabaret act The Dresden Dolls. The Album seems to be on continuous repeat and I continuously have the lyrics for The Girl Anachronism stuck in my head.
There’s an interesting article over at bit-tech discussing the new effect Valve are adding to the source engine to make games feel more cinematic. They recently added High Dynamic Range (HDR for short) Rendering support and are show-casing it in the recently released Day of Defeat and new Counter-Strike levels.

Motion Blur
The article discusses (with the aid of some very nice screenshots and videos) how they have added Depth of Field and Motion Blur effects, and also Film Grain and Color Correction filters, to the source engine. The end effect makes for very impressive viewing however I doubt the usefullness of some of these techniques outside of cutscenes. The film grain used in the final movie looks great to watch but would get annoying very quickly in game and I fail to see how the depth of field would work in-game, how does the computer actually know what on the screen you are looking at?
I guess, just like HDR, that if the effects are used carefully they will improve the experience of single player games, I just hope HDR Bloom and Motion Blur don’t become the new lens-flare. However no matter how great these effects look if they impair a players skill in a multiplayer game they will be turned off by the hardcore players to give them a slight advantage.
I’ve been getting more and more annoyed with my Windows box recently… it keeps on crashing and is just going slower and slower. Over the last couple of weeks I’ve noticed that none of the work I do is specifically for Windows… most of it is on servers, so I decided to install Linux on there.
Friday evening I took my machine home, resized my main windows partition and created a load of extra partitions. The partitions under Linux are numbered in the order created, not the order they exist on the hard drive. So my partitions were not in the following order on the disk…
- 30Mb Boot Partition – /dev/hda2
- 25GB Windows Partition – /dev/hda1
- 1GB Swap Partition – /dev/hda3
- 10GB Root Partition – /dev/hda4
- 14GB Shared (FAT32) Partition – /dev/hda5
Now being the really anal guy I am I wanted my partitions to be numbered as they exist on the hard drive… basically I wanted /boot to be hda1 and windows to be hda2. So I booted up a gentoo live CD, ran fdisk on the disk and used the f command (under advanced options) to re-order the disks… Excellent nice and simple… or not…
Next time I tried to boot windows up Windows came up with some helpful error message saying it couldn’t find some dll or something… After a couple of seconds of crapping my pants… convinced I’d just destroyed my windows partition and was going to have to re-install windows I thought about why this had happened…
It all comes down to the boot.ini file. This file is hidden in the system root (usually c:) and looks something like this…
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /noexecute=optin /fastdetect
The important part is the partition(1) section… for some reason partitions are indexed from 1 unlike the rest of the items which are indexed from 0. All I had to do was change that to partition(2) (as it was hda2) and Windows started booting fine…
Hopefully this information will be useful if anyone else has the same problem.
September 23rd, 2005
mike
This morning on my way to work I was thinking about how I was going to integrate the OpenGL Renderer into Inspire under Linux (yeah walking to work without my iPod is boring). For everything else so far I have used winforms and I would really like to keep it that way.
And as if by magic! Jonathon Chambers wrote an excellent blog entry yesterday on how to get OpenGL working under Mono’s WinForms implementation. Once I’ve reinstalled grub on my booting hard drive I’ll have to boot into linux and give it a try. I’ll hopefully get a chance this weekend but who knows… life has been rather hectic recently.
One of the reasons I haven’t had much time to work on Inspire is that I’ve been working on the Content Mangement System for this website. The backend now uses the excellant xinha, a wysiwyg html(link) editor and has full support for editing news, articles, menu layout and images. From the visitors side the most noticable change is the new comments system. This will soon be upgraded to use xinha as well once I’ve had a chance to lock the editor down a bit to stop malicious people breaking things.
This isn’t the only website that uses my Content Management System, apart from the (under development) Inspire website, Saving the World and Other Stories also uses it. This is a website run by a friend of mine and contains his film reviews and any political or existential rants. It’s been useful having a non computer person to test my CMS to find all the bugs and help me improve the user interface.
September 17th, 2005
mike
Today I decided to have a look at ruby on rails. I had heard a bit about it, how everyone said it was the next revolution in web app programming and how you can write web apps in a
tenth of the time. Obviously these claims seem completely outrageous but turns out there is quite a bit of truth in them!
So whats so great about it? In 30 minutes following a tutorial (see links below) I had managed to make a simple web app with very little code. By doing a lot of reflection magic it manages to keep configuration files down to a minimum (the only one I’ve used so far is to tell ruby how to access the database), you also don’t have to worry about SQL statements it generates all that for you!
So where should you look if you want to have a play with ruby on rails… well theres the link I posted earlier… there’s also 2 tutorials at OnLAMP…
- Rolling with Ruby on Rails Part 1
- Rolling with Ruby on Rails Part 2
There’s also a couple of good articles at Amy Hoy’s blog….
I’ll post any more links as I come across them…
Update:
September 16th, 2005
mike
So Nintendo have finally released information about the controller in their new console, the Revolution. There’s a fair bit of coverage up (unsurprisingly), see 1Up and IGN. There’s also a quite amusing video up at IGN.

Revolution Controller
It’s revolutionary I’ll certainly give them that and it’s going to be very interesting to see how it does. The Japanese will love it and like always Nintendo have no need to worry about that market. However in the US and Europe it’s either going to be a huge hit or a complete failure.
I don’t like to think of myself as a Nintendo fanboy (even though I do have a Gamecube, SNES and NES they were not bought day of release but years after) but personally I’m hoping it will be a huge hit. Microsoft and Sony have been pushing the graphics side of their consoles and they do look amazing but I have a PC for amazing graphics! From a console I want great multiplayer gameplay, like Super Monkey Ball and Mario Kart and this controller makes it look a lot of fun. Add on the fact that its a tiny system (about the same size as 3 DVD cases), you’ll be able to download the entire nintendo back catalogue, it will play all of my GameCube games and it will have new Zelda games, the Revolution (or whatever it ends up being called) is going to be very interesting and one that I will certainly be watching.
It’s supposed to be the end of Spring and the start of summer… Seems to be raining more than it’s sunny at the moment. Had a day off work on Monday as I had a Chest Infection (or something like that). I haven’t completely recovered yet so I am getting very little sleep and look half dead in the mornings.
Done some more work on Inspire, managed to refactor the renderer section and its a lot neater now. I’ve also started work on the input section and have pointing devices working fine and have done most of the work for keyboards. Once I have these two parts working I can get back to the Windowing Toolkit and get some actual interaction with it working.
I’ve also completed the design for the Inspire Website, though I wont be releasing that until I have some decent screen shots and perhaps the first game. I’ve also fixed a bug which had me stuck with the Inspire Studio project. This means I can get some work done on that.
I’m planning on taking a couple of days off at the beginning of June to do some major work on Inspire. As I’ve spent quite a while working on it I’m gonna try and complete a simple game with it as something for people to download. It’ll probably be either a tetris or pacman style game.
One final thing, if you haven’t come across it yet you should really check out Reiner’s Tilesets they’re brilliant whilst also being cost and royalty free!
With their new update schedule (that almost matches the update schedule of this site) Microsoft have released the April 2005 update to the DirectX 9.0 SDK. This version includes improvements in the following areas…
- UVAtlas API – API to generate a unique UV texture mapping for an aritary mesh.
- Reduced memory footprint for D3DX effects files with new flag D3DXFX_NOT_CLONEABLE
- DXSetup documentation updated
- DirectX GUI is now seperated from the core framework and thus optional
- Updates to PIX tools
The updated SDK can be downloaded from http://msdn.microsoft.com/directx/
The last month at work has been pretty hectic and it concluded with two visits to Nijmegen in The Netherlands. The first was for almost 2 weeks and was over the Easter Bank Holiday Weekend whilst the second was a rather tiring single day trip.
Nijmegen is a lovely town, a reasonable size to explore on foot and lots of interesting back alleys to explore. Caroline flew out to stay with me for the Bank Holiday weekend and we did more exploring and took a day trip to Amsterdam. While Amsterdam got nicer the further from the center you got, Nijmegen is a lot nicer city. No where near as touristy.
Haven’t had much time to work on the Inspire Engine though I have splitted the Inspire Tools into a seperate section entitled Inspire Studio. This will ultimately contain editors for Sprites, 2D and 3D maps and the Resource Files. The Renderer section of Inspire requires a small re-design to make it more adaptable and for it to interface correctly with the Input section.