Building an XNA Game Studio XBox360 Indie Game.

[page 0023] ~ Wheedling through the (K–Pg) boundary:

Through a Bazillion handshakes the game is begun.

Loath to expire in this Phylum of mine I must find a magic talisman, build a space suit, and grow wings, for the old K–T Boundary is the new 50. It seems that HTML5 is here, it is moving along, and the flight looks pretty good too.  How might my flight look is yet to be clearly seen.  But, with the “Packing and Distributing Your Game” a transmutation may become possible and some entry given to One Game A Month as a last ditch attempt, maybe, eventually.  A final stumbling block in this continuing escapade is that any entry of mine, of my game, will have its input from a Game Pad, alone, be it PC or XBOX, possibly up to four pad controllers on a single console, eventually.  But I may just thank them for dinner, stop in from time to time, and continue about with my own familiar design.  There is no sense mucking up the field doing everything with my heavy hooves, everywhere, all the time.  It is strange that in creation things can be seen as that of becoming straightened out, even though the universal foam seems to be, for the most part, eternally perturbed.  Well, that was fun.  Most likely, I should set my sights back on my own game devices once again.  A pleasant jaunt it has been.

Finishing my Notes.

I am going to try to rebuild HUD-On, and for comparison and contrast I think I should Fraps this game as, FarNiche 0005 HUD-On Com, in its current state.  A nice before and after, probably more like before and since, as it will be the best way to state this game in its current point in time.  From there, I can begin a process of consistent replication, for the next twelve months, but can only start if it starts at all.

So then the mini-map . . .

I have found that hard coding a variables constant values within the class flow of logic as that particular literal value is not a good idea.  It is best to make a global const and from there all the variables can be changed without “searching” for them all.


“Help me Global Game Jam, you’re my only hope” – Princess Pe-a.  There is yet hope to have a game, game one, ready for January.  #GGJ13 is just before the end of the month so there does seem to be a great and small window of opportunity to devise some sort of game before the next month begins.  As for time management, “How many seconds are in forty-eight hours?”  “And at which clock cycle might you find yourself in quandary in looking for these ‘seconds’ in your 48 hours?”  Very good, well met, yet there is before me another fork. A choice of two, to select one is my only option.  No, no, no, just build a select case, a counter and let the for-while-loop go about being filled with what needs to be done in the time I’ve been allotted.  Ok, tweet out some things that need to be done, like . . . fweep-fweep-fweep-fweep…FWEEEEP.

Things to do, places to go, people to meet.

Start a new solution.  Grab some stuff from BasicGameSize, like everything, and just call it GlobalGameSize with a new GUID as found in Solution/Game/Properties/Application/Assembly Information/GUID.  Because, if by chance you were to build an .exe with the same GUID, “and namespace?”, there may be the chance that that could over write a previous build and thus update, or downgrade the current project build.  What-ever.

I hope I can build this template in . . .

preparation to this upcoming weekend.  Open VSE 2010 and select New Project, then Windows Game(4.0).  Select a desired file Location: and the Name: of the project solution. After the IDE creates and loads the interface, in the Solution Explorer, right click on the GlobalGameSize project and select Properties.  In the XNA Game Studio tab open the Game thumbnail: and give  it some alterations.  Don’t hawk any ideas from the Global Game Jam 2013 site. Ok, I have something close from my GDD prototype I could put to use.  Done.  In the Application tab change the Icon and fill in some more of the Assembly Information.  Move down to the Security tab and click the link, “Learn more about code access security …”, and of course, read more and more.

It’s time to set my boot heals to a’ wanderin’.

The time to pack it up and hit some door is upon me, the point of no return.  If I don’t have it at least I’ll know where it is.

See ya when I git back, back to where I once belong.

Who is Jo-Jo?  Mo-Jo, Jo-Jo?



January 25, 2013 Posted by | 2013 [0019] to [00??], The Process | Leave a comment

[page 0022] ~ Strike While the Iron is Hot:

it’s really sticky stuff, oh bother.”; from Winnie-Ze-Pooh.

