MyI@FarNiche

Building an XNA Game Studio XBox360 Indie Game.

[page 0031] ~ Can I Really:

 I think I can, I think I can.

It doesn’t seem that I can build a class and then have an ArrayList of those classes be accessed in this game, in this JavaScript immediate compilation mode.  Currently I am stupefied.  But I did get a bunch of crud muckin’ up the works.  Starting from an array of type class as class[] it will not let me build new of that type, i.e. myclass[maxindex].  I must be thinking in terms of c++.  I’m also getting a little home sick and am finding that C#, for all its nuances, is very entrenched in provisioning game code simplicity.  Days to go, can’t go back, can’t go forward and holding down the fort only ticks the time and lessens the larder. Big big hm.  Well it’s time to sweep up the goop and figure out if a user class can be declared in the namespace and instantiated in setup to be accessed in the draw method, all without hanging the loop.  This little red blood cell is definitely putting me to the ropes, yeowch.  I might need those smelling salts pretty soon.  As It would seem, building an array of that kind in the draw method is possible but if I’m going to do that I might as well just build another big Harry and let that suffice, more research.  And as I should have guessed, primitive datatypes seem to be the only array value holders that I can get to work as a declared array to use from namespace, that being “canvas-space”, to initialization to declaration to update/draw usage, yep, time for the big Harry Rag.  Or, bang goes that idea and let’s just run with another KISSing session.

Tinker … Tailor … Soldier … Sailor …

It looks like I’ll need to build some simple data strings and just hard-code this part.  But before anything like that gets done I need to fill in some more of the back story, just for fun.  Our adventurous little red blood cell, lets just say “Red”, knows the routine.  The pressure is either on when near the Heart or in the extremities, but in either case the mainstay of the ride is either in the Arteries or in the Veins.  It seems Red is somewhat more of a free-lance scamp than previously thought.  But to keep things simple, Red will be bound to those two confines, for now.  For convenience let’s just say that that’s home sweet home for our little Red.  Actually Red can be notoriously RogueLike, squeeging about semi-permeable membranes, but there is precious little time left to gamify those points.

Finally, a Beginning.

Streamonsters has a splash screen and so my game has a beginning.  All I need to do now is polish up the middle and figure out how it will present its end.  Then voila, presto change-o ala ka-zam and I have Februarys OGAM offering.  Notable note Java update: 7 – 15 just came about for an install, painless.  You know, it would do me well to add even a short label to my test displays when I am trying to see how the variables are updating in the canvas, boolean true or false, integer incre/decre-mentation, float precision and the like.  It would definitely help me to remember where in the code I should look so I can jump back into the game, no pun intended.  I need something for Red to do.  And transport of Oxygen is the mainstay and livelihood of Red.  With that in mind, Red needs a meter to gauge the capacity and transference of the Oxygen.  Bumping into or past the vein/artery system wall will release some and if too much is released Red will be thrown to the Bladder by order of the Holy Kidney, so be it.  This silly little game is actually a lot of fun to build, somewhat taxing, but fun and informative all the same.  Hm, control+z in Processing doesn’t take me back to the position of the undo so I’m unsure of what is undid. It does move the text page up and down, but not to the degree I have been accustomed to.  I guess I’ll need to work smaller.  Also the number of undo’s is unknown to me.  But it does build for the canvas and helps me do so, there is joy.  And more joy, the Big Harry works, in rehearsal.  I had to hard code the integer arrays, so far for the head, which lets my little blood cell move incrementally, and there was much rejoicing. Yaaaeee!  Now off to the two arms and legs, then that’s done.  Alright, what makes the Arteries change to Veins, really I should know this one.  What I need to do is use the BodyPart variable, which is the count of the array entries, and use that to split the journey in half because that is where, for all practical purposes, the arteries turn into veins.  Simple.  Now where is it?  Dividing an array counter isn’t a really good idea, but … yes it works and it isn’t halved as a counter but as an ‘if’ flag to denote when the halfway point of the little red blood cells journey is half way over.  What ever.  Back to figuring out the last of the body parts.  Oh boy is this great, I’d like ten thousand marbles please!  Ok, I just figured out how to use half as many arrays to get the same job done.  It was kinda scary, deleting half of the code to do the … , but it works just as well.  It seems that that halfway trick is only needed for the head.  Nope, I lied.  I am using that terminus trick for all the extremities.  Done, a head, two arms and two legs.  The color red for the arteries switches to blue for veins at the terminus, being where the arteries become veins.  More to come.

The Menu System.

