Jimmy Chattin - I make better games.
Showing posts with label AI. Show all posts
Showing posts with label AI. Show all posts

Thursday, June 7, 2012

A Nostalgic Anniversary


  • + Rebooted graphics that render a stunning visual performance.
  • + An epic score re-mastered into a further state of enjoyable sound.
  • + Re-engineered A.I. gives a better challenge and a better help.
  • - Geometry that remains in a subpar state from the original game.
    • A fix: Determine the worst offenders for level instability, and edit it to solve the issue.
 
With Halo 4 coming, a lot of attention is being directed to the future.  E3 is in full swing, and all eyes are ahead.  However, let's take a look back to last year's anniversary of the Halo franchise, a nostalgic romp through a familiar but… different adventure.  Halo CEA is quite the HD remake!

A big eye-catcher is the ell executed visual improvement the game makes on the original title.  The level of detail is worthy of current-gen technology, while vibrant re-texturing makes the sights beautiful, the enemies fierce.  The quality of looks is lost, however, because of the geometry; as the modeling was at times broken in Halo CE, Halo CEA didn’t handle any of these issues.

Halo CE is a game to just plain listen to; re-mastered scores, sound effects, and dialogue in Halo CEA are even better.  Gunfire is powerful, explosions are stellar, and enemy death-screams are most satisfying.  Be sure to give some time to just listen to the ring-world of Halo CEA.

For anyone who’s played Halo CE, remember how A.I. in the game did not know how to drive?  This game fixes this!  Smarter A.I.?  The anniversary title answers the call.

The Halo saga is deep in content, with no end in sight for new adventures.  While waiting for new content to come, Halo CEA does supreme justice to revisiting a familiar journey with a lot more than mere polish put into it.  If you are itching to get a Halo fix before the next Halo game arrives, this anniversary of a gaming staple will work wonders.

Thursday, May 17, 2012

Pay the Dues to Majesty 2


I need to thank a friend of mine for going to the Game Developers Conference.  From his trip, I was able to snag some of his swag in the form of a Majesty 2 key.  Let me start by saying I’ve never played anything like Majesty 2, and rarely anything as difficult.

The game takes itself really light-heartedly.  Very quickly a player will receive funny quips and witty writing for everything from dialogue to loading screens.  Keeping the humor refreshed throughout play, Majesty 2 delivers a balance of easy attitude to counter the intensity of play.

Real-time strategy games are usually characterized by being plagued with micromanagement.  Unique, self-reliant AI of individual units that negates detailed supervision is both a blessing and a curse.  Your heroes can handle tasks by themselves by healing, fighting, and retreating fairly well.  However, when you are in a tight spot, or require something to be done immediately, your troops can be a bit fickle, getting either themselves or your base killed in pitched battle.

Further discussing units brings-up the point that some units are just not useful.  A hero may just be too expensive, or too weak, or not capable enough until a given level to provide the right amount of support to your army.  I found myself repeatedly going back to a 4-class system of knights, rangers, clerics, and dwarves; there are 13 classes in all.  That amount of excess that just doesn’t seem to have much of a place in the game makes the game appear to have not been completely thought-out.

The base your army is hired to protect grows.  Majesty 2 does an excellent job making your settlement seem alive, as all non-essential buildings pop-up around the fortress you make.  This leads to not base being the same another time through, while defenses are also needing to be dynamic as pesky rat-spewing sewers are randomly placed as well.

Time is relative, and Majesty 2 lives this to the fullest.  Full control of how fast the game flows is unimaginably useful.  Speed the construction of buildings or a drawn-out battle, or slow the chronometer to handle full-on assaults in the fantasy world.

Speaking of time, most missions won’t give you enough of it when the baddies come calling.  The game is just brutal.  Enemies never stop coming, and mass attacks can leave your defenses beaten and broken, with your heroes strewn about the battlefield.  Some of the bosses are also sincerely unreal; one-shot kills blow through even the toughest of troopers.  Because of the intensity of fighting can be so much, reliance on slowing game-time and much trial-and-error is a must; even then, the best preparations may not be enough, leaving luck your only friend/enemy.

