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!

Sunday, March 18, 2012

Is Amalur Fun?


NOTE:  THIS POST INCLUDES SPOILERS!  Don’t whine and cry if anything gets ruined for you.  A fair warning’s been given.

To start, Kingdoms of Amalur: Reckoning is a newly released game that was fairly hyped prior to release.  It was elevated to the lofty heights of a title like Skyrim, supposedly offering an alternative to the massively engaging world of Tamriel.  I had the pleasure of playing Amalur’s beginning and immediate end.  Take this however you may, but I feel that is enough to judge this game’s entertainment value.

As Kingdoms is looking to go toe-to-toe with Elder Scrolls, it’s only justice to rank one against the other.  Concerning the player selection and customization screen, the options are quite limited for Amalur; there are at most a dozen or so different, predetermined options for each major facial and body feature.  If a want is present to fine-tune a nose or an eye or a color, that want is neglected.  Skyrim doesn’t have this problem at all, as there are, shall it be said, many, options for every physical trait.  The selection for a general player are also skimp; with only 3 paths of performance available, a player is forced into choosing a career path very early on, lest every move made is rendered useless.

After selecting a character, the classic amnesia mechanic takes over.  You know nothing, everyone around you knows more than you, and the player is victim to good intentions and malevolent purposes both.  The narrative is nothing that a semi-versed gamer of the fantasy genre will not have seen before – predictable, cliché, and generic.  Only hope for the bedraggled good-guys?  Check.  Only overpowered super soldier that can use everything without any training?  Check.  Black-and-white world morals?  And check again.  For a game to act as a competitor to Skyrim, a cookie-cutter story is in no-way an asset.

Now, though what some might call the “meat” of the game was skipped, the conclusion of Kingdoms of Amalur is possibly the only bit more of the game a player may wish to play all the linear way through.  During the inevitable climax with the emperor boss, who has an army of many thousands, fights you on his own.  The battle is OK, though the pattern of attack is easily figured out.  However, the war isn’t over; a twist is that the emperor isn’t the main threat.  An imprisoned dragon is the power behind him, but is hardly any more of a challenge.  In short order, the world is saved in a classic good-vs-evil wrap-up.

To tell the truth, Kingdoms of Amalur ‘s simplicity in execution is refreshing.  Usually such play is not nearly as polished as this game, but once that fresh breath is taken, Amalur leaves something to be desired.  The experience is further trounced by the hype the game had prior to release that wasn’t delivered.  Oh well.  I’d personally judge this as an average game.  Play it yourself if nothing else is around, but don’t expect a world-shaking experience.  Remember, life is too short for tasteless things!

  • + Colorful composition.
  • + Responsive controls.
  • + Uncomplicated decisions.
  • + Refreshing simplicity.
  • - Linear level layout.
    • A fix: loop sections of the world together in a branching-path design.
  • - Too familiar enemies and environments.
    • A fix: Invest in increasing the visual asset library.
  • - Lacking drive in the narrative.
    • A fix: Give room for writers to implement some truly original ideas.

Sunday, March 11, 2012

A Slow Vacation - Mami Update


Well, here it is.  We’re at the end of the week of Spring Break.  And as I update my version control for our project, the log shows only 2 updates: a file I myself created and a single other document.

So, what did I submit?  Well, I created the newest version of our main executable Flash file.  Implementing some tested deletions, I cleaned most of the filler pieces and test objects that have been hanging around since build 1.  Double-checking my changes, the team’s main file is much leaner; it’s not a lot, but it’s at least something to better the project as it is.

The other file is an idea doc of a few thoughts that 2 other members constructed.  I admit I’m a pretty sorry excuse for not reading it, but the summary is that it covers a slight bit more on a puzzle type we’ve been playing around with.  If it works out, it can be utilized in the current level layout plan; if not, we have 2 other puzzle ideas to easily take its place.  Hurray for options!

Despite the efforts taken this week, the projected jump in position of our workflow has been a little limp.  However, please, as a reader, don’t take this as bashing; rather, take it that this is Spring Break at the school, and that any work done is more work than what would have been asked for, given the circumstance.  And, if anything, Team Squaybies should be refreshed and ready to go come this next week.  With a month left of development, Mami is well on its way!

If you have any questions or suggestions for either the game or the development team, or would just like to chat, don’t forget to comment.  I promise to keep updating, and definitely hope that you take care until next time.

Friday, March 2, 2012

Prior to a Break - Mami Update

Next week is Spring Break, and students will do as students do – disperse to the far reaches of anywhere and everywhere.  Despite fun and relaxation, the production process doesn’t cease to plod on.

This next week is hoping to see at least 2 stories from our compiled list finished up, which will accelerate Mami’s development; prior planning has Team Squaybies finishing 4 stories per week without including Spring Break.  That, with the final stories queued by a teammate and I, the content-lock that’s scheduled for April is within reach.  A few Skyped team meetings during the break will allow for regular check-ups on any progress made.

Enough talk of next week.  This last week has had 1 story finished at the time of writing; I’ve coded node collisions for use in the main game that call a function to do whatever-the-heck is needed in game.  The nodes will help facilitate a tool to include puzzles within the playable level.  I’ve also started going through a copy of the Mami executable to test the elimination of various Library assets in Flash; there is a lot of junk!  Taking the initiative to start this has made me feel like a real Senior QA.

Other than Spring Break Mami plans, and the slow pace of this last week, nothing much is new.  Team Squaybies is still strong, and it is hoped that momentum is not lost over the course of the open week.  What are your plans for Spring Break?  Whatever they are, take care, and I’ll be writing blog posts throughout the week.