Wow, I didn’t really know how to start building a menu, so like any good gamer I played others games and when they looked like they were understandable they became understood.  Seeing a menu and building a menu are two very different things.  But I’m just about done, I think I like to think that cause that’s what I was thinking earlier this afternoon, go figure.  The thing is its not just building the menu, its getting everything that the menu does, or is suppose to do, to do what it does.  KISS can only take it so far and then its up to … well, I’ve got two days left.  I’m not going to do an exhaustive hand-check on this game but I could try to do a logic flow and follow the booleans around.  Build it first, then worry about it.  OK.  Will do dad.  Do Dad? That’s a thing-a-ma-bob.  Yep, still remember that old chestnut.  And I can also get to understand just what all these variables do from where they are located in the program to be built into this wondrous menu system.  There really aren’t untold numbers of values that need to be zeroed out or reset, but there are more or less enough to think that there are.

Finish, Gloat, Tweet, Sleep.

Order is important.  My February game , Streamonsters, is done and the snow outside is deep.  The snow banks are even deeper. And with that,

Ding! – Thanks for Playin’. – (Charles Petzold).  Hero.

G’day.

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

[page 0030] ~ Two For the Price of One:

 Tick, tick, tick . . .

Still configuring my web site page so my “games” will have a happy home.  I’ve also resolved a couple of issues with the browsers I am using.  Chrome, in the Settings/Show advanced settings … at the bottom of their page, is a title called Web content which affords the capability to set the Font size: to Large and the Page zoom: to 125%.  Happy now ’cause the settings stick and stay.  But I have yet to find and auto-hide for their search tab, yep, right over the top of my page.  I still can’t find a way to have Safari keep my zoom view settings while running from instance to instance.  Firefox seems to hold its zoom settings more closely, it just updated to 19.0, more joy, and GitHub just had an update too.  Also my CSS issues with the browsers staying in a same visible representation sync across the board with my pages .css Layout/Format calls have been rectified, by me?  Really?  But they do all resolve and give the same look, for the most part, flavor is still subjective, in all four of these browsers.  IE9 deals with some rejection/safety complexes, golden-child/black-sheep, careful about the code, who knows what or why.  But in whole all is well, except for sound, in all.

Tweek, tweek, tweek . . .

A little bit more reading and research and my game page template is nearly … no … it’s never done.  But I may have come up with a new title for my game, Streamonsters.  And It just got a Screen Shot Saturday, yeah!  The game itself is starting to take shape, going from a “what is this canvas capable of”, to “how am I going to keep my tools strait as I build and use them” type of confluence-like scenario.  A virtual tool box is a really nice thought and concept but going from nothing to, “a place for everything and everything in its place” in one flail swoop … ok, it’s not quite “old hat” but I think I can deal with it.  And a nice pile of tools doesn’t make a game, but its nearer to the mark.  I’ll need a start, middle and an end to this game.  I think I have a thought or two as to what is in my game, besides a tool box o’ stuff.  I don’t believe that my canvas web game and my application GitHub game are going to be too similar though.  They may share the essence of the general theme but that’s about it.  It’s not about blood but when you’ve got a heartbeat at the base of the game it’s only natural to have blood about.  But to be specific the game is about one blood cell and the nice little life it leads while being pumped around the vein system.

First Things First, Breaks Over, Back to Code Hunting.

Boolean flags are an excellent way to deal with a perpetual loop system, but keeping track of them all, what they do, where they’re placed, if they are active or not, when they become active when do they become inactive, if they are set inside another flag loop, and if so, won’t be active until the outer loop is active, which will be when(?), and on … and on.  Me, the code hunter.  This might help, I’m building my first class structure in Processing.  I have a little red blood cell that needs to stay inside the vein system inside my body.  Start at the heart, move along to the extremities, hang out for a bit, turn around, get cleaned out in the Kidney, high tail it back to the Heart with what little oxygen I have left, take a quick respite at Club Lung and soak it all back up there, only to get ready to set my boot heals to a wanderin’, again.  And this has what to do with this class that I am attempting to build?  As stated, the cell needs a position inside the body and also needs a mechanism to keep the cell from being wisped away and into other systems tracks.  It seems that a stream of data that will set the cells tracks is in order.  Thus a class, that will hold each cell position and have the capacity to also be used as a Keyword to build an array, which will allow it to transform it into a series of data points that follows the path along through the body to each appendage and then back again, is what I am after.  I guess I could consider this to be my first pseudo-code event for a class in Processing, also.

Another Piece of the Puzzle.