In finding myself being a member of this One Game A Month community, I feel it is my duty to conduce another diverse aspect of gamification.

A Fish out of Water

I’ve searched and researched the many aspects of the playable game options that I have for #1GAM and the long and short of it is . . .

I do have a few options, it seems, none of which include a simple resolution.  For instance:

1).  I build a game on the PC and therefore have the source code which, when compiled, builds the game and is playable through a window created by the API in debug mode.

2).  I have that game after compilation as an .exe and can then play it on the PC by clicking on its .exe from within the Windows Explorer folder. All is good.

3).  Also, I can start up the XBox 360 and have it connect to my PC through Xbox LIVE Indie Games and “XNA Game Studio Connect”.  With that connection the game is deployed to the game console where it is then playable as it had been on the computer.  Again, all is very good.

4).  One last caviate would be to select it from “my games” from within the consoles menu.  But this would prove fully unfruitful to the OGAM community at-large.

And how it gets sticky.

A few forks in the road seem to have come about which diverge from the following conjuncture:

1).  A supposition involving a simplicity that resolves to an implementation where a game “is” in play.

2).  A formalized standard which allows the games concepts to be perceived as that of the given game as “being” played.

3).  And a conclusion that provides some degree of satisfaction because the game “has” been played.

Diverging from this convergence is where I will assume my recourse, in that, of a game played as found from my link on One Game A Month.

High Hurdles.

Underlying those virtual precepts, the methods that will produce a game, will come about if, and only if:

1).  there is the code to be compiled within the compatible API. – PC.

2).  the given .exe is clicked on within a computer having the necessary “redistributables” installed. – PC.

3).  the deployed game is selected from the consoles game menu. – XBOX.

Sordid details.

This option entails having the code reside either on GitHub or CodePlex, where these assets are used to reproduce the game.  Not the best option seeing that in its current “bloatware” status HUD-On is (349 Files, 68 Folders) with 892 MB (935,886,848 bytes).  And my best guess is that that download wouldn’t provide simplicity, seeing that the player would need to install GS 4.0 on the PC so as to have the game data match the game load serializer.

Another “best” option would be to utilize “ClickOnce Deployment”, which seems to be a self-contained package builder, something in the lines of an XNA focused form of Flexera InstallShield in a WINZIP-esque wrap.  This would facilitate the “redistributables” installation onto the PC, but the loadsome nature of this process may also prove, not necessarily prohibitive but more, inhibitive.

Another option would be to load it into a project slot within my “MyI” namespace at which point it would become an entity to be consumed by the playtest and review peers of the XBLIG Games Catalog community. And like Jackie Gleason might say, slap-snap-crack-zip-zoing-zoom, and off and away it goes.  Which means that it would be accessible, in part, on its way to Indie Game approval.  But of course it would need to be a game in completeness, bug and crash free, to the best of my knowledge, and ready, as such, for the MarketPlace, as my game.  This still would not relinquish simplistic access from a link from my OGAM profile.  Hmm, again.

Then, the dogged truth.

Finally, remuneration, which envolves, yes, you may have guessed it, I think the Beatles summed it up pretty well in their song The Beatles – Revolver, Taxman.  Yeah, that stuff, sticky stuff in its own right.  But, not to be confused with recompense, which is qualified by means of anguish, which is perpetually, in all actuality, offset through elation found because of accomplishment, both large and small.

a Wedged Bear in Great Tightness” – also from; Winnie-the-Pooh.

And I believe I will leave it at that.  And get back to what I do best, hibernation, just kidding.  Seeing that One Game A Month is a personal challenge, I could still Karaoke my way through this year, bonus, from sad to glad.  And so, with most optimality the path was proven too impossible, sorry Princess Pea, just too, not completely, impossible that is.  YES has sung it best, “Yours is no Disgrace”.


January 18, 2013 Posted by | 2013 [0019] to [00??], The Process | Leave a comment

[page 0021] ~ Game 00 Hud-On :

Between a Rock and a Hard Place. (Ms-PL) vs. (???)

