Building an XNA Game Studio XBox360 Indie Game.

[page 0015] ~ Genre versus Motif:

But first an adjunct.

Back when video games used two-dimensional squares to build a flat top-down game picturing an obstacle course terrain along with two tanks, the general idea was, mostly, to just shoot the other players tank. One hit, that’s it. These tanks had the same look for either player, the opposing tank looked like my tank except that it was grey instead of white or black, or by some strange twist of fate one could be green and the other red. Back then, I found that that game was enjoyable to play. Maybe overly simple, but still simply enjoyable. This brought to mind what my next mix of game/sample solution could be. As this supra-hobby progresses, some game solutions have been making reappearances because of newly prompted objectives. By rereading my past blog pages, building another game version should again begin with what pieces were used from which ever games fit together well previously.

And the solution is, InOutPad.

Yet another game solution to derive from and continue building on the existing solution CameraAI, with of course, a revised set of directives. This time around, I’m looking at getting the, GSM, being the GameStateManagement sample, solution into InOutPad. Having given this some thought, I can liken GSM as to a beef bullion cube dissolved in boiled water, its not tea and its not soup, although it goes well with a Ry-Krisp, probably because that cracker has so little salt. GSM has a slight flavor to it but it would be put to better use as a base to hold the next ingredients. So what are these next ingredients? What flavor of game should InOutPad become? What is the definition for its genre and motif?

Mixing in Education Catalog Samples.

A game sample that became a phase through the build up of HUD On is TankOnAHeightmap. In the TankOnAHeightmap sample, I changed the terrain by adding it as a new set of bitmaps, one grey scale and the other as a color texture, both are built in and exported from inside GeoControl2. In TankOnAHeightMap the grey scale bitmap is run through the TerrainProcessor.cs of the solution Pipeline during compile time. This is what builds the scale and contour of the terrain mesh. Then, during this same compile time construction process, the Material/Texture color is applied from the other bitmap containing RGB (Red, Green, Blue) data. Within the mesh object created as part of the prebuild process used during this terrain texturing, I incorporated another property under TerrainProcessor that gives access to the height, or lack there of, within this mesh processor. The Content Processor Pipeline project within the solution then adds this TerrainProcessor attribute as a new drop-down item to the list in the C# IDE, so giving color to the mesh, changing its scale and the height of its sea level is substantially simplified. This is one part of this new game, a terrain with a tank that follows the terrains surface height.
The next game to be blended in, giving InOutPad more texture and flavor, is FuelCell. Having a terrain from TankOnAHeightmap, the next order is to coordinate the collision aspects from FuelCell. Giving this games Avatar a different look from what it was originally in FuelCell, thereby having it changed into the tank from the TankOnAHeightmap sample will change the games direction for its win conditions. The challenge here is that another tank/avatar will be added to the mix making it a two player game. This is more than likely why I made HUD On with a main background viewport with two in-screen viewports, one for either player. Having two tanks on the terrain along with the fuel cells will allow for some type of strategy to be incorporated. In FuelCell the cylinder, cube and pyramid are used only as obstacles on a flat 2D grid. Changing these objects into something more advantageous by giving them differing properties will add to the strategy within this new game where their use goes from collision obstacle to collision trigger.
Finally, FuzzyLogic, another sample to find its way into this game, is a top-down view Artificial Intelligence driven game. Here, the only controls used to manipulate the characters within this game are the pads connection to the on screen slider bars. The ratio between this games HUD slider bar sizes give the tank, which truly resembles a top-down picture of the tank from TankOnAHeightmap, three types of behaviors which can be set to varying degrees to modify how the tank responds to its proximity to the mice. The mice also derive their movement from AI modifiers because of there proximity to the tank. So from here I can change this set of mice from FuzzyLogic to become the fuel cells in FuelCell. Giving these new and improved fuel cells some animated behaviors, by changing their mesh’s from a rigid body spool shape to a skinned model biped, should add dynamics vetted from the Skinned Model Extensions Tutorial.

Mixed Up Mix.

It sounds like all this can become a workable game, but I still don’t know what the victory conditions are or could be. Even still, the main purpose of all this mental gymnastics is to build reusable code that will make building other games an even more simplified process. And this, in turn, will allow for the incorporation of yet unstudied samples the time to become applied within upcoming games, things like HLSL, normal and bump maps and post processing.

One More for the Web.

I now have a Twitter account @Far_Niche, with one tweet, my first tweet, t-wee-t.

That is all for now, G’day.


November 29, 2012 Posted by | 2012 [0006] to [0018], The Process | Leave a comment