I have already built a VectorSet which is a 3×3 square of mouse clickable buttons with eight arrow directions, up, down, left, right, and then the four diagonals between those four.  This helps me move my little red blood cell around the canvas, which is actually how I helped the cell built the body around itself.  Great fun, pretty smart, eh?  Now what I need to do is use that same structure to allow a data stream to manipulate that structure.  Simplistically, it would follow the heartbeat flag and at each beat the trigger would send one class instance of CellPulse data into the stream to update the draw method, retaining its value until the next update, yes, in simplicity.  CellPulse doesn’t give position data, it holds the indices of the 3×3 VectorSet that another method will interpret.  When combined, the red blood cell will have a path to follow because the data from the array of CellPulses will be read through the VectorSet where the draw method captures that data and assigns the little red blood cell ellipse to the position found by the afore mentioned process.

One Game A Month.

Time is short.  Seeing that these logic streams are headed over for a hook into One Game A Month, and now I actually have two games, and this challenge isn’t called “Two or More Games A Month”, I think I’ll just focus on one game.  My choice for this months challenge is Streamonsters.  Sadly though this game will have no sound.  “minim”, the sound library used in Processing, and thusly is in my initial game ASyncingHeart_II built in JAVA Mode, isn’t readily available in Processing.js, which is currently the game given on my site as Februarys offering.  “minim” is not accessible in JavaScript Mode, and so not through this months game Streamonsters.  “minim” is what was this first halves months efforts direction to figure out and be used in this months game.  So be it, some sadness.  Now for a little healin’ with the hurtin’.  Maybe I can get some background music in there somehow.  I’ve got to get back to my “One Game” so …

G’day.

FYI: The February game Streamonsters links to my FarNiche site, and though currently accessible, the game may be under revision until the start of March 1st, this coming Friday.

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

[page 0029] ~ Not planning for the future, just February:

One more Sketch.

Seeing that the #1GAM theme for February is sound and the way I’ll be going about building my game is through Processing, I’ll set this blog post up so anyone who feels the need to play my game will be able to run it in Processing.

My game is called ASyncingHeart_II and the meaning will become apparent in a moment.  The reason I use Processing now is that the team I was on for Global Game Jam 2013, was using this for our team game, Patient.  The theme was that of a heartbeat and a sound byte of a heartbeat was given to speed us on our way.  Giving this some thought and steeping myself in that idea, I decided to continue on and see what I could build.  Prior to GGJ13 I had no idea of Processing’s existence , so this little how-to needs to be taken from a standpoint of me as a freshie/newb.  The easiest way is to dive right in with the Getting Started page and let them do their best to explain what needs to happen.  As a follow through, there seems to be two main sites; Processing and Processingjs.  Bouncing back and forth between those two sites also seems to be inevitable so… I’ve found it helpful and that it works best when learning about how it goes, by working it like a sing-along and then to just run with it.  For a Processing type to pick for your machine, there are a couple of OS and system types to choose from, i.e. Win, Mac etc. 32, 64 bit systems, etc.  Then, to get accustomed with what they have to offer, many examples and small games accompany the language Reference documentation to become familiar with it and what its capabilities are.

Ready, set, …

By this point, hopefully, you now have the API/IDE up and running.  The two Modes I have been using in the API are JAVA and JavaScript, these are what my February games languages focus on.  In JAVA Mode, when the play button is pressed, the game plays in a console environment, while the JavaScript mode runs through a web page built in a client side server in a browser.  Once you feel comfortable knocking around in their samples, the next step is to take a short jaunt over to GitHub to get the game resources for this Februarys game, that being the source code, sound and image files.

My Next Canvas.

A couple of troubles I have come across, if you haven’t noticed, within the four browsers I am viewing all this gamification in, is that of cross browser coherence, having built yet another ‘canvas’ web game/exposition, VectorSet.  This ‘game’ is more of a what if or how about this, kind of game to get things in working order for the upcoming game challenges.  All that this game does is, in the upper right-hand corner, shows where the mouse pointer is on the canvas.  The only other thing it does, in the bottom right-hand corner, is show a matrix of vector icons.  When the mouse is over the vector pad, a text is shown above the pad giving the coordinates of the matrix icon that the mouse is currently hovering over.  Also, when the mouse enters the area of the vector pad, the corresponding icon changes from its Neutral position icon to a raised, Up, position icon.  When any of the buttons are clicked, via the mouse, a pressed icon, Down, is shown at that position.  When the mouse pointer leaves the vector pad area, the matrix text disappears.  That is all, wee!

Browser Chores, (wars).

