Building an XNA Game Studio XBox360 Indie Game.

[page 0007] ~ For The Continuing, of Course, SpaceWar Conversion:

A couple of those “WOW” moments.

Windows 7 and Microsoft Visual Studio 2010 Express for Windows Phone:
When in debug mode and break-points are set and Enabled, the game runs to the point where a break-point is encountered.  The game stops and at that point I can begin to step through the code.  But now, I can also hover over the game icon button in the taskbar and then over the thumbnail of the game that is now stopped but still running in the debugger, giving me a snapshot of where in the game what is now taking place.  Before, there was no way to get a view of the game while in a break-point pause of the game.  This really helps to be able to see how particle emitters and other game objects are performing as the code moves along.  By design or dumb luck, I like it.  Very wow.

Another very cool and neeto slice into the background workings of the logic going on under the hood of the running code, is pinning a list-box with the variable name and its value right next to the logic that is manipulating its value.  The value text color changes as its value is varied by the logical steps in the code.  Having these tools to verify each step of line logic verses value update with integrated arrays, well, . . . again much, much wowness.

And to top it off, App Hub, for the Indie game builders of the Xbox360 the .ccgame file size has become a 500MB maximum game file size, the number of games is now upped to 20 and the points for the 150MB game size have been lowered.

Now, a montage of old bits and pieces, So What’s New.

The short and long of it is, BasicGameSize, for all I know may not even have been compiled yet;(which is to be the successor of HUDOn).

I’ve gotten SpaceWar to run on the PC but not on the Xbox360.  It uses a different IO stream and storage protocol, i.e. some flavor of the compact .NET Framework on the Xbox360 along with the GamerServicesComponent which connects to other services, and therefore needs some retooling to be able to create and access the startup game files.  While working on this 2D game it has turned it into “SpaceWar II”, giving it a new GUID# and namespace which won’t overwrite my older milestone edition of SpaceWar.  A few things needed to resolve this solution into a combined project are the RolePlayingGame, StorageDemo and the GameStateManagementSample.  Digging into a combined project of this sort might reveal an avenue where save protocols could find a way to enable the opening and saving of data to SpaceWar II in the platform used by the Xbox 360.

As for the Archived SpaceShooter, it seems that that games direction was more in line with incorporating HLSL or some such in the graphics pipeline.  GS4.0 changed the way graphics are read into the graphics pipeline, so going from GS3.1 to GS4.0, the planet textures became incompatible with the new interfaces now provided with GS4.0 graphics protocols. Yes, Vestiges, but visually when it did run or still runs in GS3.1, graphically is still a very cool game.

It only looks like a different direction but it’s all still going the same way.

GS4.0 RPGGame.
First just “Build” the project, then, press (F5)Start Debugging, because it seems to need to be built before hand as the StartUp project before its deployed.  Something doesn’t get built if it is only built with the debug command while being initially built and deployed as an Xbox360 build.  Then the GS4.0 RolePlayingGame Builds and Loads into the Xbox360 which means that the Save and SaveAs also work, and they do.  GameStateManagementSample also runs on the Xbox360, but does not implement any saves for any game data.  So it looks like this will be my stompin’ grounds for a while.

And it is, as I have found a case, where when playing the RPG game, a character joins the Party.  When the screen is exited then reentered, that character is re-created in the previous spot from the original position.  The character is not removed from someplace or given a Boolean false to deny a reincarnation.  In public void JoinParty(Player player) I commented out the two Exception if statements but then the characters kept being added to the character list, where the array where it is stored finally over ran its length and the program crashed out.  Then, uncommenting the two Exception if statements, I placed the code that was to run after the exception check, into players.Contains(player) and made it an if Not players.Contains(player) i.e. if (!players.Contains(player)){ then so forth};.  This works except that the added character is always at the point in the map where that character was first encountered, but now it is not added to the players party because there is a player of that type and name in existence.  It’s sloppy and very counter intuitive but I get it and it gets the game to run.  I’m after the ability to learn how to save game files anyway.  So all is well, kinda’.  It also seems that when the final quest is completed not all is reset, what is reset, I don’t know, because once again while continuing to play the game after the final quest has been completed, the duplicate Party characters are still visible in their original starting positions and when encountered again, added to the list, which causes the game to crash.  But again no biggie, for now its just about the file save and load.

Man, that was long in the tooth, for only beginning to prepare the way to extract and infuse the IO ideas from those samples.

So what happens next?

Capture some of HUDOn and get it into the VLOG.  Then splash around in the RPG Game and find out how it does what it does.  Probably start a new project solution to incorporate Save, SaveAs and Load, i.e. Storage, within the GameStateManagementSample using XML readers and writers.  And in the end, figure out how to get the XML files to load in SpaceWar II so that game can get into the Xbox360.

Adieu? Adieu!

February 3, 2012 - Posted by | 2012 [0006] to [0018], The Process

No comments yet.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s