31 Jan 2013
January 2013 - X.T.
3dunityremakeactiontheoryanalysispostmortemdigital

So, when I started 1GAM, I knew I wanted to use it both as an opportunity to learn new development tools and a way to force myself to get off the endless treadmill of prototyping and nitpicking that leads to never actually producing a finished product. I won my first NaNoWriMo this past year, so I figured 1GAM would be a good motivator as well.

My first 1GAM project started off as just a sandbox project in Unity where I was experimenting with getting my development tools and asset pipeline in order and sorting out what exactly I wanted to try to do. Before I realized what was happening, my UnityPathfindingSandbox project started to pick up a theme, and a simple gameplay mechanic. It snuck up on me so quickly, I didn't see it coming at all.

I did not expect that my first arguably "finished" game in 17 years would be a reworking of one of the most hated and villified video games in history.

Poor, Unloved E.T.

When I was a kid, we had an Atari 2600, and among our games was E.T. The Extra-Terrestrial. Looking back, I rather enjoyed playing E.T. at the time, so when I was older and learned the story of this game, how it was so well known for being terrible, horrible, unplayably bad, almost single-handedly destroying the home video game market of its time, I was puzzled as to where this disconnect could have come from. I know there was more to it than just the gameplay, with the ridiculous over-production of the cartridge and unrealistic sales expectations and all that, but the game itself was infamous for being terrible. Did I miss something, or did everyone else? Was my judgment terribly flawed somehow, or was I just young and forgiving then?

I decided to embrace this as my project for this month - analyze the theme, structure, and mechanics of E.T. 2600, decide what had appealed to me as a kid and what I'd just let slide at the time, and see if the underlying mechanics could be rebuilt as something more interesting and fun. It also allowed me an excuse to do the one thing I probably enjoy more than anything else - drastically over-analyzing something entirely unimportant.

I'll assume from this point on at least a passing familiarity with E.T. as a film and as a game. First, I advance the radical notion that E.T. 2600 is, in fact, not the worst game of all time, or even a particularly bad game for its time, and achieves its goals in some respects.

What Worked?

Theme
ET 2600 certainly follows the themes and basic idea of the movie - a peaceful alien, lost on Earth, tries to find a way to call for rescue, while human authority figures obstruct him for their own reasons, a young boy comes to his aid when needed, and Earth candy is delicious. In an era when ET 2600 sat next to games like Asteroids, Defender and Missile Command in my house, it manages to be a peaceful, non-violent game without being entirely abstract (like, say, Pac-Man).
Presentation
Just go back and play other games of that era and you'll have a new appreciation for the quality of that title screen, where both ET and the theme from the movie are easily recognizable. The humans are identifiable, ET is ET-shaped, and little touches here and there (healing flowers) tie back to the movie nicely.
Abilities
ET's seemingly magical abilities, and some common abilities, are included in the game as a variety of actions ET can take at the cost of some of his energy. While they generally don't have much to do with the abilities he demonstrates in the movie, it was ambitious to include that many different things for a player to do.

What Didn't Work?

Interface
Even in the days of games where reading the manual was often a requirement to make heads or tails out of the block shapes bouncing around the screen, ET 2600 was an unfriendly interface. Including ET's abilities, as mentioned above, made it a more complex and interesting game and also called back to its source material, but in the days of a directional joystick and The Button, there weren't a lot of options for how the player could pick from ET's abilities. The solution, where the function of the action button changes according to random zones, indicated by a tiny picture at the top of the screen, seems to have been a major obstable to enjoying the game. While zone-specific actions made sense in some cases (calling home), in others it was entirely arbitrary (only here can you eat candy).
Pits
Oh, the infamous pits. While providing a convenient way to randomly hide the parts of ET's phone, they also end up forming a game mechanic where a misstep not only costs you energy/life, it forces you to manually burn away part of that cost by slowly levitating out, and if you weren't careful, then falling right back into the pit. Not fun at all.
Variety
As soon as you learn a few tricks, like locating and remembering the "Send Back" zones, you quickly end up without any real threats, and the game just becomes an exercise in repeating the same steps without any significant risk until the player quits.

Adapting What Worked

So with all that in mind, I started thinking about how to incorporate some form of the parts that worked, while either eliminating or replacing the parts that didn't, adding some niceties of modern games, and seeing what I ended up with.