Safari, on my PC, does not keep the text and object zoom settings from between an opened to closed to opened browser state instance.  But I can recreate the text and object zoom settings closely from how I built it as seen in IE9.  Although my VectorSet icons still get a little choppy at different zoom levels, i.e. not crisp, but not terrible, VectorSet still retains its intended simplistic beauty, for the most part.

Chrome ‘incognito’ mode gives me the top of the browser screen back from the extensions tool bar that has crept over the top of my webs page from the browser.  But then, I can’t just unview the extensions tool bar by clicking the faux Enabled check box in the Chrome/Extensions tab.  To reclaim that space I need to go into my computer and uninstall their extensions ‘program’, hm.  There is also, seemingly, only one zoom control, but all in all it works just fine in all settings, i.e. my icons in VectorSet retain their beautification, happy me.

Firefox does something quite strange with my VectorSet icons, they jumble the output when using the zoom object from View/Zoom/(Zoom In, Zoom Out).  And after setting the object zoom size, then clicking on the Zoom Text Only, a global reset of the whole page results, taking all the other previous zoom session zooms out of their previously set proportions, more hm.  I’ll deal with it all, somehow.

Just so I’ll remember, which is a small portion of what wisdom is, I’ll try to capture the recipe that is bringing all this side venturing about.  First off, on my PC the screen resolution is 1600×1200 to maximize the allowable monitor real-estate.  My main browser is IE9 with zoom settings of Text size at Larger and the overall browser zoom at 125%.  That’s the most comfortable setting for my eyes and the settings I use almost nearly perpetually, morning, noon and night.

More Rethink.

Seeing that this is a, “Hey, I’ve built a game, check it out!” and then get some Twitter feed back kind of happening.  I might as well change my own rules a bit and build two versions of this game.  One will be in Processing and get a toss over to GitHub with the other built in my site, ready to play.  But I seem to be torn at this point though.  Because Processing in JAVA Mode has great sound using ‘minim’ and sound is this months side-quest, I feel a need to have a game with sound.  On the other hand using Processingjs my game can be put to the web and is then readily playable, although the sound aspect will suffer greatly if not in totality, because web sound isn’t quite up to speed: see W3C, and The audio element, as a consistant standard across all browsers.  The simple, albeit arduous, solution is to build both.  Nine days left in February, sure, if its doable it looks like I’ll do it.  Yeah dad, “Build it first, then worry about it.”, get it, got it, good.

Best of luck to me, until then,

G’day.

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

[page 0028] ~ OK just get done what you need to to get some sound:

My Game Design Document, My Repo.

I’m really starting to love those ten things before I do that one thing.  And It’s like I have heard before, “… you will be dragged to that level only to be beaten with experience”.

Let’s dive right into my Feb game with the precepts:

What, is your name?  Sir Erythrocyte of Endocrine.

What, is your quest?  To seek the Holy Kidney.

What, is your favorite color?  Blue, no red aaah…agh!!!

But I’m getting ahead of myself.  And I, hmpf, I find myself heart broken, and a bit mystified, Erytrocyte deoxy to oxy v0.  That’s pretty much if not almost exactly what I was looking to do for my February game, very smart, sigh.

No choice but to pick up the pace, again.

It seems that I have a life expectancy of between one hundred and one hundred and twenty days.  It takes me some twenty seconds in between breaths and my main stompin’ grounds are the vein systems.  And from where do I come?  Why bone marrow of course.  Actually, I did take some college biology but that was long enough ago that my academic advisor says, [if I ever get around to achieving through my potential of degreeabilitivness as a state of my degreeabilitivity that, em-hm], I have also ‘grandfathered’ out of taking a foreign language when I do graduate, lucky me.  But, as any good red blood cell I find, it’s time for me to jump ship and get swept away with the tide.  Seeing that they, at Wikipedia, have already pretty much, if not exactly nailed the idea for the game board I was shooting for, it’s time for my February game plot to get a little rethink.  Garçon, another bottle of Château de la KISS please, if you will.

Whoa-ho-ho.

Long story short, my first and only “canvas” game runs on XBox with Internet Explorer.  How is this done you might ask?  Short story excruciatingly long, once upon a time …

Really, Processing is the API where I build and test a JavaScript game, the Processing.js <script>’s are used to “parse?” the code when it is in the web page and thusly in a <canvas>, CSS <link>’s are used to adjust the screen and HTML binds the whole thing together for navigation.  After reading a whole bunch of allot of books/webpages and digging through the given documentation, my site has its first click and play game.  Happy, happy, joy, joy, \o/.

Victory!  But, yes a caveat.

