Jimmy Chattin - I make better games.

Friday, March 30, 2012

Games for Fools - Mami Update


Wow – what a week!  Enemy distance handling, tile loading quality assurance, and a big fair to boot.  It is safe to say that some Mami work has been done!

What do I mean about “distance handling”?  The enemy spirit object that rests on the stage patrols a static location just fine, even with the screen scrolling, but when it comes to registering where the player is and the relation the character has to the object is a bit funky.  Over the last week, the other programmer and I learned a lot about Actionscript 3’s location functionality; our player’s position locally – player.x – and globally – player.truelocation.x – stays the same at a range of the screen.  The change is also skewed as that anything that is represented globally is double what happens locally.  To say the least, the enemy is having glitches on telling what the player’s location is.

The main programmer is gone for the weekend, so our project manager and I practiced good QA skills; we broke things.  After exiting the introductory level, it appears that a few of the objects of the intro remain in the next level.  After removing a few of the offending collisions, it became noticed that we start not at the start of the next level, but exactly at tile ‘n+1’, where n is the number of tiles prior to the level change the player encountered.  The solution: send the setup of the level an integer to compensate the offset position, placing the player in the correct tile.  Ta da!

Now, Sunday is April 1st, All Fools Day.  This year is having the 2nd annual All Fools Day Game Fair, where the Game Design professors nominate and sponsor various games being made or conceptualized here at the university.  With both Mami and Perpetuam Memoriam being nominated, I am well on my way to loving the heck out of this event – mass free game testing!  Mami will feel quite clean after this, and Perpetuam will get its first public appearance since Global GameJam 2012.

Other going-ons with Team Squaybies concerns moving finalized vector assets into the game and removing the lack-luster filler blocks.  My level layout is being placed into the primary level of play to give a dynamic sense of progression through the world.  Further, I do believe that certain animations and attacks are finishing themselves quite fine.  All in all, the work can be called progress.

I’m unsure of what will come in the next 2 weeks; Easter is going to most definitely be a jam in the flow of things getting done.  But, if this week and the pace we’ve been setting in both Team Squaybies and the Perpetuam Memoriam game is any indicator, the end of the spring semester is going to see 2 finished projects.  Woot!

Well, I had best get back to programming.  Enemies, platforms, and code-cleaning… Take care until the next update.

Sunday, March 25, 2012

Perpetuam Memoriam is Back!


OK, boys and girls!  Remember a little event called Global Game Jam, and a game I spent a little time helping make during that weekend?  A Perpetuam Memoriam?  Well, stop holding your breadth – it’s back!

What does that mean, being “back”?  Nearly every member of the original team is getting their act together, and with the help of a new digital artist, the game is going to manage its way to v1.0.  A bit of open source from a published game, LarvaMortus, is going to be a bit of help as well – check it here.  Though it is an earlier version of the Torque 2D engine that the team is working in, it should at least provide quite a guideline to solving our issues.

Perpetuam Memoriam is having a few blocks holding-up progress: shadow dynamics, enemy production and placement, further level layout, and new art assets.  Our chief leader and programmer is trying to optimize the shadows, and Larva Mortus has minimal application as far as he can tell.  Though a lot of our work is done on a forum, check out his blog for some of his work.  I am recording how to handle AI creation and definition within Torque – it’s no walk-in-the-park like a C language or Actionscript 3; a whole new frontier!  The levels are undergoing a nearly complete refresh, since moving in 4 directions of gravity skews the normal flow of level progression.  And art?  WIP, but I personally have great confidence in our new teammate.

Anyway, I hope to keep you semi-regularly updated on the progression of Perpetuam Memoriam as we move to v1.0.  Though currently on v0.8, there’s no guarantee that development will be too quick; college students, no compensation, and internet distractions are all put-downs to the project.

Wish us luck.  Again, check out both GGJ ‘12’s PerpetuamMemoriam, and Larva Mortus, which is available on Steam.  Until next time, take care!

Friday, March 23, 2012

Move Your AI - Mami Update

Did you know that basic AI algorithms are really easy to code?  Did you know that the difference between a global location and a local point in Flash Actionscript is a pain, especially when the loaded section of level is dynamically moving?  This is what has been happening on the code side of Mami this week.

Mr. Boyd (a fellow with much practice behind AS3, and Team Squaybies’s main programmer) and I have been teaming-up on getting the first iteration of game enemies to effectively patrol, chase, and return to their starting positions.  The patrolling is very easy, and the enemy scrolls effectively as the screen shifts position.  However, the main concern at the moment is handling chase sequences.

To chase the player, the enemy checks its global distance on updating to the player’s global position, and if it violates a range of attraction, the enemy is to go to the player’s location.  If the player runs away, after a set distance, the enemy is to return to where it started and continue patrolling its little area.  The issue is that there is an inconsistency between the difference of player and enemy on a global level; the quadtree design is not handled on any forum or board (at least those that show on Google’s first page!).

Even with a little bit of setback, Boyd and I are well on our way to finding the solution.  With various checks of location and difference, we are narrowing down the possible culprits of causation to our issue.  Hopefully on Monday we’ll be done with this story, and can move on to further programming needs!

Take care until that update.  Be prepared for a Perpetuam Memoriam (Global Game Jam ’12) update very soon!