Trudy’s Mechanicals Early Animation Sample 


Posted by Radek on August 10th, 2011.

Categories: trudy's mechanicals, videos.

While we’ve been hammering away at our work-for-hire projects, we’ve also been steadily working on Trudy’s Mechanicals. Below you can check out a short compilation of our initial unit animations.

Since the game is played from a top-down pseudo-isometric perspective, the units are fairly low-poly. There’s also up to a dozen of them on-screen at any one time, along with numerous 3D props and visual effects, so we constantly find ourselves pushing at the technical limitations of the iPad.

The end result looks quite good, though, and I’m happy with our decision to use 3D models. We debated going with 2D “cutout” sprites — as is the norm with many tactics games — but eventually chose against it. A fully-3D environment allows us to properly implement dynamic lighting, and the 3D animations come out much smoother than simply using a handful of 2D frames. Our initial concerns with the animations not being as expressive as  in 2D also proved unnecessary, which will be even more evident in our next showcase!

Trudy’s Language 


Posted by Radek on May 6th, 2011.

Categories: trudy's mechanicals.

JRPGs, and by extension SRPGs, have an unfortunate tendency to use text as filler. Even with numerous types of fast-forward buttons — something of a band aid solution — their dialogue sequences are often very lengthy.

luminous arc Trudys Language

Luminous Arc starts off with roughly 150 text boxes. Such quantities are pretty common throughout the entire experience.

Verbal diarrhea is never necessary, though, and with Trudy’s Mechanicals we’re taking multiple steps to avoid it:

  1. Dialogue sequences are often optional. If the player doesn’t want to listen to a character, he can simply choose not to initiate the conversation.
  2. Colourful tid-bits are non-blocking. This means that if an enemy or an NPC wants to deliver a bark-style one-liner, it simply fades in and out. The text itself is aesthetic and doesn’t hijack the player’s interface, leaving him free to navigate the UI or issue battle commands.
  3. Cutscenes are short and to the point. Characters don’t prattle on if they don’t have anything interesting to say, and the player never needs to wait too long before he’s back in the “driver’s seat”. A skip option is also implemented as it’s an expected standard for those who are not interested in the story or might be replaying the game.

This less-is-more approach means that our script is much, much smaller than that of a typical tactics game. As a result, we’re taking extra care to make sure the language itself feels unique and interesting.

Here are some examples:

Slang

Planescape: Torment is famous for its cant, Victorian slang that adds personality to its setting. Seeing as Steampunk has its roots in a romanticized Victorian era, we decided to take a similar approach with Trudy.

valerjan expressions Trudys Language

A few examples of facial expression that accompany the text of Trudy's main characters.

Although it’s tempting to go overboard with jargon, it doesn’t help if the script can’t be understood by most people. Consequently the use of slang is somewhat conservative and the words we picked often have current-day connotations.

Here are some examples:

  • Barker – A gun. Not immediately obvious, but easily grasped given proper context.
  • Nibbed – Arrested. As in nabbed, or kidnapped. The word doesn’t have a strict association with the police, but its sentiment is easily understood.
  • Lushery – A public drinking den. Lush isn’t a common term for alcohol, but this one was just too amusing to pass up.

Names

Naming characters in a fictional setting is a bit tricky. You typically want to steer clear of popular current-day names that might break the suspension of disbelief, e.g., Mike Smith or John Brown. On the other hand, something truly alien might prove too difficult to vocalize internally, while symbolic names like “Black Lightning” tend to come off awkward and hokey.

Of course we could’ve simply used Victorian era names, but I wanted to differentiate Trudy from typical Steampunk pulp.

tatjana expressions Trudys Language

Unlike the lead stars of the game, NPC dialogues are not accompanied by "talking heads". This is to save on production costs as well as prevent NPC barks from taking up too much space on the screen.

Our solution was to use old Greek and Slavic names.