Running a canvas means a set height and width.  A PC might deal with this with a few simple clicks of the browser, but the XBox version needs some differing forethought, and testing, to present itself on the screen following the format/style and layout I have built to be my site.  Having this newly found “canvas” run on both the PC and the XBox has generated some substantial screen compatibility issues.  The canvas size is set internally within the JavaScript game logic setup code, also within the CSS formatting instructions and in the HTML used to provide acknowledgement to the page itself.  Digging out the sledgehammer and crowbar, I break and pry one of my old site pages into two new pages, one to run the canvas on the PC and one to run through the XBox.  Yes, this means building dedicated CSS’s so each will be formatted to a specific device, not optimal but doable.  But I just want some sound in this game I’m trying to build, apposed to ten more other things.  As a parting thought and a future search I am wondering if there is some sort of #directives in JavaScript.  The short answer is NO to #define preprocessor directives found in a precompiled code base, as JavaScript is an interpreted language.  I guess I’m somewhat doing a dry-run test/pseudo-precompile in Processing anyway.  Bang-Snap that idea, but the page would need to know what device it would be sending itself to and I think the device would be the one that is more concerned about what is being sent to it.  More whatever.  So much for having one HTML page with #include and #if device directive where this page then runs its CSS and script because of one browser type but if it is this other device and/or browser then run this CSS and script all from inside the same HTML page.  Browser wars precompilers and … maybe in Internet Explorer 10.

Work and Write, Preamble.

Let’s see if this works.  For the last couple of days I’ve been trying to get a canvas into my sites web page and have found that Mozilla Firefox v18.0.2 is very helpful when trying to find just how my CSS formatting is behaving in my pages.  In their Tools/Web Developer/Inspect, when the mouse points to an area of interest a dotted box outline surrounds the element in question, pretty cool.  The hints it provides shows how the layout of the page elements interact in concern to each other and brought my guess-work back to a more understandable set of pretenses.  After some fiddling around with the canvas and some other formatting issues I was able to test the “canvas” page in; Internet Explorer 9 v9.0.8112.16421, Firefox v18.0.2, Chrome v24.0.1312.57 m, and Safari v5.1.7 (7534.57.2).

Some formatting issues are, in IE9, which is my creation and base format, everything works as formatted, no issue.  In Chrome, which is the next closest format adherent, follows my CSS formatting but there is their search bar across the top of the browser, which I haven’t figured out how to hide yet, that eats into the top of my web page, effectively obscuring my navigation bar I use when running my pages in my PC browser, hm.  Firefox and Safari, in concern to the canvas object, don’t seem to keep the format when using margins and padding with the CSS I built and formatted for IE9, so be it.  I’ll just chalk that one up to me being a novice programmer with HTML, CSS, JavaScript and Processing/.js, for now.  But also, these last two don’t differentiate enough between the text and objects when using their text and objects zoom page tool features.  As you may have guessed, I don’t sit very close to the monitor and have a need to adjust accordingly.  From all this, I can see why, for my GS-XNA 4.0 XBLIG endeavor, I opted for only game pad interaction and then only having to deal with screen size as the next big obstacle, normal screen, wide screen, 720i, 1080p, 1280p, regular CRT, 1024×768, etc., yeah all that screen size stuff.  I’ll also be sticking with the XBox and not the Windows Phone platform.  That only adds too many variables in differing screen sizes, touch screen phones, pads, etc. and other compatibility issues.  But I will need to get back to my XBox game creation sooner than later, although this One Game A Month challenge and ongoing excursion has added a new twist to the entirety of indie gaming.

To the Point.

My February game, no, my March game should be able to be an on page, meal ready to eat, kind of game with instructions in the same page with scroll bars and probably some other neeto stuff.  But until then it looks like I’ll build Feb’s game in Processing, use “minim” as my sound import processor, get the code over to GitHub, have anyone who really wants to play the game load it into Processing to play it and call it a day.  To scry by these past days searches and researches has made me see March as becoming more “build the game” instead of “figure out everything else” so I can.

As a parting toss, my first “canvas” game is up and in my website.  The XBox version needs a screen setting of 1024×768 to look as intended in IE9 through the XBox 360.  It isn’t much of a game more than an exposition.  All it does is load the canvas object into the page and after it is loaded shows two sentences, one in a white font and one in an aqua font.  A mouse click in the canvas enlarges the aqua colored sentence to the point where it starts back at its initial size and also, every other click shows a large blue dot that follows the mouse pointer.  It’s not much in the line of hours of entertainment but that’s what it does.  The End.

