In May 2009, I joined NetDevil so I could work on LEGO Universe. After working there for over a year, and as our ship date nears, I thought I would share what the experience has been like.
LEGO Universe marks a significant number of milestones in my career: first MMO, largest development team, largest project, most expensive project, and the longest I have worked on a project. We still want to squeeze in a bunch of work before the initial launch, so the excitement of the release is intertwined with some terror and pressure to get it all done and polished.
If you haven’t checked out the game yet here is the link for the trailer. There was some public in game footage at CES way back in January part 1 part 2. More recently, we just went to E3 and won several awards there; Massively, 1UP, and Gamepro all awarded us best of E3 honors. Of course there were more interviews and game footage as well, the best of which was probably the feature on g4tv. The official launch date has been set, you can begin building, adventuring, and exploring on October 26th, 2010 – although preorders get an early start to the action and can play as early as October 12th.
So rewinding back to early 2009, Semiotic Technologies ran out of work and became insolvent (although we latter received an offer to become acquired that never solidified), so I was in need of a new job. Despite having made some dear friends in Pittsburgh, I think I was also ready for a change of scenery. When I originally talked with the people at Gazillion (the parent company of several studios), they were looking to place me at another studio, The Amazing Society. I don’t even think that I got to an interview because they canceled the position. A week or so later they emailed me back asking if I would be interested in interviewing for the LEGO Universe (abbreviated LU) project with NetDevil – YES (obviously). I probably spent as much time playing with LEGO as I did playing video games when I was a kid. Fast forward a couple weeks and I was on my way out to Colorado.
While the LEGO project has some incredible potential, I was still a bit apprehensive about joining the team. I never wanted to work at a big company (NetDevil has grown to roughly 200 strong presently, the majority of us working on LEGO) for the fear that I would become just another cog in the machine. Fortunately, NetDevil is pretty good about letting you dip your toes in other areas every now and then. I was also worried that I would just be told what to do and not really share in the creative process. I’m not designing anything but there is some decent give and take. Honestly, there isn’t that big of difference between large and small teams other than the time it takes for decisions to be made, and even with all that extra time we still throw out just as much. Even though LEGO has some experience with games and we have a good relationship with them I am glad to be rid of client meetings that I had to deal with in my old job. I do miss being able to call the shots, I don’t have a giant ego, its just that producers and designers are always pushing for new content and it can be frustrating to have to make a case for standard best practices of maintaining a code base. Besides having more time to focus on programming, the other advantage a larger company has to offer is that you have more opportunities to learn from others.
Working on LU is an amazing opportunity for a video game veteran, even more so for me being pretty green to game development at the time I was hired. Just think about the draw to the LEGO intellectual property and think about the MMO potential. Any game that I have ever marathon played I eventually got tired of the theme, grinding, or my character class. LEGO has a seemingly endless number of themes: underwater, pirates, ninjas, space, urban, medieval, mining, combinations thereof, and some I am sure I left out. Second, LU was beautifully designed to be item based so if you get bored of being whatever you first picked you can switch it up to be just about anything else from the giant catalog of minifigures (there are factions later in the game but you can still be pretty much anything you want). This is going to be the first LEGO MMO and the first LEGO game were you can actually build brick by brick. What you see built with LEGO in LEGO Universe you can build in real life; that part of the game world spilling over into reality is shared with other LEGO games. LEGO Universe is unique in that, at some point in the future, we will even have it set up so you can purchase whatever you build in the game (including instructions on how to assemble it).
LU is not without its challenges. Making the world safe for kids requires loads of work and labor to upkeep. In addition, our target demographic of 8-12 rarely have high end computers, if they even have computers of there own. So, we do our best to reach way back into computer history to make sure the game still runs on very old machines and try to design so you can log in quickly, get to the action and your friends, and are not penalized if you have to log off. Of course, LU is all about building, and building in the real world is very different from building virtually. The LEGO bricks in real life have a very nice tactile feeling to them that you just cannot recreate virtually with a keyboard and mouse. However, there are a number of things you can do virtually that are a pain in the real world. A computer is much faster at finding the brick you want, no more dealing with bricks that refuse to separate, you don’t have to rip your masterpiece apart to change brick colors, and being able to clone sections of wall or towers actually lets you build faster than in real life after you have had some practice.
Soon after I joined NetDevil I found out how difficult the road ahead was going to be. The system I was now responsible for was by far the most broken part of the game. For a while it was run by someone that didn’t fully understand the proper way to build it, and then for a while no technical person at all. When my boss started six months or so before I did, the game was grinding to a halt on our code. My boss removed most of the really horrifying stuff, so by the time I arrived it was just a matter of completely rewriting the system. I’d like to think that together we turned our piece of the game around, but it was definitely crippling in many respects to start off on such a bad foot. Just the other day I was removing some of the lingering bad bits (and it promptly cut our execution time in half) and there are still a few left. Older code, even when it is bad, has a nasty way of ingraining itself into the architecture. As if fixing the code base wasn’t challenging enough, people opinions are slow to change too. When a system develops a bad reputation, it continues to be a usual suspect or scapegoat when new problems arise.
My particular role in the development of LEGO Universe is UI programming, not the most glamorous job, but it suites me well. User Interface has some definite perks, like my code is on screen like 90% of the time, a number I think is only beaten by character animators / programmers. Despite my technical aptitude, I have a creative side, and I like working with the mix of artists, design, and tech that form a UI team. It doesn’t hurt that they are all crazy talented. Some of my favorite moments have been when art and tech need to combine efforts to accomplish effects, animations, and usability. The other interesting part of UI is the variety, there needs to be an interface for every part of the game, which results in working with many different people and learning how most of the game works.
Brass tacks, day to day I do a bunch of ActionScript 2, which gets into the Gamebryo engine via Scaleform. I programmed in AS2 when I was first learning the Flash platform, however, Scaleform throws a few curveballs at you. Not every feature of AS2 is supported in Scaleform, some functions work differently, and then being a PC game you use a different subset of ActionScript than you normally would for the web. Every once and a while I do some C++ and Lua to optimize messages, stun the player, call shaders, and get and set data from the database or server.
So what is like to work at NetDevil? You would think that in our information hungry society info about our studio would be blasted all over the web. Honestly, the best article to date was done by our local paper, The Westwood. We converted a warehouse into our workspace in Louisville, Colorado; which is actually really nice, I have heard horror stories from other studios about teams being on different floors or even split into different buildings. They have an extremely generous benefits package, and feed us all the time (perhaps even too much). There is a very obvious effort to keep the studio an enjoyable place, its not uncommon for people to stay late to hang out, have a beer, or play video games (although lately it’s been to crunch to meet our release goals).
The support we receive from LEGO is nuts as well. Usually you deal with clients that just want to get the game out the door; LEGO has stressed the importance for quality since day one and has been willing to bend deadlines to round out the feature list for our launch. We are looking to be much more polished for our initial release than most typical MMOs. I’m sure there will still be some lingering bugs that we have to patch, but for the most part we should be ready to have meaningful content updates soon after launch. It has been very interesting to watch the machinery of LEGO in motion. The marketing arm alone has some very cool plans for the game. LEGO is also handling the customer service and moderation to keep the game safe and fun for everyone. LEGO has ensured that our environment inspires us and reminds us what the game is all about; to date NetDevil has received over 10 million LEGO bricks, including one 12-foot tall juggernaut – which I am told similar pieces line the drive to the LEGO headquarters in Billund, Denmark (check google maps street view).
It’s a lot of hard work, definitely a labor of love. Everyone involved is absolutely determined to make LEGO Universe awesome. I feel very lucky and blessed to be at NetDevil and to be creating a digital world out of one of my most cherished childhood toys. I’m not entirely looking forward to the late nights ahead of me, but I’ll be able to power though it knowing the joy this game will bring to everyone whose heart has been touched by these little bricks.
Comment by MichaelJW — July 5, 2010 @ 8:20 pm
Wow, Stephen, this is fantastic. Thanks for sharing all this info. Oh, and the game looks great, too 😀
Pingback by Tweets that mention Stephen Calender Programming Blog -- Topsy.com — July 5, 2010 @ 8:49 pm
[…] This post was mentioned on Twitter by Michael J Williams, Stephen Calender. Stephen Calender said: The LEGO Universe Blog Post http://www.stephencalenderblog.com/?p=268 […]
Comment by royce — July 6, 2010 @ 1:41 pm
That’s quite an impressive feat, sir. Well done!
Comment by Jason Reinsvold — August 20, 2010 @ 7:03 pm
Cool! Good luck with crunch time. I’m looking forward to this game. I love the idea of just being able to build with legos in virtual space and then buy what I make 🙂 It’s also cool to hear about a fellow AS2 developer involved in core PC game development. Keep up the good work!