Theme
Without directly using the movie's story and theme, I stuck with the same basic idea - an alien on a strange world must avoid the interference of the locals and recover the pieces of a device which can be used to call for help, all without resorting to violence. I decided early on that the player should still have no directly confrontational or violent tools available. The antagonists are still humans, but now primitives who rather than abducting the player or stealing his equipment will simply mob the player, slowing them down and consuming the protagonist's energy by forcing him to defend himself from curious, prodding hands.
Presentation
Again, without using the movie directly, I don't have much to draw from specifically. I tried to at least make the protagonist iconically different from the native humans. He ended up as a robot, partly because I'm still developing my Blender skills from near-zero and Unity's free "Robot Kyle" model worked nicely for an experimental game. Most of the improvement here is just the standard trappings of modern games - a simpler and hopefully cleaner UI, pausing, modern graphics and sound, and so on. Thanks to Kevin MacLeod and his fantastic collection of Creative Commons music, I was able to use music and sound cues to convey the mood I was trying to achieve more effectively.
Abilities
Rather than including the more arbitrary abilities, I limited the player to a few abilities, and tied them into the theme. The player can walk for efficient energy usage, run at a higher energy cost, and has a radar represented in the UI as a mini-map. The transmitter must be assembled as in ET 2600, but instead of locating a "phone home" zone, the player must spend energy charging it and then continously transmit a signal until a rescue ship is dispatched. Two other pieces of equipment represent optional abilities and aren't required but can be found in the process of assembling the transmitter - an enhanced radar module that extends radar range, and a cloak that greatly decreases the range at which the humans can locate the player.

Changing What Didn't Work

Interface
  • The idea of "zones" was abandoned entirely. All abilities can be used anywhere, and the limitation comes from the fact that the abilities consume energy and two of them, the cloak and enhanced radar, must be found before being available.
  • Each piece of equipment gets its own UI widget indicating its state, and a keybind is displayed for each so the player can enable or disable them individually at will.
  • A message log was also added, which displays tutorial messages early in the game and displays notifications to help explain events taking place.
  • The separate step of eating candy is eliminated. The analogues in this game, energy crystals, are immediately converted to energy on pickup as they serve no other purpose.
Pits
No pits. The pits serve three purposes, all of which have been changed to different elements:

  1. Penalty for missteps - Humans are now numerous and will swarm a player who goes the wrong way, draining energy.
  2. Random locations for phone pieces - Equipment is now salvaged from the impact sites of debris crashing down randomly around the area.
  3. Hiding place - Pits in ET 2600 could help the player evade a human. I added two natural areas, a forest in the northwest and a wetland in the southeast, which serve as cover and make the player hard for the humans to track.
Variety
The 1GAM time frame kept me from doing much here, as I was still pretty much a novice with Unity going into this, but I hoped the randomness of both the humans' behaviors and the placement of recoverable equipment, including the two optional pieces of equipment, would make things a little less predictable.

The Verdict

Definitely Worked
  • Finished. This was goal #1 for nitpicky perfectionist me - use programmer art and placeholders where needed, let things be simple, and get a finished game, with gameplay and win and lose conditions and generally in a playable state, done in a month. The last game I got to a finished state was one I made in high school. Hurray, 1GAM.
  • Learned a ton about Unity and got my feet wet with some Mecanim-compatible rigging.
  • I think the interface works, though it could use polish. Unity's GUI system is generally not well liked for anything complex and has an official replacement in the pipeline, so I didn't want to spend too much time learning this version, but what's there is functional and hopefully fairly straightforward. Certainly a step up from the "zones" method.
  • Game play is a lot smoother without the interruption of the pits.
  • In general, gameplay is faster and has more of a sense of urgency than the original. Everything you need is out in the open, and once the game has run for a bit there's a ridiculous number of natives to avoid, and getting swarmed by a big pack can change your outcome in a hurry.
  • I'm pretty sure at this point that at least half of ET 2600's reputation is unearned. It has some solid game play mechanics, and in some ways it was way ahead of many games of its time.
  • SimplePath - I tried out several pathfinding solutions, and most of them were intensely frustrating when actually used. I've implemented A* with path simplification and smoothing myself in a Java/LWJGL game engine before, so I know how it should work, and I was hoping to skip that step during 1GAM since re-implementing A* didn't feel like a productive or interesting use of my limited dev time this month. SimplePath is fantastic, the developer knows what he's talking about, and he's responsive to questions and concerns on the Unity forums. Totally worth it.
Not So Much
  • Still not a lot of game here. Once you know the tricks you can complete a game in a few minutes, depending on your luck with equipment recovery. It could be fleshed out with more equipment options, more areas, and a more elaborate multi-stage progression, but again, 1GAM - get it wrapped up and done.
  • There's actually less interaction with the humans in X.T. than in ET 2600, because there's no friendly native like Elliot. I had some preliminary work there but it just wasn't going to happen in this time frame.
  • At its core, this is still basically a game of Run Away. Goals appear on the field, whether equipment or energy or the rescue site, and you run between those and the safe zones while a mob tries to catch you and drain your energy. Not sure there's a lot of longevity in this, no matter how much you dress it up - it's like Pac-Man with no power pills, so you're always running from the ghosts.

So in summary, like I said before, here's me spending a lot of time thinking too much about unimportant things. Enough with talky, make with the gamey.