Or, maybe its just some nervous jitters about going from the sandbox to the kiddy pool.  I still have no idea of how to demonstrate a game exhibition anywhere for any of this, with any simplicity.  More research, and hopefully an “e” for effort.

My ship is small, the map is open.

What are some simple clues to give away the game?  I guess Genre trumps Motif.  Genre is a type and Motif is the mood.  A quick rundown of the genre please.  It’s a: 3D world bound space-ship flight race.  And the motif please.  It has: terrestrial biome colonies and bio-spheres.  Anything else you would like to add?  Yes, a help file.  How about sound?  No.  Well, yes but . . . no.  How many spheres will there be?  Ha ha, a sphere you say.  I do not understand that sphere primitive, nor its base class.  Maybe I’ll understand the implementation of the instantiated variable.  “Find All References” is a really nice menu dropdown item.  OK, I’ll have up to one hundred spheres.  And what do the spheres do?  In general?  Yes, and specifically.  Generally – The spheres float around the game field, if they hit the terrain they bounce back up.  If they hit the troposphere they bounce back down.  And if they hit the edge of the world they bounce back in.  Specifically – The spheres have, wait for it /* segue – my ship has shields */ just refound them, ok, a SphereHitCount I could use somewhere, for the counting of course.  Putting a break-point in the SphereHitCount method of its bool {}, and running in debug mode, I scry its utility.  Got it.  With the break-point off, the counter works.  Carry on.  If you run into a sphere it changes to a wire mesh sphere and increments the counter by one.  Does it drop to the ground?  What do you mean.  Like, halfway through the terrain so it looks like a dome?  Yes.  No, not yet.  But the orbit of the SampleArcBall camera could be faster, I can’t get a bead on the spheres until they have passed me by.  Well, what happens if the ship hits any of the walls?  It starts over at some random position on the map.  Nice.

What was the deal with each viewport needing a dedicated . . .

Hold On.  Just look for the rotational speed first.  Ok.  But just a minute, A tale of many haggis.  Yeah, that sounds about right, I just jacked up the sphere count to 10,000 and had a frame rate interval of 1 in about every 3 or 4 seconds, maybe 5.  Back to 100 spheres.  Anyway, the spheres come in a variety of colors and sizes.  I could really use a compass or some vector readings to follow on the mini-map.  Maybe even some extra little dots on the mini-map of the spheres (x,y) positions.  /* Correction, make that (x,z), y is perpendicular to the tangent of the virtual gravity, e.g. Vector3.Up, like towards the troposphere.  But, never mind, just another 2D/3D conversion convention. */  And you.  I changed the orbital rotation and the speed is good now.  Now what?  Mini-Map compass vector gauge?  Or, I could just fly really fast and best guess my position by matching the in view frustum 3D terrain to the 2D mini-map.

“But what does it do?”

Is there even a little back-story?  Well, no.  Hmm, would you like there to be one?  Yes.  Like what?  I think that there is a home world where;

Sentient life has evolved, iconoclasts have defeated reason and reactive imitation is the new faith.  The Old Masters of Belief are inexorably destroyed, Creation is considered a black art and the void of chaotic syncretic manipulation opens.  Every twenty-one years the Edict of the Precursors has sacrificed the human pinnacle of there civilization to the heavens, launching them from the home world to the starry sky above.  With a stalwart yet saddening farewell they are taken out, and off the home world, where they begin the cycle anew.  The society that they left behind is then opened to a perpetual, self-fulfilling need, the need to fill the spaces of those who are gone, the real cost of opportunity.  For those who must go and for those who stay behind, their Dilemma is the same.  Deny the History of the Edict and produce Wars of Annihilation on their home world and severance to one another abroad.  Then, followed with the denial of Sacrifice unto Excommunication to those who had been previously sent, those on the home world also rescind their pledge to observe the Edict.  Leaving only all to disavow their previous ties to their recursive existence on the home world, and nought to revel in their new auspicious disassociations in sustaining their home world nor building new off-world colonies, the scattered survivors begin to; . . .

Uhm, well then, or maybe,

Could you make it just a little more simple?  please.

Sure, I agree, great and strange is this wondrous KISS.  I think I can do this, I hope I can do this.

