Enemies in Danger – pt 1 of an epic post…
Hello all, it’s been great to see some of the comments coming through in support of Lucidity. It gives the team a great lift to see that people are really digging the style and the setting that we created for this game. Hopefully the game will find some success at launch and so further support our efforts for LucasArts to continue to “get back to its roots”!
One of the things we wanted to use this blog to do, was to peel back and expose some of the inner workings of game development on a small team here at LucasArts. To that end, one of our designers, Brett Levin, wrote up an article talking about the challenges we overcame to get a good variety of enemies into the game. It’s a detailed read so we split it into 2 parts, but for those interested in knowing more about game development, I think you will find it fascinating!
Over to Brett…..
Hello all, I’m Brett Levin, a designer here at LucasArts working on games as part of the Labs effort.
So let’s talk about enemies. Though the word “enemy” has all kinds of bad connotations, in gameplay, enemies can be a gamer’s best friend. In Lucidity, enemies brings life and atmosphere to the levels. They bring focus to game play, giving the player something to avoid and outmaneuver. They also allow us designers to tweak the difficulty curve while teaching players how to move Sofi in open space. And there was a time during development when they were an endangered species!
So if enemies are so good, how’d that happen?
During our production push, we were staring down a very tight schedule, and we hadn’t managed to fully flesh out the enemies in Lucidity. We were working with a basic enemy set based on one archetype the grey dust bunny. Though scary even with just its simple attack animation, it possessed something of a multiple personality disorder because each level designer was using it differently. The dust bunny just wasn’t making anyone happy. It needed a variety of naughty compadres to truly show the potential of the system.
The designers knew we needed some dynamic obstacles for the levels, but we didn’t have a plan. Our art team had done some great visual development on new characters, but we still didn’t know how we’d use them.
In short, it was a mess and we needed to find a way to untangle it…
The untangling began with our art director Jeff Sangalli. He had a host of ideas of what the enemies could do, how they’d move, and what they looked like. Purely from a visual perspective he knew that our game needed them and he was ready to fight for them. His efforts had full support from the designers’ side, so fueled by his inspiration we launched an enemy strike team. The team was composed of John Elliot (our lead engineer), Jeff (our art lead), animators Jeff Brown and Saul (who would shoulder a lion’s share of work), concept artists Molly and Andrea, and myself.
As the designer spearheading this strike team, I had to figure out how to make this work with incredibly limited time and resources. What was key for me was that all the enemies felt like they fit in the world, made sense from a story perspective (dust bunnies underwater weren’t working for me), and provided predictable gameplay that the player could recognize and react to. What was key for our Leads was that we had a solid, low-risk plan that we could actually accomplish.
I started by gathering up the bits of code and pieces of art we had already developed.
I looked at the levels we had produced and how the different designers were trying to use enemies. I was able to isolate a half-dozen patterns of movement that would give us all we needed to design the levels as we wanted to.
The code was mostly in place for the design needs, but there were several special cases that hadn’t been accounted for. For example, what happens to a walking enemy when the bomb has been used beneath it? We also had to build in support for playing animations (attacks, walks, turnarounds, etc) and sounds that would bring the enemies the level of variety that we needed.
From the art side we had a whole list of really fun enemies that Andrea and Joy had conceptualized and modeled (6 frogs!), and some that were partially rigged (It wasn’t until the final week of production that the golden frog could retract its tongue into its mouth correctly). I wanted to get as many of them in as I could.
Working together with the artists, I pulled together a design plan that made use of all that we had already developed with as small a need for new assets and code as possible Frogs and Flytraps would be stationary, Mushrooms would walk on the ground, Snails could walk on any surface, as long as it was flat. For the fliers (bugs, fish, dust bunnies) there would be three types per environment — one that flew in a straight line, one that orbited an area on a regular circuit, and one that would fly freely along a path laid by the designers. The enemies would be color coded by their movement type and environment, so that the player could pick up on their patterns.
For the space environment, we knew we wanted to amp up the difficulty and include a few more movement categories — faster enemies, slower enemies, enemies that followed a surface, and stuff like that. We didn’t have any concept art for space enemies, so we decided to make use of Oliver Frankze’s awesome particle system and create some abstract enemy types. These were an advantage for us because they can move around a level in any orientation without art having to worry about synchronizing animations to a ground plane.
From all that, I created ‘Enemy_Polish_Plan Spreadsheet’ that listed out all the enemies by movement type and environment. It had pictures, it had lists of what was done and what needed doing, it had pretty colors, it had enemy pathing data, it had time estimates, risks, and stretch goals. It was a thing of beauty… it was everything that a growing boy needs, err growing game, that is. Actually I just opened it, it’s pretty ugly, but it got the job done!
In my next post I’ll tell you how that all worked out for us…