• Register
Post news RSS Traversing the Freedom Trail: The Tech of Children of Liberty

What technical magic goes into making Children of Liberty work?

Posted by on

In Week 1 of the Children of Liberty development diary, we discussed various artistic aspects of the game. You can read that post here if you haven't already. This week, we'll be talking about some of the tech that makes the gameplay in Children of Liberty traditionally and yet wholly unique, starting with our most important innovation: Gameplay Tracks.

Tracks are the primary building block of a level in Children of Liberty. They control the actor direction, camera movement, spawn point, checkpoints, hidden objects, and enemy behavior. An important variable on every track is “Rightward Direction.” This lets us set the primary direction of any live actor's movement (player, enemies, or other NPC's). For instance, if the Rightward Direction is X = 1, this is classical sidescroller movement toward Stage Right. However, a Rightward Direction of X = -1 actually flips the player 180 degrees and moves actors toward Stage Left. Similarly, Rightward Direction of Z = 1 moves the actors toward Stage Back, and Z = -1 moves actors toward Stage Front. This distinction places the camera on different sides of the track, with the goal being for the player to head toward the Right more often than they would head toward the Left, and for the rotation of NPC sprites to respond accordingly. The player can turn onto a different track when they are at an intersection.

NPC's like enemies are fully billboarded actors. They have Side, Front, and Back animations for nearly every action. The specific animation shown is dependent on the player's current position in relation to the track on which the NPC is situated. For instance, if the player is looking around a corner on a Track with Rightward Direction X = 1, and sees a Redcoat idling to the front on a Track with Rightward Direction Z = 1, the Redcoat animation playing would actually be Side Idle, as the track the player is on is perpendicular to the Redcoat's. If the player goes onto the Z track, the Redcoat animation seamlessly switches to Front Idle.

This also goes for enemies in the distance. If the player is on a Track that is X = 1, and that track is parallel to a Track that is X = -1, a Front Idle on the -1 track would actually be shown as Back Idle. In short, 2D sprites are treated as a 3D character would be in any other game.

Each Track is split into two lines: The Red Line, which is the Runny Jumpy line; and the Blue Line, which is the Hidey Sneaky line. When the player is on the Red Line, the available actions are traditional sidescroller/platformer fare: run, walk, jump, crouch, crawl, attack, turn, hang and shimmy on ledges, and interact with different objects. On the Blue Line, the available actions are more stealth-game oriented: hide, sneak, takedowns, peek around corners, dash between gaps, climb ladders, and more silently turn around corners. The variation in actions between the two lines gives the player a lot of freedom in taking different approaches to any situation. Do you hide on the Blue Line and wait for that Redcoat to peacefully walk by before moving on, knock him out to lure another guard over to your position for the Double Takedown, take the alternate path on the hangers over their heads, or gun it and run past them quickly, risking being seen and knocked out? It's all up to you.

With all this art and tech bringing the world of Children of Liberty to life, it's easy to forget that this world wouldn't exist without real events, those being the tale of intrigue, blood, tea, and war in the lead-up to the American Revolution. Next week, we'll be diving into the historical aspects of Children of Liberty and how our resolution to be faithful to the Revolution has helped steer not just the story, but also the game design.

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.