WorldMaker.netBlog2008 › March

The Pink Godzilla Online Dev Kit on the Xbox 360

3 months, 2 weeks ago

One of the original reasons I chose XNA as my development platform was for the benefit of Xbox builds and debugging. With my original choice for network library I was unable to run it on the Xbox. Thus it was one of the ancillary benefits in my choice to change networking libraries.

I've been working with an Xbox build (of the game that I've been working on for months) for a couple of days now and it's been great for debugging network code already. Doing remote debugging of an Xbox build in Visual Studio is pretty amazing every time I do it, and I know that the XNA team at Microsoft put a lot of work into that. It's quite interesting to set breakpoints for the Xbox build or to do post-mortem debugging.

I was asked to take a few photos of the Xbox build in action and I decided to go ahead and share those on my blog as well, because I do feel at a decent point to brag about where things are, to put things in perspective compared to how the rest of the time I end up worrying about where things need to be. I apologize for the quality of the photos, I only have a cheap digital camera at my disposal, and the angle of the photos (I couldn't find a better way to reduce glare and I couldn't turn off the flash without losing the camera's auto-focus apparently)... I am not a professional photographer.

Flickr Slideshow of My Xbox Build

Darcs and the Useful Context File

3 months, 3 weeks ago

I spend some time thinking about useful ways for representing Darcs repository states while working on my nascent Darcsforge project. I won't claim to be an expert by any means, but I do have some useful wisdom, I think. It's often necessary with a VCS to describe a particular state of the repository. You might have need to go back to that state to reproduce a bug or go forward to that state to gain a new feature or security update. In some VCSes there are simple numbers that you can use to represent a repository state, either because there is a single authority (in the case of a more traditional client-server VCS) or a "single history" (in the case of a Git or Mercurial repository having relatively more strict parentage for changesets than Darcs). Darcs is distributed, so there is no one authority to claim dominion over the state of a repository, and Darcs has a constantly twisting history of a repository's state, which gives it some nearly amazing powers of cherry picking at the expense of simple enumerations of a repository state.

There are a number of ways to communicate the state of a repository in Darcs, and often the best one to use at a the moment is sensitive to your particular needs. I realize that can be it's own challenge in a learning curve, but Darcs tries its best to be helpful all along the way. In fact, small projects can get away with using nothing but Darcs' best-of-breed interactive command line interface to get repositories into particularly useful shapes. If patches are named well, moving forward to get that new feature or security update is a just a matter of making the right choices in the interactive darcs pull. Communicating specific ...

Go West, Young Man?

3 months, 3 weeks ago

On the one hand I'm trying the "run my own business" thing, and it seems plainly obvious to a few that know me that it seems like a unsustainable venture on my own, at least not in the foreseeable future, even including my fits of optimism. Don't get me wrong, things are doing great, but you can't found an empire on "Hey, look at my great effort!" I probably need a good charismatic business partner at the very least to go out and secure funding and worry about debt...

Everyone keeps talking at me with some sort of effect of "When do plan to grow up?", and it's just as painfully obvious to me already that I'm long in the tooth here in school (having been obsolesced by several newer models) and I'm having a huge difficulty understanding what I need an MEng for, anyway. My Mom wants me to get it, and really that's possibly the only reason I'm sitting in this damn class listening to this boring lecture about something that I'll never need to use and even if I do everything I need to learn can be taken in a 24-hour cram session when I actually have a real application that I care about. I think I'm going to fail this class simply from lack of time enough to care...

At this point it seems pretty obvious, and I'll admit it with only a passing chagrin, that I need to move out West. It's not really a choice so much as a necessity. I love the time I've spent on the West Coast and I'd happily work for Microsoft again, but it isn't "Hey I'd like to move out west..." so ...

OpenID Acceptance: Magnolia goes OpenID Required

4 months ago

According to the newsletter I just got, Ma.gnolia.com, the flower-themed competitor to Del.icio.us has made the decision that starting soon all new sign-ups will require OpenID. Ma.gnolia, like Del.icio.us, has to worry about link spam like none other (because link spam is key to modern SEO), and this is one more thing they hope will cut down on spammers. It's quite interesting and an interesting way to promote "Don't create a password with us, we don't want that liability and you don't need that mental overhead", as well.

Sledgehammer to the Network Code, Yo

4 months, 1 week ago

I've been pretty busy this week. It's my last Spring Break I expect to see in my university career and rather than spend the week vegetating in some tropical spot or some other vacation destination, I've been using the time to gut and then rewrite a good chunk of my game's networking code. I'm not sure if I'm more surprised or unsurprised at this fact, but progress seems to have been pretty good this week so far.

For those not following along at home, I made the decision to migrate from a current WCF (.NET 3.0) based networking stack to XNA 2.0's cross-platform Live!-tastic networking framework. Goodbye dependencies on .NET 3.0 and Windows P2P/Advanced Networking. Hello having to worry about Creator's Club memberships for testers and complaining (but not too hard, keeping it friendly) about the current lack of an Xbox build for FRB, my current "physics" engine of choice (rather than coding directly to the XNA wire).

It's interesting because I think this networking rewrite has been something of the kick in the ass that I needed to get the brain running on some new areas to attack in the game by first sweeping out a lot of old cobwebs. Some of my old network code supposed that I would have to run some of my own infrastructure: gaming handles, avatars, et al. XNA supplies a lot of that from MSFT's Live! stuff and I'm a little less worried about publisher lock-in thanks to Valve's Steamworks announcement. Even if no one else is interested, I'm interested in putting together a Steamworks.NET library to go toe-to-toe with Microsoft's XNA GamerServices and Net namespaces. So freeing myself from worrying about running ...

On Coop Rights

4 months, 1 week ago

Ozymandias has been working on compiling the best version he can of The Coop Bill of Rights, following Tycho's wandering into the subject earlier... Coop gaming is in the midst of a great comeback, a defining movement in the current generation, and something that I think a lot of people are hoping to see stick around and nearly become a "required" feature. Forget length or graphics, but "Does it have coop? What sort?" Hence the idea of a Bill of Rights to find a lot of good "rules" (of thumb, rather than of law right now) on what should and should not be required for any good coop experience.

I think that coop is something that really shows off if your narrative design really works well interactively or not. Easy contrasts are Gears of War and Halo 3... there are some key narrative moments that my brother and I can talk about in Gears that there aren't parallels of in Halo because I think Epic did a much better job at pushing more of the narrative design into the level design and making sure more of it "popped" in coop just as well (if not better) than in solo play.

Not to say that either has the best approach because there is still a lot to do in order to really draw cool and interesting narratives out of coop structures.

Anyway, just as interesting out of this discussion is my introduction to Co-Optimus, which is a site that has dedicated itself almost entirely to coop gaming across all platforms. I think if anything, such a "fan club" bodes well for the future of cooperative gaming.

Design Decision: To XNA Network or Not To XNA Network...

4 months, 2 weeks ago

I was really excited to learn that XNA 2.0 was going to include networking support. I was looking forward to use something more powerful than my techniques at the time, particularly if it it were to be a nearly drop-in replacement for existing network code. Then I learned the potential publishing penance that must be paid and pouted for perhaps better possibilities. The LIVE Requirements for XNA Networking are somewhat demanding: for online multiplayer on either platform you need LIVE Gold, at least $50 per annum, and Creator's Club Membership, $100 per annum. It's particularly worrisome from a testing/debugging side: how do I get testers involved without forcing them to buy a CC membership? It's not like my company has the money to reimburse people.

A few months ago that was a pretty big dealbreaker, or at least I thought so. I pretty much gave up the idea, but some comments today started me re-evaluating things. I'm still re-evaluating (over and over), but things are starting to look a bit different. First there is better light in the tunnel for "the end game": the peer review process has been beta-tested and affirmed for a "Holiday release", and the games that already have XBLA contracts appear to be nearing the finish gate, eventually to be released it seems.

Second, I'm debating the importance of "System Link" (aka LAN) testing. With XNA 2.0 Networking I can at least make use of "free" system link testing, but it does restrict what and how I can test. For instance, it makes it tougher for my friends in Seattle to play directly with me to show that everything is working and to "face-to-face" point out bugs. On the other hand, I'm curious if I can use ...

Blogs of the Round Table: I Love All These Voices in My Head

4 months, 2 weeks ago

I'd hate to fall into a predictable pattern, but I'll end up writing mostly about the stuff that I love, as I did in my round table entry for the Music round table, but voice acting is another topic that I have taken weird notice of that so many other people let fall into the background.

It's pretty obvious that my childhood was full of some great cartoons. In particular I have the "Spielberg cartoon renaissance" to thank for instilling in me what I believe shall be a life-long love of animation. But even beyond that, the afternoon dynasty of Tiny Toons, Animaniacs, and Pinky and the Brain are perhaps more valuable for instilling in me an awareness and a love for great voice actors.

Because of his years as The Brain I think Maurice LaMarche is one of the easiest voice talents for me to pick out, and he appears in a huge range of work. He does the best Orson Welles impression and there are very few works that involve Orson Welles that don't use Maurice LaMarche. Even Ed Wood's seminal Welles appearance: body by Vincent D'Onofrio, voiced by LaMarche, albeit uncredited. There is a special feature on Harvey Birdman Season 3 of Maurice cracking up Gary Cole with his Welles impression between takes. (I love animation commentaries with voice over artists... Futurama has some great commentary.[1])

It's interesting how much some people know about the actors in the stuff they watch and yet ignore the voice actors.

When I go into The Dark Knight I'm not going to be comparing Heath Ledger's performance to Jack Nicholson's, I'm going to be comparing Heath Ledger's performance to Mark Hamill's amazing Joker from the animated series ...

Colophon Copyright © 1999-2008 Max Battcher / WorldMaker. Some Rights Reserved.