I had fun playing Majesty 2.  The easy nature of the title, unique AI management, and living worlds create an experience no other game in recent memory delivers.  However, even those prepared for a challenge will find that the computer has an unfair advantage, and relatively useless hero classes don’t help.  So, I guess I can only leave you, reader, with a warning with this title: go into Majesty 2 expecting a good delivery and an experience not had before, but do not get too frustrated at what the game may pull on you.  With that, take care, and farewell!

  • + The funny quips balance the intensity of play.
  • + Micromanagement of units is a non-issue due to self-reliant AI.
  • + Time control of gameplay.
  • + Dynamic settlement growth creates a living base.
  • - Some heroes are just not useful.
    • A fix: Run-though balance issues such that all characters balance and can be effective if used.
  • - The game is hard in an unfair way.
    • A fix: Rely less on cheap mobs and lots of hit-points, and more on refined AI strategy.

Friday, May 11, 2012

Into My Frying Pan - Personal Post Mortem

I’ve mentioned in my previous post that Mami is a good game, with a strong team, that did a superb job in the game projects course.  However, it could have been so much more, and I share that burden despite my work, or because of it.  For a summary of what I think I did well (or not), see the end of the article.

On Team Squaybies, I was titled as the QA Lead, allowing me plenty of room to delve and assist in every aspect of the game.  Through development, nothing lacked a bit of my touch.

In the beginning, early god-bosses and enemies were needed.  Team Squaybies brainstormed a breadth of designs and characters, and I directly assisted in making a few.  Using an industrial production process, the pieces were turned-out very quickly with decent variety.

To help secure the direction of the game, we had to illustrate what was wanted in Mami.  To do this, all of Team Squaybies contributed to the game design document, with me as chief editor (spelling, grammar, inconsistencies, etc.).  Taking it from there, my QA instincts took hold, and I had a number of outside individuals read through the premise of the game, and took changes they suggested or loved to the group, implementing them appropriately.  In anti-climactic fashion, the document was never touched again, but I bear it on myself for not iterating the five letter word of every project: S-C-O-P-E.

For most of the year, I ended-up doing little programming features and research to assist the work of the chief programmer.  Being as unfamiliar as I was with the ActionScript language, catching-up to the employed skills of my friend made the impact of my work fairly small.  Slow work and low impact features are my downside (though I know AS3 so much better now!).

However, other than the chief programmer, I was the only other team member to actively program within the game.  Making the necessary changes to effectively fix minor issues that arose sped production processes along.  With the research I conducted, enemy examples and coding parameters were found, and a shadow system was discovered that is in current use within Mami. So, with all that, those contributions can be a plus on my part.

Now, let’s cover some items of a more superficial nature.  In teamwork, many times I became short with other group mates, and that is inexcusable.  On attendance, the chief programmer and I have the best showing of the entire class!  Concerning work ethic, I would rate myself above the average, in that I did not waste work time Facebooking, perusing Imgur, or reading Reddit.  That, I would state, is possibly my best trait given to Team Squaybies.

Well, there’s my frying pan.  I make no claim to be unbiased, and really do welcome your input in the comments section.  For my failings, they were wrong, and I can only hope to never make the same mistakes again.  Concerning my achievements, I don’t think that aiming to do better is out of my scope.  Again, please comment what you think down below, and take care for my next post of Half Life.  See you then!

  • + Being there to benefit every section of the game.
  • + Designing and carrying-out a number of visual concepts of possible characters.
  • + Spear-heading needed quality assurance with industry-grade detail and procedure.
  • + Actively programming features in ActionScript and finding asset examples for implementation.
  • - Repeated failure to raise the “scope” flag enough.
    • A fix: Scope!  Set conservative deadlines, believe attainable goals, and work on details after the main design is satisfied.
  • - Slow, plodding programming work.
    • A fix: Know what engine will be used prior to entering the project to catch-up on code writing.
  • - At times, short with other team members.
    • A fix: Patience is a virtue.

Saturday, April 28, 2012

The Broadness of Dragon's Dogma


It seems to be the only thing I finish these days, but here is another demo analysis.  This time I spent not more than 45 minutes in Dragon's Dogma, but found a lot interesting about it; the game has a very familiar feel, but changes the formula to offer a new breadth of experience.

