Building an XNA Game Studio XBox360 Indie Game.

[page 0004] ~ Me, and my, segue:

Stay the Segue. (And Happy Last NASA Space Shuttle Launch, about 3 or 4 hours ago.)

Opening the PerformanceMeasuring example solution I find that there are a lot of new concepts that are used to make this game go. The GameDebugTools folder in the game solution looks to be the most daunting. But all in all, fitting this sample game into the mutated ChaseCamera/TankOnAHeightMap, i.e. HUD On, looks very doable, maybe.

Famous last words.

“Never break a build.” Hopefully, blending the PerformanceMeasuring sample and my HUDOn game will not produce such results. Everything is in and all the gauges, meters and text interfaces are present and visible. Everything is there, the meters and text displays perform as in the original sample game except that I can’t see the spheres, and also my terrain scale eludes me. I built this game for the look of the landscape and as its flown over when flying in a ship. But it seems the lesson here is that I need to find the spheres and have them match up with the scale and dimensions used for the terrain in the game.

It’s not broken, its just hiding.

Here, sphere, sphere, sphere. What do spheres like to eat? Dog biscuits? Cat nip? Fish food? Where O where have my little spheres gone? Oh where oh where can they be? Hmmm.

I have found my spheres, and I can still throw an OUT OF MEMORY error, to boot. I didn’t have my view and projection arguments in sync with the graphics device that my other draw methods were using. It seems that everybody needs to be hooked up through the same ChaseCamera class instance. So be it.

OK, that’s pretty cool. I have an invisible box that contains a bunch of spheres that float around above my terrain and in which my ship can fly through. They collide with the invisible box walls and so are all contained to a certain area. The land, water, air, ship, and sphere box are centered on a point where X and Z are both zero, the true world origin, I assume, and of course, an apparent Y coordinate some distance above the terrain.

Why is Y a negative?

Segue the segue. It is truly a cryin’ shame that resurrecting the Spaceshooter (ARCHIVED) into GS4.0 might be really difficult, but worth it. Alrighty then, back to HeightMapInfoContentTank.cs and TerrainProcessorTank.cs. These should probably come from some mutated version of that Collision Series, yes Collision Series 5: Heightmap Collision with Normals. I think I changed some of the processor description from there and incorporated some of Collision Series 4: Collision with a Heightmap. I also added a Boolean property for two different versions to be built where either setting would change the triangle mesh of the terrain design. I may need to run through the process of terrain creation and game import before its forgotten, again. That’s about it, now where was I. The Y coordinate comes from a gray scale bitmap with what seems to be built maximized for import at a 512 Width and Height. Black is the lowest point for the mesh and White the highest point of the mesh. 0.0f and 1.0f are the min and max, and then there is the bumpiness factor. There needs to be some point in that range where the spheres are located. I need a Vector3 where X and Z are at zero and Y is a percentage of a point in the range of the given height field, eventually found in Ship.cs which comes from the new and overloaded Update method using heightMapInfo.

If Y isn’t a zero than what is it?

Its assignment in the Vector3, and thus probably, or more than likely, precludes it from being aligned in/as the true world origin. So what is this right hand rule that produces coordinate shift here, (+)X == Right, (+)Y == Up, (+)Z == [the space between the viewport and the viewer, moving from the screen to the viewer]. So at some point Y > 0 OR Y < 0 OR Y == 0, but which would be considered true world origin if and only if the origin is:
Vector3 XYZ = new Vector3.Zero();


July 11, 2011 Posted by | 2011 [0000] to [0005], The Process | Leave a comment