Tuesday, September 2, 2014

Lesson for the Next Primordium

So, with Primordia basically at the point where there's nothing more that coding tweaks can improve, and with me now having a long separation between making it and playing it, I feel like I've come to understand some of the game's flaws a bit better.  Here's some of what I've learned that would probably have led me to do things different if I were making it now (and I'm not talking about things like recasting voice actors or having a different plot or whatever).
(1) Playable space includes "breadth" and "depth" and even if content = breadth * depth, the two variables aren't really fungible.  Amazingly, I recently learned that per HowLongToBeat.com, Primordia's average playing time is about the same or slightly longer than that of Monkey Island, Quest for Glory, King's Quest V or VI, or Sam & Max Hit the Road.  All of them come in from 5 to 6 hours; Loom comes in at 3 hours and The Legend of Kyrandia at 4 hours!  (Now, these data sets are fairly small, and there is possible distortion because perhaps players today already know how to beat those games, etc., etc.) 
If you'd asked me, though, I would've said that those games were much larger than Primordia, and they certainly are in "physical space."  Unlike Primordia, they are full of empty rooms; if not entirely empty, puzzle-less rooms; if not puzzle-less, well certainly rooms that don't have NPCs or complex UIs in them.  By contrast, almost every room in Primordia contains: (1) an NPC; (2) a unique UI; (3) an inventory puzzle; and (4) a half dozen "flavor" hotspots, each with unique quips depending on what you use on the hotspot.
While it might seem that the rationale behind our approach with Primordia was economy (i.e., get more bang for your artistic buck in making rooms), that wasn't really it at all.  (Indeed, while making a room takes some time, Vic probably could've done a room every 10 days once he'd hit his stride.  At 27 months' development time, that would've been on the order of 90 rooms rather than the 40 or so that we had.)  Instead, I had this idea that the more layers there were to an area, the more you could engage with it, the more meaningful it would be.  And cutting down the number of rooms meant much less backtracking, something I've always hated in adventure games.
And yet . . .
I've read a lot of books in my life, and probably something like half of them have been fantasy or science fiction novels.  My favorite part is always the first book, where you're introduced to a new setting and the world is built up around you.  In fact, when people ask whether I'd do a sequel to Primordia, I always say no, I'd want to make something new.
When a player enters a new area there's that same feeling of freshness; when he enters a new area by virtue of accomplishing some goal, he feels a sense of progress.  Years of warfare, exploration, and hero journeys have inextricably linked geographic movement with advancement toward a goal.  In Primordia, though, there's very little of that.  Despite the fact that you move from the Dunes to Metropol -- despite the fact that a locked door is around every corner (see below) -- Horatio is actually almost never moving geographically toward a goal.  He circles, and at each stop digs.  Eventually, the digging proves futile and he moves on.
Some of this is deliberate and couldn't be changed with totally revamping Primordia.  But some of it could've been addressed by adding in a half dozen more "spacing" rooms akin to the cul-de-sac with the sad robot or even the two rooms leading to the Factor overlook.
It also may explain some of the problems people had with the "last third" of the game.  In my mind, the game always had three acts and a coda.  One major theme of the game is whether it is truly possible for Horatio to escape the legacy of being a war machine.  In each of the three acts Horatio tries to recover his power core in a way that drifts ever closer to his old self.  In Act 1 (the Dunes), he tries to build a new power core: this is the "good" solution.  In Act 2 (Metropol up until learning Arbiter is dead), he seeks legal assistance to resolve the dispute, which is neither creative nor idependent: this is the "neutral" solution.  In Act 3 (from Clarity joining to Clarity dying), he seeks to recover the power core by force.  In the coda, he largely seeks revenge for its own sake.  ("This isn't just about the power core any more, is it, boss?")
I always figured that reviewers treated the three acts as the Dunes, Metropol up until Clarity's death, and then the "coda," which would explain why the "last third" felt small.  But replaying the game, I realized that wherever you slice the last third, there's almost no "space" added to the game: from learning Arbiter is dead until the credits, the game at most adds ten rooms, several of which are tiny: (1) the small area above the Factor overlook (tiny); (2) the overlook itself; (3) the lobby of the Council Tower; (4) the elevator (tiny); (5) the Council Chambers; (6) the emergency elevator area (tiny); (7) the roof; (8) the Calliope Station "hallway"; (9) the sealed doorway (tiny); and (10) MetroMind's lair. 