That familiar feeling I reference is that of a widely popular title, Dark Souls, only without the hair-pulling difficulty.  Anyone who has picked-up Dark Souls will find the presentation very similar, and makes for a quick transition into the world of Dragon's Dogma.

Speaking of difficulty, the demo was not tough in any way, shape, or form; a bit too easy, in fact.  With epic monsters of scale and ferocity, battles felt hollow, as all conflicts devolved into rabid button-smashing party.   And with the allies (known as “pawns”) the game gives the player on their journey, those NPC’s do their job well, making any fight very one-sided.

Movement is quick and fluid in this world.  I felt, while dashing from halls to vast chambers, climbing cliffs of rubble to new areas, ect. was well executed.  While running around, I can’t help but mention that the graphics are top-notch.  Fur and flesh, cloth and steel, rock and brick all are rendered in eye-pleasing fashion.

Now, if only sound followed the route the visuals took.  Physical actions taken leave nothing in the ears of the player, making it seem that the virtual warrior-avatar is more flying ghost than human.  NPC’s are also a very talkative bunch; they give you hints and notice of their actions towards you (healing, fighting, etc.) but talk over each other in such mass, that, especially when engaging an enemy, speech just becomes a mass of neglected gibberish.

I have to admit that I enjoyed the combat system the most, despite button mashing.  Quick attacks flayed my opponents with due haste.  If an ally grabs an enemy in a brawl, the game gives a bullet-time effect letting you know to skewer the poor sap in the clutches of your buddy.  Some of the bigger monsters require you to jump on them, crawling up to slay their menacing hides up-close-and-personal.

Overall, I had fun with Dragon's Dogma’s demo.  It could have been longer, and is in need of a tweak here and there, but this is a demo, and even the issues I had didn’t ruin the experience for me.   This game drops in May, and from what I can tell, it will be one worth picking-up.

This week is finals here at school, so I may not be around for a time.  Don’t worry – I’m nearing completion of the original Half Life, have some news about Activision, and will be needing your insight on a game being constructed in a few months.  Take care until that content comes rolling out.

  • + Familiar style for players of Dark Souls.
  • + Smart and effective NPC allies/pawns.
  • + Smooth controls, whether travelling in the world or battling its denizens.
  • + High-quality graphics.
  • + Ease of getting into the game.
  • - It is easy to delve into button-mashing, leaving no room for skills.
    • A fix: Make for more aggressive enemies that will adapt to melee patterns.
  • - Dialogue is all over itself.
    • A fix: Include a code check to limit the chattiness of NPC’s if others are speaking.

Monday, April 23, 2012

Beta Weekend - A Hell of a Good Time

Guess what happened this weekend!  Diablo 3’s Beta servers where opened to everyone on Friday, and boy-oh-boy, did the public participate.  Though I don’t have any official figures, I’ll give you my impressions of all the classes and the new Diablo game in the context of the beta’s presentation.

First off, the Diablo game as a whole feels a lot like the Diablo 2 that I remember; loot is plentiful, gold drops like candy, dungeons are random yet familiar in reruns, and enemies explode in the beautiful explosions that upgraded graphics allow for.  If the production-build of Diablo 3 merely keeps these feelings of nostalgia that the beta offers, Blizzard will have a smashing hit (though I’m not saying that it won’t be anything but).

The 2 qualms I could find with the beta’s setup is that during play, the “normal” difficulty – the only challenge level offered – was by far too easy, and that the dialogue was shameful.  Nearly every character class burned, beat, and blasted through undead hoards like a hot knife and unholy butter.  It was nice for getting through the entire content of the beta on my first play-through, but it left me wanting more.  The dialogue was not something a company like Blizzard should be giving – cliché statements, bare-bones explanations, and the most dry feeling behind the lines delivered gave the sense that this was a student project that did all the voice acting with the programming team.  A man needs to kill his wife because she’s going to turn into an undead?  I’ve heard better emotion from someone killing an insect.

But how did the classes handle?  I beat the beta with the witch doctor, playing for about 3 hours to reach level 10.  After that, I played every other class for roughly a half-hour, each one conveniently reaching level 6, and stopping before entering the crypt to find a crown.  With that in mind, my review:

Witch Doctor – My first pick was chosen because it could summon.  With spiders and demon hounds, no-one could touch my character, since the mobs agro-ed the spawns.  The downside is that the summons don’t do a lot of damage, but they make that up in the number of creatures you can create, along with the area denial effects the witch doctor brings to the game.

Barbarian – The only “hardcore” character I created (if I die, I die permanently), this is definitely a damage class.  Though the first few levels leave the barbarian soft to blows, after getting some armor, the damage that the class deals-out more than makes up that bad feeling.  However, there was an imbalance between the solo damage abilities and the crowd control attacks; it just felt off.

Demon Hunter – The best thing I can say about the demon hunter is that the range on this class is quite superb.  This leads to superb crowd control, as the traps and devices that go along with the special attacks really keep all mobs under lock-and-key.  The regular “click” attacks are a bit mediocre, but I must mention that this is the only level 6 class that I wanted to continue on with to get more abilities.

Monk – Now let me introduce damage, I mean the monk.  If you can’t guess, the monk is quick to hurt others in a brutal fashion.  I can’t tell if the monk is susceptible to taking a lot of harm itself, but I was burning through enemies so fast they couldn’t land a blow.  Despite the lack of any sort of ranged attack or ability, I did seem to destroy enemies faster than any other class.

Wizard – One thing I noticed about this class is the number of critical hits delivered.  That was handy with all the ranged abilities, but the wizard is the only class I found that had a semi-ranged attack: a lightning bolt that only reached a few yards.  The attacks were very slow, and not that powerful.  Poor damage per second is not a good compliment to a soft character; my least preferable class.

So, with the Diablo 3 beta now closed to the public, and the game set for launch May 15th, I can say that I had an enjoyable time.  The classes are varied and distinct, with all the great characteristics that made D3’s predecessor one of the best games of all time.  Given the good qualities of the beta, the nagging let-downs of dialogue and lack of challenge in the design this late in production is disappointing, especially with a title coming from a company like Blizzard.  All-in-all, I had a good time with Diablo 3 and I look forward to the launch mid-May.

Take care, and I’ll see you in Hell!

  • + Distinct and varied classes.
  • + Random dungeons.
  • + Plenty of loot and mobs to drop it.
  • - Poor writing of dialogue with sub-par delivery. 
    •  A fix: Blizzard has the assets to invest more in script writers and voice actors.
  • - Dumbed-down difficulty.
    • A fix: Respect the skill of the player and give more imposing enemies; it’s Hell on Earth!

Friday, April 20, 2012

Program All the Things - Mami Update


I’ve recently promised to provide some code samples from our work on Mami, and have been talking about it even longer than that.  So, without further ado, le program:



Let’s start with some puzzles.  Above is the triggering code for the puzzles, and below that is the platforming code that handles various collisions with specific blocks within a level that open doors/grant recognition for this, that, and the other thing.  To reset the platforms, a simple timer will be used.  Easy!


As you can see, the implementation of special “shards” is a bit sparse; their collection throughout a level would activate various bonuses, but creating and managing another array within the game is currently being put on the back-burner.  The question is really how we would like to do it, and again, the time to implement and debug.


The last of the puzzle sections we are using, the map is very straight-forward; if the player is in reach of a special node, allow them to activate it.  Once activated, move to a new frame to show a picture, remove player control (aside for a deactivation button), and revert back to the playing frame once they are done looking at the map.  Only bringing in the picture into the library is the thing left to do.



AI seems to be the most fickle thing currently in our design.  To translate changing XY coordinates between the tiles, the enemies, and the player is just making a mess of things.  The chief programmer and I managed to make good progress on it, but the buggy nature of the beast has caused us to comment-out everything past our “patrol” mode and the self-deletion function.  For a demonstration of what we have, that code should be satisfactory (for the most part).

What’s here is but a very small part of the code structure, but the work I put in to creating these chunks of code helps the game flow in a way such that Team Squaybies may just make our deadline in 2 weeks!  Speaking of deadlines, I’ll let you go until next time.  Take care in commenting and reading future posts; I’m currently grinding through Majesty 2 and the original Half-Life.  Those are … interesting 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.