Until the morrow, G’day.

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

[page 0027] ~ Gitting some sound Processing:

Install and config GIT?

I’ve already had the pleasure of flashing in a new BIOS on one of my systems so, with all things considered, this shouldn’t be too difficult, right?  Emacs!  Oh-boy, oh-boy.  Hm.  If you have ever seen the movie “Fight Club” there is a strange part about finding your Power Animal.  Why, I don’t know, but I’ve seen the movie and my power animal is Eeyore, sometimes Woodstock, but for now Eeyore who could chew through thistles.  But to get me through this I really hope they have promoted command-line obfuscation through an Icon Project for the “Git” windows version.  And from the way it looks, I will be digging out my old Unix books, wee, at least I still have them, “Just Enough UNIX”.  Great, I guess that it was fun back then so why not now?  Ok, after reading through their “Bootcamp” and watching their videos it makes a little more sense.  Another video The Basics of Git and GitHub, their black screen editor which he uses reminded me of the way I would need to peek and poke around my directories, back in the day, at the University.  But my editor was Emacs, the background was a very light cream color and the language was C++ code, .h, .o, .c, .cpp, make, tar, etc. files that used to make my head spin.  It also reminds me of when we used Pine for email, again back in the day.  Then there is some talk about Vimdiff which seems like a mutation of WinDiff, a file versioner that would check two files for changes, and again back in the day when Visual SourceSafe  was in vogue.  Another thing in the video is the off line storage which reminded me of the Windows briefcase.  All in all it still looks like I’ll be using command lines, keywords and switches, so be it.

“Time Gash” – Cosmic Encounter.

github:training in two minutes, no, wait that’s Mountain Time, and hour and two minutes.  All done.  I just participated, more like attended, in a webinar with GitHub using GoToMeeting, with a call sign name change to FarNiche, of course.  But all too soon it was over. That was an incredible run-through of Git and GitHub.  For me, seeing that I haven’t even installed GitHub for Windows, it was a somewhat fast paced meeting.  During the meeting it showcased the transparent nature and unobtrusive file versioning used where initial offerings are imported from various OS’s.  Then, how those contributions are forked and cloned by others where those contributions are further aligned by those who participate by project/organization within a progressive timeline.  After that they started to lose me as they began to run about saying how this can happen when that goes on and when you do this sometimes it goes this way but in other cases goes that way.  Another foot race, but I followed the concepts well enough as they touched on the major points with the subjects they encompassed.  Having the capacity to serve many repositories all from differing environments, and further, actively promoting propositions where the suggestions that are least inclined to break the build, become the proposals which are considered and then upheld or rescinded by the main branch contributor.  But in all cases the train of thought is committed as a growth node chain whose additive commitments fall in and out of pertinence as contributions and offerings that have the potential to be built in or are relieved from the build but are, at any rate, seen through a progression.  The ultimate tipping point in this chain is seemingly where the volatility of each composition weighs in through a mix of normative and positive judgment calls and thereby confirmed by recollection of the commentation about the contributions where it is finalized through, what I could liken to the “Boolean prime ideal theorem“, or more commonly “House rules“.  Now, all I need to do is to see how well I am able to load up GitHub for Windows and get on with it.

Hookin’ up Git.

My full system backup was just before the Global Game Jam 2013.  So now, and after doing a full virus and spyware definitions update with a complete disk scan, I’ll tackle this.  From my account select Help, then Set Up Git, then Download Git for Windows, the digital signature on the .exe properties are consistent, so here we go.  Right click on GitHubSetup.exe and Run as administrator, show information about this publishers certificate, This certificate is OK.  Install Name: GitHub, Publisher: GitHub.Inc.  Click Install.  37.9 MB.  From: github-window.s3.amazonaws.com.  And there it is, welcome.

Now what?

Introduction to Git with Scott Chacon of GitHub is long but it further explains what he thinks should be going on and it complements his book “Pro Git“.

Can I have some sound now?

From within Processing?

Uhm, G’day – To be Continued . . .

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

[page 0026] ~ Sound in my Web Game:

Client/Server side sound.

While utilizing both Processing and Processing.js there seems to have been a paradigm shift in the way the Processing code is brought to the web.  Processing.js, from what I have gathered thus far, is the way that the code is to be presented in, in my case, my gamers web page games.  Which of course means that Processing won’t be building me an “applet” and that it would serve me well to read up on HTML5, CSS3 and JavaScript.  Although this seemingly has little to do with my GS-XNA 4.0 creation of games for XBLIG, I still do need to tend to my own web creation and expansion.  In the long run this way side stop and scenic view is a good thing.  All this will also let me present my tiny games to those on One Game A Month with little to no hassle because it will be more closely aligned with the Princess Pea and Sir Mushroom game: Pathos.

