Been busy with GDC this week, since IMVU bought some passes for a few of us to share amongst ourselves so that we could see lectures and chat with people. Had some good times on tuesday and wednesday, seeing talks by people like Dave Hellman and Daniel James. Even had a beer courtesy of the kind folks at Flashbang! I tried using twitter to keep up with what was going on at the conference but quickly discovered that neither Wi-Fi or EDGE were useful – apparently the hundreds of iPhones at the conference have overloaded AT&T’s feeble cellular networks.

In the bits of spare time I still had available, I spent most of my energy working on building a prototype of the game’s first level, assembling the content I’ve gotten from my artist and making improvements to the editor as needed. I did some refactoring to my rendering code so that I could zoom the game’s camera in and out, which ends up being quite helpful when trying to assemble levels. I also had to make lots of minor tweaks to the algorithms for aligning and placing tiles, due to the odd sizes and shapes of some of the tiles I’m using.

Still a lot further to go, but my prototype level is starting to resemble what I want the final version to be, instead of just being a bunch of geometry.

One problem I still need to solve is that since some of my tiles share the same texture surface, the edges of adjacent tiles ‘bleed’ in sometimes if I draw them at fractional positions, based on the location of the camera. The solution to this will likely be a combination of premultiplied alpha and extracting individual tiles into their own textures. I haven’t decided whether I want to do this processing offline using the XNA content pipeline, or do it at runtime – I’ll probably end up doing the latter for now, though, since the content pipeline is ridiculously complicated.

I also ended up making a minor improvement to my tileset system, to make it easier to build good looking levels – previously, individual variations on a given tile – stone brick 1, stone brick 2, stone brick 3 – were listed individually in the tile selector, and I had to place them by hand. I decided to streamline things by grouping those variations together as one entry in the selector, and having the editor automatically randomize them when adding them to the level, so that things look more organic without me having to manually place the individual variations. This also helped cut down on the amount of noise in the tile selector, since it was getting difficult to scroll through the dozens of similar tiles.

Seeing all the pieces come together is making me get a little impatient about getting the actual character sprites into the game, especially since the early drafts look so good. Having tiny placeholder sprites next to huge tiles can get a little confusing at times.