The result is not entirely alien, but it’s enough to stand out. Characters are given names such as Renatus, Tatjana, Darko, Milos, Daria, etc., which keeps the naming conventions consistent and adds a bit of flavour to the world.

Proverbs

Finally, proverbs are my favourite trick for imbuing a setting with a sense of culture and history.

Proverbs are usually quite short, but they convey words of wisdom that often speak volumes about an entire society. In keeping with our naming approach, I picked out a couple of Greek and Slavic proverbs suitable to our script:

“Gray hair is a sign of age, not wisdom.”

“As long as a child does not cry, it does not matter what pleases it.”

“Eat and drink with your relatives; do business with strangers.”

Designing Trudy’s AI 


Posted by Radek on February 13th, 2011.

Categories: design, trudy's mechanicals.

When I initially sat down to design Trudy’s combat, I wanted each unit to have a unique feel. Different attributes and abilities were a good start, but to truly achieve this, all entities had to behave in a distinct fashion.

To begin, I brainstormed a variety of scenarios I wanted to see in-game. These ranged from the somewhat common (an area-effect unit preferring to target foes clumped together) to the more original (a Steampunk robot trying to activate random machinery and only attacking when provoked).

Once I had a list of these, I came up with some character types that would facilitate each case.

Below are three examples of our finalized units, along with a short description and their AI routines. The AI is a bit simplified from the code, but shows a sorted priority of possible behaviours.

The Corsair

Corsair Designing Trudys AI
The Corsair is quick and agile, preferring to take out enemies from afar. Due to his mercenary nature, he has a tendency of sidetracking to grab extra treasure and retreat from a fight if it gets too dangerous.

  1. If badly wounded, randomly alternate between the following actions:
    • Retreat to closest exit.
    • Head for a healing station, if available.
    • Take pot-shots at closest enemy in range.
  2. If defending, take pot-shots at first enemy that approaches.
  3. Grab any nearby treasures.
  4. Man any nearby turrets.
  5. Use saw-blade if upgraded and surrounded by 2 or more enemies.
  6. Attack closest enemy that’s weak to the flintlock rifle.
  7. Attack closest enemy that’s low on health.
  8. Pursue closest enemy until in flintlock range.

The Bruiser

Bruiser Designing Trudys AI

The big and burly Bruiser is slow to act, but capable of travelling great distances once he’s rolled up into a ball. As the muscle of the Underworld, the Bruisers pride themselves on their reputation and never run away from a fight.

  1. If badly wounded, randomly alternate between the following actions:
    • Put up defenses and wait.
    • Retreat to closest alarm station to call for backup.
  2. Don’t move if current position blocks projectile attackers from hitting team members.
  3. Roll into closest enemy by a wall in order to push them back and cause extra damage.
  4. Roll into any nearby enemy.
  5. If upgraded, follow up a rolling attack with a ground slam for extra damage.
  6. Activate closest alarm station if requiring backup.
  7. Retreat from flying units that can’t be targeted with the roll attack.
  8. Pursue non-flying enemies out of range until adjacent to them.

The Sewer Slug

SewerSlug Designing Trudys AI

The Sewer Slugs mutated in the slop cocktails of the Underworld, slowly filling with acid and becoming living batteries. Although they’re naturally docile, they’re considered a dangerous nuisance as they don’t avoid human habitats.

  1. If dying, explode in an acidic burst that showers the surrounding enemies in corrosive fluids.
  2. If badly wounded, randomly alternate between the following actions:
    • Retreat to closest nest if flying-charge is ready.
    • Use self-healing ability.
  3. If not attacked, simply move between closest nest and hatchery.
  4. Fire electric goo on closest enemy to damage and stun them for one turn.
  5. If flying-charge is ready, move toward closest enemy.
  6. If flying-charge is not ready, pass to regain it.

This highly autonomous behaviour means that there’s no “field general” controlling the entirety of the opposing force. Instead, the combat takes on a gang-skirmish feel where each unit follows its own whims.

For quick, small scale battles where the units are all predefined, we found this to be a generally more fun approach.