A short bout with Chaos.

It’s snowing out.  I walk inside and find that there is a small tuft of snow on the tip of my shoe.  I stand on the mat at the door and pop off both my shoes.  While slipping off one shoe I lightly tap the tip of the snow on the tip of my shoe onto the kicker of the wooden door.  It moves from my shoe and sticks to the door.  I’m now in my socks.  With my socky toes I flick the snow off the door so the moisture won’t stain the wood.  But, in doing so it lands inside my shoe.  I bend to pick up my shoe to knock out the snow.  Now, when it melts outside my shoe when I go back outside my foot won’t get wet inside.  Stepping backwards to go about my day, in my socks, I step where some snow was left from the bottom of my shoe when I first came in.  Pesky Chaos, you just can’t win.

Out of the frying pan and into the fire.

It looks like this months objective is to build a game in Processing and post the code on GitHub.  I’ll have a game.  Anyone can view the code and run it in Processing.  It’ll meet two directives, a game to play and a link to the code to one game.  And it will make me sad that it isn’t a go-to page and mouse click to start and play the game.  Yes, this game is, like so many other entrants, and will need to have something extra to play the game, the installation of Processing.  Once again, my bad.  Hopefully March will bring about a web page game.  At this rate it might, but it will be a real foot race.  I’ve been going over some of the books that deal with the three afore mentioned technologies and the Processing.js site documentation.  It reminds me of when I initially started out trying to build my website in MS Visual Web Developer 2010 Express instead of using MS FrontPage.  I thought that using “W3C//DTD XHTML 1.0 Strict” would be a good idea because I could low ball the browser wars and fly in under the radar, which worked out pretty well.  But, along came Twitter and the like, (possible pun there), and found that the “Strict” Document Type Definition actually was very strict.  So now it’s time to swing way over to the other maximum of the pendulum and dive into that wonderful HTML5 “canvas” object, JavaScript, CSS3 and Processing.js and hope I don’t get lambasted.

The game plan this month.

Build a game in Processing and post the code in a repository, whatever that is.  At GitHub they said something about SHH keys, but its been a while (2005) since I’ve had anything to do with Bash, where I had to mix it up with Linux/Unix at the University, with some Windows Telnet and FTP using Internet Explorer just to debug the test runs in the School environment from at home, where then, I didn’t need to live in the C++ computer lab at school, “Those were the days …”, ugh!  So, seeing that it is always less fruitful to talk about homework than to actually bury oneself in it by doing it, it’s time to put this blog up and out and find what’s new out there, like reading, research, shoveling, doing some dishes, tea with honey and lemon, some small talk and then getting more game ideas into and out of my head.  Oh yeah, with some sound.

G’day.

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

[page 0025] ~ Profound Sound all Around:

Moose Juice and Goose Juice – The Sleep Book by Dr. Seuss

Processing is small, but I like it. It will also become my way to gamify myself within One Game A Month.  But, this blog will concern its self with how naked I feel while building the February game in Processing, in comparison to using my usual GS-XNA IDE.  **DISCLAIMER** – these are observations I have come across as I build, and may have solutions that I am not aware of at the time of this writing.  So anyway.

How things get done.

The syntax is familiar between the two programming languages and that adds to my comfort.  The help files given by both are uncluttered and easy to understand. The debugger in either is well defined and in general gives good guidance as to where I should look to find where my exception may be found.

The first thing of difference that I had noticed is in where the logic and render code is placed while constructing my programs.  In Processing and GS-XNA the include/using statements along with the declaration statements are still positioned at the top of the project class.  I have yet to find the implementation use of function prototypes, or where or why they would be used or needed in either.  C++?  My bad?  But in GS-XNA the Update and Draw methods are separated, while in Processing the code logic and draw methods are combined.  In either case some pre-thoughts need to be addressed as to the order in which the precedence of each code line should be placed.  A dual line of thought given for the codes step into and through with GS-XNA divides how variables and function calls are executed by the CPU, while in a separate thought and process, the visuals are consolidated and fed through the graphics pipeline and from there are given to the GPU.  And so the Update feeds the CPU with code logic while the Draw feeds the GPU with graphics.  All of this happens while GS-XNA tries to keep a sixty frame per second call consistency, while the logic is free to update within those draw calls.  In Processing the cycle of code iteration is perpetually captured by the draw method/function alone, and therefore, are both seemingly CPU driven.  These two types of implementation are intrinsic because of the IDE’s construction. Given these characteristics, they both express the ideals for which each of the IDE’s were constructed and for what each type of usage they were intended to convey.  Processing is simple, light weight, portable, easy to install and lends itself well to general coding practices, thereby claiming the title as a coders Sketchbook.  GS-XNA is specialized to speed the processes through which the complex tasks of: implementing a window to draw in, accessing the DirectX and other assorted Direct(?), porting a game from the PC to an XBox, and then, with further programmer desire and a subscription, submission of completed games to eventually reside in the XBox Marketplace.  In short, each has their own flavor and charm.

