Xbox development setup
Sep. 5th, 2012 10:24 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I went through the setup process for Xbox independent game development today, which went surprisingly smoothly for something completely unfamiliar to me. You have to set your account up with an App Hub membership, download an application that links your computer to your Xbox over the network, type in the key that it gives you on your PC, and... really, that's it - overall it's about a million times less complicated than the equivalent Kafkaesque profiling/provisioning iOS procedure, and there's something very backwards about this considering the two companies' respective reputations.
But most importantly - Special Agent runs on the Xbox! Once again I'm amazed at how quickly I was able to get something running with Clickteam's exporter. I went through the game I'd written six years ago - a horrifying experience, as any programmer will be able to tell you - ripped out the keyboard controls and replaced them with some Xbox controller actions, "compiled" it (what's the term for when a procedure takes source code and produces different source code?) and only had to change a couple of fonts the Xbox didn't support before I saw the "Building..." indicator change to "Deploying...". With no further complaints, it eventually indicated that it was running the project in debug mode.
I could definitely streamline my testing and deployment process a little, because the Xbox in the bedroom is up two flights of stairs from the PC, building in a period of anticipation as I made my way up for the first time. I really couldn't believe it when I saw the television was displaying the Special Agent title screen, and was amazed by how far I could play into the game's first level before I eventually encountered a crash due to some use of multiple movements on the same object.
As for problems, the frame rate doesn't seem quite as smooth as I'd expect from the Xbox, but the game definitely runs acceptably and it's possible that running at 50fps on NTSC has something to do with it - I'm not sure if the game's given frame rate makes a difference in the XNA runtime. Otherwise, I really was very surprised by how little I had to do before I had something workable, and by working with them to fix the remaining problems, I should be able to polish and release something really very rapidly!
But most importantly - Special Agent runs on the Xbox! Once again I'm amazed at how quickly I was able to get something running with Clickteam's exporter. I went through the game I'd written six years ago - a horrifying experience, as any programmer will be able to tell you - ripped out the keyboard controls and replaced them with some Xbox controller actions, "compiled" it (what's the term for when a procedure takes source code and produces different source code?) and only had to change a couple of fonts the Xbox didn't support before I saw the "Building..." indicator change to "Deploying...". With no further complaints, it eventually indicated that it was running the project in debug mode.
I could definitely streamline my testing and deployment process a little, because the Xbox in the bedroom is up two flights of stairs from the PC, building in a period of anticipation as I made my way up for the first time. I really couldn't believe it when I saw the television was displaying the Special Agent title screen, and was amazed by how far I could play into the game's first level before I eventually encountered a crash due to some use of multiple movements on the same object.
As for problems, the frame rate doesn't seem quite as smooth as I'd expect from the Xbox, but the game definitely runs acceptably and it's possible that running at 50fps on NTSC has something to do with it - I'm not sure if the game's given frame rate makes a difference in the XNA runtime. Otherwise, I really was very surprised by how little I had to do before I had something workable, and by working with them to fix the remaining problems, I should be able to polish and release something really very rapidly!
no subject
Date: 2012-09-06 03:04 am (UTC)Also, the Xbox is a funny beast - it's very powerful in a lot of ways, but it also has some tremendous bottlenecks that you have to know about beforehand or else they'll clobber your frame rate. Unfortunately, this is likely something that's more in Clickteam's hands than yours...
no subject
Date: 2012-09-06 03:23 am (UTC)no subject
Date: 2012-09-06 01:15 pm (UTC)As for optimizing it, I think it's probably pretty fundamental things to how the engine works, unfortunately -- it's things like how there's a performance cost (that doesn't occur on normal PCs) every time you change what buffer you're rendering to, but I'm not sure whether that would even be an issue for a strictly 2D, back-to-front system. (There's no sort of 'cached' graphics in MMF, is there? Where you would generate an intermediary bitmap on the fly, and then treat that bitmap as though it were a normal graphic asset in your scene?)
Anyway, it might do to actually measure the frame rate internally, if there's any way to actually hook into the difference between a logical "frame" and an actual drawing to the screen... Maybe you're just responding to any input lag that your TV is causing? (It could be a noticeable amount, and it would probably be the first time you've felt that on one of your own games...)
Also, come to think of it, try making a 'release' build instead of a debug build. There is a ton of overhead in constantly leaving a little breadcrumb trail for itself through the program, and updating that state on your PC so it'll be ready in case of a crash, that it can not bother with if it's not a debug build; I'm not sure if that would make the difference, but it couldn't hurt to try!
no subject
Date: 2012-09-06 06:17 pm (UTC)no subject
Date: 2012-09-06 06:57 am (UTC)no subject
Date: 2012-09-06 07:10 am (UTC)no subject
Date: 2012-09-06 05:34 pm (UTC)