By contrast, the Dunes contains 15 rooms: seven rooms in just the UNNIIC, plus another eight scattered among the other locations (the junkpile, the shrine, the dome and its interior, Goliath's exterior, throat, brain, and stomach).  From entering Metropol until finding Arbiter, there are 13: (1) the tracks; (2) the station interior; (3) the station exterior; (4) main street; (5) the tower exterior; (6) the crash site; (7) the courthouse exterior (which also has a close-up), (8) the cul-de-sac (tiny); (9) the courthouse interior (which also has a close-up); (10) the underworks; (11) the drawbridge; (12) Clarity's island; (13) the pathway leading to Factor.

If you count in terms of "new areas" rather than "new rooms," the division is even more stark.  There are five areas in the Dunes: the UNNIIC; the junkpile; Goliath; the shrine; the and the dome.  There are five areas in "Act 2" Metropol: the train station; main street; the courthouse; the Underworks, and that doesn't include some interstitial space.  But in "Act 3," there are only three areas: Factor's area, the Council Tower, and "Calliope Station."

While I don't think it's necessarily a bad idea to have the final act more geographically confined than the prior ones, I do think that Primordia was a bit unbalanced in this regard.  And, in general, I think the game would've been better with more space.

(2) Design rooms with an eye to how they will function.  My biggest -- really, only -- regret with how Vic did the game's graphics is that he concerned himself almost exclusively with each room's painterly aesthetic without real regard to how the room would function for players.  This led to some incurable problems.

Most people complain about the hard-to-find hotspots, but (generally speaking) I think that problem is overstated.  The larger problems are more basic: many of the rooms use wonky perspective that makes the sprites look ridiculous.  First, there are things like the rooms of the UNNIIC, where the doors are like funhouse absurdities half the size of Horatio.  Next, there are character sprites that never match the room's scaling.  If you play the game in DDraw mode (i.e., without the mixed-resolution scaling that D3D provides), you'll see that -- for example -- the repairbot at the crash site and Leopold look horrible because even though they never move, the sprites aren't scaled to match the room.  Very few of the rooms have the principal action taking place at a point where Horatio and Crispin are scaled to 100%; they're often shrunken or bloated.

Another basic problem is that AGS does not have very good pathfinding, and the rooms -- as a consequence of their irregular scaling and circular forms -- cannot be easily handled by AGS.  Horatio's awkward walking animation is actually not primarily an "animation" problem (in the sense of bad frames); it's an engine problem because the game is stumped by how to play those frames.  Even over short distances, the characters stutter and get lost, and in large areas, like the Underworks, they sometimes break down entirely.

(3) Prioritize the things that matter most.  Here are some things that we spent a huge amount of time on: Crispin's hint system including an automatic hint system for when you are stuck that I doubt any player ever saw; dozens of frames of animation for when Scraper's arm melts the doorway to MetroMind's lair; composing two competing soundtracks for the game.  Here are some of the things we did not spend very much time on: a final dialogue-check to ensure consistency for names ("Armstrong" vs. "Waldo") and genders (Memorious, the greeter); animating the climactic Scraper vs. Clarity battle (the gun close-up used there was actually moved from the Clarity vs. shells scene!); making sure line readings of critical lines were done properly.

That is really bad prioritizing.  Throughout the project, each of us let ourselves go on Ahab-like missions without focusing on our large goals.  We had the luxury of a long development cycle, but even then we rushed enormously at the end.

(4) Don't stand on principle in the face of testers' actual experience of the game.  In various places, I insisted that even though the testers were all getting stuck in silly ways, it was important that players be taught to play games properly rather than be mollycoddled.  For example, the game treated differently using the plasma torch on the cable and using the cable on the plasma torch.  As well it should!  As anyone who does anything with any tool knows, using a tool on an object is not the same as using that object on a tool: using paper on a pencil might mean wrapping the pencil up, while using a pencil on paper is how you write.  Same with hammers and nails, and so on.  Many testers protested; I ignored their protests.

Then I watched Let's Plays of the game, and invariably players got stuck there.  Indeed, the Giant Bomb Let's Play -- the most watched one, I believe -- was completely derailed as a consequence, squandering an important opportunity for us to bring in new customers.

I'm not saying that everything should be homogenized by focus testing.  But derailing players simply to try to impose some logic on the way the game parsed objection interactions which had no gameplay consequence other than derailing players is bad design.

* * *

Anyway, I'm sure there are a million other lessons, but I'm out of steam, and those are the big ones!