Things that are missing, and sometimes not.

In both, when a function brace is selected the accompanying brace of the selected function is also highlighted.  But, (this is where my nakididity becomes apparent), when I select a variable name in Processing, all the like named variables are not also highlighted within the classes page as in GS-XNA.  Keeping track, in Processing, of where all these variables are placed within the code page, for me, becomes unwieldy.  But this will only make me a better programmer seeing that, although my programs may be smaller, I will be more concise with the naming of each variable used.  Also giving the variables and functions more clear documentation by means of remarks, should again provide a degree of recollection because of repetition in the thought of their meaning arising from the connections I make in the comment about the variable, good for me.  Another concern is my use of global variables and the building of functions that take arguments, something that I haven’t gotten around to yet in Processing, but has come to mind.  Come to think of it, I’m glad I went back to the University for some formal code creation training in C++, the pressure cooker, broasted not baked, although grilled is definitely preferable, and of course in all cases, seasoned to taste.

Another thing I have noticed is that, in Processing, the code page doesn’t have any regions that collapse long code blocks and shorten the scroll distance like in a GS-XNA class page.  For example, in GS-XNA, when a large switch/case, or code block that is no longer in need of change and therefore has no need for further recognition, would then, because of an XML code page format with collapsible nodes, has the capacity to be hidden from view.  Something likened to that of the Wizard of OZ behind the curtain in that merry ol’ land of OZ, where things work as they should, “so pay no attention to that man behind the curtain!”  Somehow, I would presume, in Processing I would be able to build classes in different tabs to hide them, but so far this would only be a fleeting thought never put into practice.

Another thing that I have become accustomed to, in GS-XNA, is selecting a variable and either going to its definition or having all its references displayed in the “Find Symbol Results” list.  I think Processing will show me a lot about how I am used to making my way around the IDE.

Another thing, is setting a bookmark so I can quickly scroll up to where my variables are at the top of the class and then quickly scroll back down to the visual que of the bookmark on the left edge of the code page.  A break point works just as well when the variable is on another page and I have forgotten exactly where I need to go back to, just run in debug and the program breaks where I need to be, that is, if it compiles.

OK, this is a little weird going back and forth in-between Processing and GS-XNA, but it is kinda fun, something new to do, to do, to do.  That’s right, I need to get some music into this game.

Hm, it seems that if a key is pressed, in Processing, only one key will register, therefore there isn’t any chance of having a shift+(some other key) pressed at the same time.  Needs some research.

Eeeek! – well almost.

New in Processing 2.0.  It had seemed that it has lost its web ready capability but with a little searching, it seems that Processing.js has continued on along side it.  And like that, this blog will continue on.  With some sound, really.

G’day.

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

[page 0024] ~ Veni, Vidi, Somni:

Now that was cool, Global Game Jam 2013.

I had no idea of what to expect, and I’m glad I had no expectations, because as things turned out, I found myself intrinsically imbued with the entirety of the event.  The game works rather well, or well enough, and all in all, this GGJ13  has put me in a mood that should last me for some time to come.  A lot of good people, a great team, a fun weekend building and playing games, and some really excellent memories are what I have come away with.  And even though pushing through with lack of sleep, I need to say it was worth all the effort involved, and will leave it at that.  Perfect.

Green Eggs and Ham – Dr. Seuss.

During the GGJ13 I learned of a new way to accommodate the K.I.S.S. approach for my One Game A Month challenge.  It is Processing.  The syntax is comfortable and it is a feather weight in comparison to my .NET/XNA flagship that I have been navigating about these gamified waters.  Processing runs itself like a little Sketchbook, keeping track of ideas as they pop up, like a computational notepad.  Keeping code small is the best way, with short incremental builds where the debugging ideas are kept only a few steps away.  And yes I do like Processing and XNA (a.k.a. Green Eggs and Ham), I really like them Sam I am.

A very short blog.

G’day and Good Night.

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