The simple story:  Four space ships are your last hope.  Choose your ship and stop the evaporation spheres from escaping with your colonies.

The back story:  A rogue civilization has unleashed a new weapon upon your home world.  A sphere that engulfs your cities, towns and villages, and lifts them up, then slowly shrink in size until they pop out of existence, along with your colonies.  You must infiltrate the spheres with your ship before they slip away to the void.  “Ramming Speed!”  Time is not on your side.  Fly fast, but don’t crash, four ships are all you have.  Good luck, fight the good fight and remember our survival depends on you. – That’s better.

Until next time, still hobbling toward a more simple story plot.

And as the sun sinks slowly in the sky, our good Master Yoda expounds, in his gravelly voice:  “Mmmm.  Stupid Simple It Keep, and now, yes, forever rest”.

But wait, there’s more . . . G’day.

January 16, 2013 Posted by | 2013 [0019] to [00??], The Process | Leave a comment

[page 0020] ~ Game 00 KISS:

Like a vale being drawn from my eyes.

Just to whet the whistle, I dove into HUD-On once more and found that, it is really really cool and very very messy. Giving it a month long kiss wouldn’t even begin to get it ready for the January feed.  One pad, many requests.  I know there isn’t a help file, so I’ll save time by not even looking for it.  In the game the camera has two modes, the ChaseCamera and the SampleArcBall camera.  These two eat up a lot of the players controller interfaces; buttons, joysticks, triggers, . . ., thereby having each mode overlap the other, and therefore they each become a different game state.  Hmmm, game state again.  The mini-map is working well, the scale works and the position of the ship in 3D space and on the 2D mini-map match, and the mini-map fade out, just to get a little more screen real-estate, is only still slightly visible when at full dim, all is good.  I concur, giving variables a “<summary> /* comment */” is a good thing.  A flowchart would be so much better, but C’est la vie.   HUD-On is as good as it gets for now.  Double hmm.  No rules?  This game is done.  OGAM bound.

“But what does it do?”

OK, it isn’t exactly done, yet.  I won’t have as much a head start as a whole month, so what does it need?  What does it have now so I’ll have a game.  Start the game, and, Not that button!  That’s the game exit button.

Alright: The ‘back’ button is exit.  The ‘start’ button is switch ships.  And now, for the two game states; ChaseCamera = CC, and SampleArcBall = SAB.  To switch back and forth between the two modes, press the ‘Y’ button in either mode.  Back in CC, to get the ship to initially move, hold down the right trigger and tap the right joystick forward, kinda like holding in the clutch when you start a manual shift car.  If the ship is ever going a zero speed it has stalled so the same procedure is used to start it going again.  This can only be done in CC, not SAB, true, I can see the overloading in action.  And that’s really funny.  While trying to switch back and forth between the game window and notepad using Alt+Tab, instead of only switching out of the running game, I have a command prompt that has also popped up in HUD-On.  Having an idea of the structure of the parts of this game, my best guess is that it has to do with [page 0004] and the PerformanceMeasuring sample, I think.  And how to exit the command prompt?  Unknown Command – CMD>.  I really don’t know, nothing I type in works.  Going to the IDE – Find and Replace CMD, and the victim is, Find All.  Matching lines: 20    Matching files: 4    Total files searched: 61.  This looks promising, cmd.callback(this, command, args); it might be something to look into, later.  Ah-yes, I commented out the command strings, in effect gutting the performance measuring part of the sample, using only the spheres, their collision aspects and of course their movement routines.  I get it, don’t press Alt+Tab now unless you like to have the command prompt covering the screen for the entirety of the play, unless you would rather it be there until you exit the game, did I say game.  Yes, it’s a game!  My January Game, game 00, my first game.  \o/.  Or maybe it was SpaceWar II, nah, that was a dry run.  But I could throw it in, in a pinch, just in case, later on.  The proverbial ace in the hole.  Or maybe, no ace, no face, no trump – a granny hand, not to be confused with a Granny Hand in Sheepshead but not Schafkopf.

OK, more button stuff.

Or, never mind.  If you press Alt+Tab again the command prompt does go away by itself, but it still makes the window call and switches notepad back to TopMost, my bad, whatever.  Change of plan, its just easier to leave the game and notepad off center over each other and then just mouse click on whichever window, to set its focus back to true.  That works.  Now more button stuff like, nope, more game play stuff like I fly a ship around the playing field and run the ship into the spheres that float around the map.  When I hit a sphere, it becomes a geodesic dome and sinks to the ground to become a colony.  In a two player game this could have some substantial connotations.  But for now, the game is only one player, MyI, me flying the ship, seek out the spheres, collide with them and letting them to sink within a given time limit.  I’ll need a timer.  There’s a timer in SpaceWar II that I know of, like a flash.  Whoa, don’t set Fraps to start a movie capture with the video capture hotkey set to the space bar, “Space”, and then type this blog.  You know how many files you end up with?  Lots, 202 for 39.1 GB.  LOL.  I always wanted to say that, just couldn’t find the right idiom . . .  Back in SpaceWar II, I’ll grab a TimeSpan and follow its “Go To Definition” and “Find All References”, OR maybe GameTime.  GameTime does get me into the Update method.

Like a whale being drawn from the skys, not the “Fail Whale”, nor the “Narwhal”.

It looks like I’m back in the groove so its time for hyper drive, take a deep breath and dive into the coding mantra place that gets things done.  I think I’ve got a game for January.  No rules, now that’s great fun.  And again: \o/


January 7, 2013 Posted by | 2013 [0019] to [00??], The Process | Leave a comment

[page 0019] ~ OGAM Game 01 JAN:

Every Quest needs a Map.

So, what is a map, and more importantly, what do I think a map is?  Initially, I picture a map as something tangible, a piece of parchment with ink scrawled upon it.  Beyond that, it needs to be where I am, because a map really isn’t useful to me if it isn’t with me.  If it doesn’t remind me about something that the maker of that map thought to be important, for all practical purposes, it has stopped being my map.  This map, my map, my useful map, because it is with me, could therefore be seen through its probability to promote an expedition of abrogation.  And if that is the case, what is left is a set of waypoints that will leave in-between those points the path that is to be followed.  And that’s a map.

So, what is my map?

Right now, my map is empty, therefore I have nowhere to go.  Who built this map?  It is broken.  What I need is a “Map of Many Things”.  I think I’ll just stroll over to the wizards place and see just what is on the bill-o-fare.  Hello, Good-bye.  Leaving that neighborhood magic shop, I once again have found that for all the best intentions, the Map of Many Things was hidden by a legendary Bodhisattva, and became a relic lost from all reckoning through the passage of time, but I did come away with a philosopher’s stone.  Going back to my disheveled hovel, I place the stone on my “Parchment of Devoid” and low and behold, a portcullis appears from under that stone.  Lifting the stone, to get a closer look, I find that the portcullis has vanished, and in its place is a dot.  No, it’s an icon.  Moving the stone over the icon and placing it back on the parchment, I hear a click.  Looking up I see …

GeoControl2, its been a while.

Yeah, really. I go to the Project tab and click Load Projectsettings.  Rummage, rummage rummage.  Do you know why things are always in the last place you look?  Because once you find them, generally, you don’t need to look any further.  And speaking of looking for, this might be a good time to begin a folder dedicated to consolidating and backing up all these relics of antiquity.  Looking at the names of the files in that old folder, I can vaguely recall the naming convention I had used, nor the reasoning behind the purpose of the names.  It seems that I had tried to use Mod Tool to build a terrain, but although the map mesh object could be built, the ability to properly scale it, and then provide collision detection on its surface had become overloaded in extraneous logic.  I think my next option was to draw a map in GeoControl2 and then, ah yes, two bitmaps, land and terrain.  Terrain is the gray-scale heightmap and land is the Gaussian colored biome.  I may have found the precursor to this fabled Map of Many Things.

Four Blogs a Month?

Sure. – G’day.

January 6, 2013 Posted by | 2013 [0019] to [00??], The Process | Leave a comment