Sunday, February 3, 2013

A New Start, a New Project, and Keeping Motivated

A lot has happened in the past month, and I've decided I want to keep a fairly regular journal as I move forward.

First of all, I lost my job as Producer at Cricket Moon Media as of January 31st and am now pursuing a new job making games. It was an amicable split, and I learned a ton in my time there and received glowing references from those I worked for and with, but that's part of the risk in the games industry. It is a ton of fun and an exciting field to work in, but it certainly isn't stable.

At about the same time that I learned I was losing my job, Gas Powered Games laid off almost their entire workforce. Chris Taylor, the CEO of GPG, has been very forthcoming about his reasons for doing so, and I was lucky enough to get to meet with him during the Washington Interactive Network's 2013 Power of Play Conference. He's a good man facing some hard times. It seems to be a bit of a trend across the industry - later that week THQ finally announced their final bankruptcy and laid off all of their staff. Scary stuff.

I've been looking for work, applying to various companies in the Seattle area, but it's early yet. To keep busy during the downtime, I am working with my friend and former GPG employee, Vincent Leone, on building a game in the Unity Engine. I am teaching myself more about programming by doing Python tutorials and the excellent C#/Unity Tutorials over at, and have been making fantastic progress.

When Vinny got ahold of me and asked if I wanted to work on something together, I was absolutely thrilled -- this is what I needed! A partner and a project to keep busy, to give me goals to learn new things. It was time to put what I'd learned over the past five years, through DigiPen and Cricket Moon, and put it to work.

My first task was to learn more of the basics of programming from scratch, building on the rudimentary exposure to Python I was given at DigiPen. As an art student, we don't get nearly enough of an opportunity to learn programming basics, so this was a wonderful chance to dive in and figure it out.

I gave myself a project I knew I could handle - building a Dungeons & Dragons-style character builder and combat engine. First I set up a basic dice roller, then used that function to create specific dice roll types, such as stat roll (3d6 six times, pass the results into a list), combat rolls (1d20 + stat bonus, check against target) and similar sets.

By building the stat roller, I could then display each roll result and ask the user to assign the number to a stat, remove the item from the list and repeat the process for the next stat. Once completed, I calculated the stat bonuses per attribute, applied them to various other attributes (health, armor class bonus and other defenses, damage bonus and to-hit bonus), had the player select a race and apply attribute bonuses and/or penalties based on the race, then print the completed character sheet. Pretty sweet stuff! It was great using a set of mechanics I knew by heart and could tweak and hack to teach myself the basics of this new language.

Once I had a character set up, I was able to generate a monster - I pre-set a handful of monsters, like Rats, Slimes, Trolls and a Dragon, and gave each of them various attributes and experience points. Once the monster was selected, the player could encounter them, attack them or run away like a coward. The program would calculate the player's attack first and display the results ("Roll was a 13 + 3, target was a 9! You swing your at the , cleaving into its flesh for points! has / hp remaining."). If the monster was killed it would assign xp to the player and allow them to continue searching. If it was still alive it would attack the player, and so on.

Pretty rudimentary stuff, but it only took a day or so, then another day to completely rewrite it more efficiently once I learned what I was doing. Fun!

From there, I've been taking what I've learned and going through the Hack & Slash tutorial over at Bergzergarcade, which is very much in line with what I had in mind for the roguelike. When Vinny first asked to work together, we got together and planned out what the project would be in as much detail as we could in an evening, breaking the core game down to the most base components and figuring out where our first milestone would be. What would it take to make this thing into a roughly playable prototype? From there, I would take the elements and break them down into further steps while trying to flesh out the details of the entire project as a whole.

I've gone through the first twenty or so tutorials, building a basic movement and AI system just to get the feel for the language and engineering process and how it differs from Python and learning better technique. Next was building the character generation, which required building a series of scripts that others would inherit, then creating instances of them and tying it all into a GUI. That's as far as I've gotten tonight, but tomorrow marks the real start of the project - we're doing daily check-ins at 10 am and plotting out the project and hacking away at it piece by piece. I need to spend a lot of next week working on documentation, planning it out in more concrete detail. A lot of this project stems from a road trip conversation with my friend Karl Parakenings, where we spent three days hammering on and elaborating on the ideas presented in the roguelike as a genre and what they could mean given a certain perspective, then gestating in my head ever since, so there is a lot I want to get down. I find the documentation process to be a lot about discovery and revelation, and there are so many ways this could go that it will be a lot of fun to really tie this concept down and begin building it.

I'm going to try to keep this journal updated as much as possible - at least weekly if not more frequently, and would like it to serve as a development journal for this project.

I'm looking forward to seeing where I'm at this time next week.

Wednesday, January 16, 2013

Green Man sculpture

For years, my father has been asking me to make him a Green Man sculpture to hang on the eaves of his house. I've done some sculpting, but not a ton, but every time I do I thoroughly enjoy it.

This year for Christmas, I finally had a chance to create one.

If you're not familiar with a Green Man sculpture, I'll let wikipedia do the explaining:

Green Man is a sculpturedrawing, or other representation of a face surrounded by or made from leaves. Branches or vines may sprout from the nose, mouth, nostrils or other parts of the face and these shoots may bear flowers or fruit. Commonly used as a decorative architectural ornament, Green Men are frequently found on carvings in churches and other buildings (both secular and ecclesiastical). "The Green Man" is also a popular name for English public houses and various interpretations of the name appear on inn signs, which sometimes show a full figure rather than just the head.
The Green Man motif has many variations. Found in many cultures around the world, the Green Man is often related to natural vegetative deities springing up in different cultures throughout the ages. Primarily it is interpreted as a symbol of rebirth, or "renaissance", representing the cycle of growth each spring. Some[1] [2] speculate that the mythology of the Green Man developed independently in the traditions of separate ancient cultures and evolved into the wide variety of examples found throughout history.
I was unfortunately out of good clay, so I scoured the local craft stores and was able to track down some Sculpey. I tend to prefer Super Sculpey 2, as it is much more resilient, firmer and easier to smooth and shape, whereas this worked much more like traditional tera cotta clay.

I have a lot of tools I use when I sculpt, but my favorites are a simple roller for preparing the clay and a handful of metal tools and scrapers I received by asking a dentist if they had any old tools they couldn't use any more. He responded by giving me a paper bag full of them, and they're amazing.


With the tools in hand, I got out a piece of laminated wood and started shaping out the basics. I had spent a day or two prior sketching out various designs and researching them, and had arrived at one I wanted to go with, so at this point it was just a matter of roughing out the general form to get started.

I kept working on the eyes and brows while shaping the moustache and chin into more leaf-like forms, adding the rest of the beard as well.

Getting the overall shape, at this stage, is far more important than worrying about the finished look. With clay this pliable it is easy to take away shapes or rip them out and start all over.

Next I shaped out the general form for the crown.

Now that the overall form was in place, I added the rest of the details and began smoothing and shaping the details, creating more realistic cheekbones and creating the stylized layering I wanted to achieve, most noticeable here in the moustache. Creating these broad, flat areas overlapping helped create a more stylized look and allow the form to be much more readable from a distance, as it would be hung up at least fifteen feet from where anyone could get close, so fine detail would only confuse the image in the end.

The final steps were to smooth out the clay, add the rest of the vein details and pupils and then bake it to harden. The scuffed areas you see were lightly sanded down to smooth off a little bit of rough area that resulted from the sculpting process.

The piece removed from the board nicely, and was quite sturdy when finished.

The problem that remained, though, was how to actually finish him - I could paint him with acrylic and then seal it in varnish, and that would allow it to weather fairly well, but I was worried about how it would be mounted and what effect it would suffer after a couple years of Washington summers and winters. If it got brittle it could easily crack and fall apart, and if the mounting failed, it would fall and shatter, and was irreplaceable.

I eventually decided that the best thing to do would be to learn how to make a proper mold and make castings of it. I did my research and ended up going with Tap Plastics' Platinum Silicon 2-Part Mold Making compound, as it was extremely easy to work with, didn't require a vacuum chamber or complicated pouring, and was very durable. It also turned out to be very expensive, so I decided that these were going to have to be gifts for more than just my father - I ended up making copies for my brothers, grandfather and father-in-law, as well.

For the casting, I used Tap Plastics 2-Part Quick-Cast Polyeurethane Resin, as it was affordable and extremely durable, and measured out at a 1:1 ratio just like the Platinum Silicon. Nice and foolproof. For the finish, I purchased Bronze Powder, which created a wonderful finish you can see at the end. Beautiful stuff.

In order to make the mold, I first needed a form, so I built one out of a readily-available material.


First I built the basic form.

Next, I sealed the sculpture to the board using putty so that the silicon wouldn't flow underneath it.

The Lego blocks were attached to the board using hot glue.

The hot glue snapped right off of the blocks when I was done and worked out very well.

In order to know how much silicon I would need, I filled the form with rice, then poured out and measured the rice. Neat little trick.

Rice removed, I filled the mold with mixed silicon and let it sit overnight. The silicon sets in a couple of hours, but I figured it was best to not rush it, since this was my first time.

I regret not taking pictures of the actual casting process, but it was fascinating, and I learned a lot. My first couple came out okay, but by the end I had the technique down pretty well.

In order to use the bronze powder effectively and economically, I ended up creating what is known as a slush cast. Essentially I mixed up a batch of resin with the bronze powder that wasn't nearly enough to fill the mold, and then ran it around, sloshing it from side to side, to coat the face of the mold as effectively as I could. The sculpture had a lot of vertical edges, however, so some of the parts didn't take as well, since the bronze powder was so much heavier than the resin, but the final product came out great regardless.

When I first took it out of the mold, though, I was pretty disappointed - it looked like fairly matte chocolate, not the shiny bronze I expected. I sulked for a day or two, researched spray paints and other techniques to get the bronzed look I was hoping for, and then came across a tip I missed somehow - I needed to buff it using fine steel wool!

I dashed to the hardware store, picked up steel wool in a number of grades (from 1 to 0000), gloves and a dust mask, then came home and buffed the first one I did. The difference was night and day!

It was actually extremely metallic and looked beautiful! And the parts that the steel wool couldn't get into created a lovely patina effect, making it look aged just as I had hoped. Perfection.

I buffed up the rest and wrapped them up for Christmas, and was very happy that they were well-received. I was pleased with how they turned out, and getting to share them with my family was a treat. Plus it gave me the opportunity to learn more about the casting process, which is something I'd always been very curious about.

Monday, April 16, 2012

Salvage Youth - Going for Gold

It's been a couple of weeks since the last update, and a lot has been done on the game in that time. We had a very successful and exciting Career Fair showing (and thanks to everyone who stopped by our booths and checked out the game!), took the weekend off to recover and catch our breath, then rolled up our sleeves and got right back to work.

The first thing we did was very, very carefully review everything in the game that needed changes, tweaks, polish and attention. Then we looked at how much time we had left (not much!), who we had available to work on it (a very, very strong team) and came up with a plan on how to get everything looking as perfect as we could.

The biggest thing we wanted to do was get in more content - we had the tutorial section working very well and two good, polished puzzles for the start of level one, but we we wanted two more puzzles to wrap up the gameplay for our Gold/RC1 release. We set Vinny and Thor loose on a brainstorming session, got Bobby to write some new gameplay scripting code and we ended up with some of our most fun new additions to the game - our third puzzle falls back on the skills the player learns in the first half of the game and adds some new additions, creating a great little area for players to explore. We even got to add in a new mechanic to our game - our AC unit can be repurposed by Jenny to create a Cyclone Booster to launch our other characters over obstacles.

This puzzle leads to the finale puzzle for the game, as it stands for our first release candidate. We're still locking down the final details for it, but it will use mechanics we've used in the past, combined in new ways, to be a great big over-the-top sort of puzzle to finish off the level.

We spent a lot of time and attention on the world itself and how the players interact with it. We've been devoting a lot of care on Jenny and how she plays - right now her skills offer the player the least amount of choice and autonomy, and she feels less fun as a consequence. We're adding bigger rewards for her actions and adding a bit more of a challenge to the way the player controls her, making a mini-game to the "fix-it" animation and interaction where the players have to button-mash a simple sequence. We have the base mechanic in, and the GUI and particles for the action will be added in the next couple of days to complete the effect. On top of that, we're making sure it is clear where and when she can use her abilities and what effect they may have.

We have a couple of Buzzbots, tasked with holding up platforms, that have... seen better days. They don't have the strength to hold up much more then their platform, so when a character jumps on it they fall to a new location. To help communicate their status, we added a new animation of the Buzzbot struggling, as well as black smoke pouring out of them to show how they're malfunctioning.

We also added in new art for the name tags that appear over the character when they're selected - a simple, but effective - little touch.

We finished and polished the letterboxing and dialog system, then worked on adding small cinematic moments in the world where we do a camera fly-through to introduce the player to the next challenge they'll face. It works great, giving them enough information to let them come up with a strategy for tackling the next puzzle.

We also added the ability to create background animations, with Buzzbots flying around in the world carrying trash. It's another simple little touch, but it adds a lot of life to the scenes and ties it all together with the backstory really well. Using the iTween plugin for Unity and changing the interface to work easier for designers and artists was a huge win for the project, as this sort of thing would be a lot more work without it.

The tutorial level itself got a lot of love this last week, getting a full art/content polish pass and a lighting and shadow pass. It gives the player a nice introduction to the world in a safe, contained small play space and visually communicates the levels of trash and abandonment we want before setting the player lose in the more open world of the neighborhood.

We got the new elevator and button modelled and textured and added to the game, and they look great. We also added a little hang-out area under the scaffolding where Stu and Dustin spend their time while Jenny works on the rocket - a great little story-telling setpiece.

The lighting pass really made the level look great. We created some "hot spots" on the platforms to direct the player, then reappropriated some lamps from the work bench to create reasons for the lights to appear, making them all motivated by on-screen lighting features.

The intro cinematic is coming along beautifully, with all of the line art finished, the backgrounds painted up and half of the animation done. We just need to finish the last of it and spend time polishing it and we'll be all set. Laura and Beau have done a great job on this stuff.

We completely redesigned the Main Menu. Instead of the floor of the playhouse, it is now set up on Jenny's workbench. There's some lighting and texture polish we have left to do and a little bit of functionality coding, but we're nearly complete, and it looks awesome.

We have some new models to add to the level as well, creating more story areas and variety to the trash. It's amazing the amount of different models and set pieces we already have. Our environment artists have been so prolific over the whole project it blows my mind.

We've got concepts and starts on models for a few other objects, mainly backyard toys to show more of the history of the neighborhood, hinting at other kids living in this world that may or may not have made it onto the rockets that took off.

Overall, we've got a lot done, and a whole lot more left to do. We're going to be getting our gameplay trailer cut together this week and meeting later tonight to plan our last big push for the semester. We'll have a release to let people play in the next couple of weeks, then take a break for a little bit to recuperate from a long, stressful, successful school year. We are planning on coming back to the game this summer to get it ready for submission into contests and showcases, and will be sharing a lot about our plans for this phase of development once we've had a chance to really nail them down, but for now we're nearly done with this last big effort and ready to take a well-earned vacation.

I'll have more news next week, so I'll leave it at that and sign off. See you next week!

Monday, March 26, 2012

Salvage Youth - Beta and Beyond

It's been another fun week working on Salvage Youth, and the team seems to have recovered from the post-GDC exhaustion and various flus that went around following the conference. We met last night with DigiPen instructor Rachel Rutherford for a Team on One last night, which gave us an excellent chance to do some team diagnostics, see where everyone's concerns lay with the game and with real-world outside stuff, and discuss a number of mutual concerns we had about the current state of the game. I'll get into specifics in a bit.

In terms of progress, we've been hitting on all cylinders again. Tons of new assets added to the game, with a major focus on polishing the scenes - in particular, we're laser focused on getting the first section of Level 1 as perfect as possible for our upcoming Career Day on Friday, and we're very very close. We are hoping to have this version of the game, with the limited content, ready for both the Career Day event and for releasing to a number of places for public testing. We are very excited about both.

One of the biggest issues we've encountered, in terms of the visuals, is that the garbage bags we had in the world never really felt like garbage bags, especially the large tiled meshes - they sort of looked like purple rocks, and confused a lot of players.

Alexei stepped up to the challenge and, working with our Lead Artist Beau Bateman, revised the textures for the single bags and created some fantastic optimized multi-bag tilesets we could use to really remedy the issue, and the results have been fantastic.

Using these pieces, we've been able to replace some of the big piles throughout our game, as well as add them to some of the larger tiled meshes to really help them read.

Using this system, we've also redone the first major prop players see in this section of the game - the Trash Mountain cave Jenny and Stu emerge from to find Dustin stuck in the tree after the failed rocket launch.

This awesome little section got a lot of attention as we covered it in bits of litter, grass growing out of the bags to indicate age, other pieces of junk sticking out and a bunch of signs that Alexei made to help give it the feeling that kids had really made a fort out of the cave.

The response to this setpiece has been fantastic, and really nailed the feeling we wanted for the start of this level.

We also got a lot of new and old assets imported into the engine and placed throughout the level to help tell the story of the world. This has been a big part of my job for the last couple of weeks, and it has been a ton of fun.

We even got the car crashed into the roof that was in a much older test build of the game back in - a favorite prop of a lot of the testers we had playing the game.

Little touches like this, without a ton of other exposition, give the players a chance to tell their own version of the story of how they happened. We'll be adding decals to this section and others like it soon to help blend them into the environment seamlessly, but already it adds a lot of fun and whimsy to the game world. This part, in particular, also helps explain why we had an invisible wall there, preventing players from moving into areas they should be.

One issue we've been having lately with testing involves our dialog and scripted sequences - we have to take away character control and input from the player for these moments, but never really indicated well when they were occurring. To communicate this more clearly to the player we ended up using a rather elegant little solution - letterboxing.

By adding black bars to the top and bottom of the screen, we create a more cinematic frame composition, communicate to the player that this is a section for exposition or storytelling, and we get the added benefit of nice, clean areas for adding the dialog. This last point is a particular boon for us, as the dynamically resizing text boxes for character speech were problematic, creating all sorts of headaches and issues and we were short on time and manpower to fix them. Using a system like this fixed a number of problems all at once - a huge win for us.

The other big issue we started discussing this week, and that we brought to the Team on One meeting to nail down, was one that had been bothering us for a while. Simply put, Dustin is by far the most fun character to play. He can sprint, do double-jumps and get all sorts of interesting places the others can't. Stu can lift heavy objects and throw them around, and that's fun, too. That leaves Jenny, our smart little hacker girl. She's a great character, but she isn't particularly fun to play. She can basically walk up to a few select Buzzbots, whack them a couple times with her wrench and they fly off to a new location based on pre-scripted events created by us. She doesn't have the autonomy of choice the other characters have, and she doesn't have an awesome super power like they do.

We spent a lot of time defining the exact nature of the problem, and we came up with the following:
  • There's just not enough interesting gameplay for Jenny.
  • Players don't have enough control over what her powers or abilities can do or how they can be used.
  • There's not enough feedback for when she can use her abilities.
  • Short term, we get a lot of positive feedback, but she has no lasting appeal.
  • She has no super powers the way the boys do.
  • The things she's fixing don't look broken.
  • When she fixes something, there's nothing the player can do with it afterward.
We really looked at these issues and came up with a number of things we can do, both in the short term and in the future, to remedy the situation.
  • We have a particle system already created to add to the event when she fixes things, making it look a lot more exciting.
  • Create a UI object, like an icon of a wrench, that will pop up above a buzzbot or other object, whenever she gets near, indicating to the player that you can use her powers here.
  • Create a dotted-line UI that will indicate what she is "reprogramming" the buzzbot to do.
  • Create a small mini-game for the players to give them a sense of achievement for successfully fixing a robot. We've got a number of ideas for these, ranging from simple and (hopefully) satisfying to some with increasing complexity. We're going to get the simplest version in as soon as we can to start testing, then look at other options either for the end of the semester, if time allows, or over the summer.
  • If you do particularly well in the minigame (hit the "sweet spot" on a meter, like in golf/sports games) you get an additional shower of sparkly particles as a reward.
  • Make the robots look disassembled, then allow Jenny to initiate a scripted sequence where they "pop" together, similar to how the pieces are built in the Lego games (Lego Star Wars, Batman, etc). Fun animations like this are a great reward for the player, and Jermz is super excited to get to make some.
  • Give Jenny the ability to transform or combine objects found in the environment.
  • Give Jenny the ability to "overpower" objects in the environment. We already have plans to do this with an air conditioner unit, creating a "Jump Boost" area.
These, along with a number of other ideas, are solutions to a problem we've all kind of known for a while now. We're excited about getting them in for testing, and have a solid road map for what we can do immediately, what we can do by the end of the semester and what we'd like to get in for the final build at the end of the summer. Having Rachel there to act as a moderator for this discussion was invaluable - we've talked about these things a bit before, but having a safe place to really give the whole team a chance to give feedback and ideas with Rachel there to record everything was terrific, and we made a huge jump in terms of progress thanks to her help.

We spent a lot of attention on the foreground and background of the scene this week, too. We added in some of the telephone poles to the foreground, creating a great sense of parallax and depth. We were initially concerned that they would obscure the player or gameplay sections, but having them so close to the camera, they go past so quickly that they don't create a problem.

We made sure to add in other objects in the foreground and in the streets, creating more story areas and filling the world with interesting content.

We also made a big, yet simple, change to the tutorial. Players were initially confused because we basically have the characters going from right to left in order to advance - a huge no-no in a platformer, especially right at the start. Simply flipping the content around fixed a lot of the problem. We've got the layout of the level pretty well nailed down now, and will be moving forward on replacing all the placeholder art for this section of the game with final assets next week.

We've been going over the Level 1 section with a fine-toothed comb, and we have been fixing all sorts of small things that really help the cohesion of the game world.

For example, since updating the texture of the fences in the foreground, the background fences really needed a new color pass to make them match.



We also fixed the texture for the road in the background. The old one is on the right of the intersection, the new one is on the left.

Other fixes we've done this week:
  • Shadows in the background at the start of level 1 looked like they were flickering, because they were cast by the propeller of a Buzzbot up in the air. We fixed this by turning on the shadow casting of the tree canopy in front of the yard and carefully arranging some of the geometry of the tree to obscure the issue.
  • The texture of the grass/ground in the background looked neon (see the picture above for an example). This was fixed.
  • The smoke coming from the first rocket part in the scene was "popping" in. This was fixed.
  • The scaffold pole for the platforming area by the bus puzzle was clipping through the roof of the house it was built adjacent to. We tweaked it a little to fix the problem.
  • The character outlines were too thick and were breaking in places. We went through and standardized them to a very thin outline, and it is working much better now.
  • Issues with the old trash piles textures being stretched and ugly were fixed by simply replacing them with versions of the new trash piles.
We also have been fighting with a big problem with the character controllers, off and on, for weeks. Whenever they'd walk down a slope their "falling" animation would be triggered, making it look like they were stumbling or floating down ramps, and they were unable to jump. Bobby Simpson, our gameplay programmer, implemented a terrific solution to this problem and the characters now control much, much better.

Since we had our big team-on-one yesterday we are foregoing our usual Monday team meeting and all getting together to get a team work session tonight. We have a long list of other fixes, tweaks and assets that need to be made, but we're working in rare form at the moment and are excited to get the build ready for Career Fair. More then that, we can't wait to get a build ready for public testing - there's a lot of people who have already been expressing excitement to try the game, and this will be a wonderful way to give them access to at least a taste of Salvage Youth, while getting a lot of fantastic gameplay testing feedback and data. Our Lumos metrics plugin we implemented a few weeks ago tracks a lot of how the game is played, and we're really looking forward to seeing how well that data helps our design process once we get it out to a wider audience then we can get through DigiPen's playtesting club.

All in all, it's been a heck of a week, and we're all set to have another great one. Thanks for checking out the Development Journal this week, and we'll see you next time!

Sunday, March 18, 2012

Salvage Youth - Mad Rush Toward Beta

It's been an interesting couple of weeks in the development of Salvage Youth. Most of the team was out of town for an entire week during GDC and work ground to a halt, and it's been an uphill climb to get everyone back on track. We expected this delay, though, and accounted for it in our planning, so we're still on track to meet our goals. We just have a lot left to do, and not a lot of time left.

Our major milestones are coming back to back - we want to have a Beta build done this week, and the following week we'll be rushing to get everything ready for Career Day, our school's annual Job Fair where we'll be demoing the game for upwards of 30 different game studios who will tour through our campus and see our individual efforts.

To prepare for GDC, we got a lot of promotional materials created, including our website - is live! It has a brief description of the game, gameplay video, concept art and screenshots and a complete list of credits for the game, including links to all of our respective blogs, portfolios and LinkedIn accounts. The game is really built as a portfolio piece, after all. We also put together a number of PDFs to highlight the game's features and development, and they were extremely well received by everyone we showed the game to. We're hoping to submit it to a number of contests and showcases once we release the Gold build in May. The gameplay video we brought to GDC is below, and already so much has changed from this version that I'm excited to make a new one.

As far as specific progress, we spent a lot of time tracking down bugs and polishing assets over the past few weeks. Just a huge amount of work. The biggest change is that we're finally able to upgrade the project to Unity 3.5, which has revolutionized our workflow. The ability to make changes to multiple objects, use the enhanced profiler to identify the source of specific bugs, the new particle system and the upgraded light mapping tool, as well as the more efficient engine itself, has really made our game and pipeline so much more efficient and effective. Just by installing the new version we gained over 30 frames per second, and are shaving hours off of our efforts in the engine. It's absolutely spectacular.

In terms of specifics, however, we've gotten so much back-end stuff done, it's great.

  • The dialog system is in and fully functional, with animated sprites per character. It pulls dialog directly from a database, allowing us to easily translate and localize the game into different languages. We'll be supporting English and French, and possibly others.
  • Jenny's "fixing" animation is now working, and it makes her interactions and "powers" make so much more sense.
  • Sound effects are in for footsteps, triggering on event, and changing according to materials they walk along.
  • Buzzbots now hold platforms above and below their heads, giving us thematic reasons for floating platforms. We can constrain them to one-time-use or looping iTween paths, giving us a lot more platforming gameplay.
  • Refined our level 1 "bus" puzzle over and over, with playtesting data, to get it as streamlined as possible. Still needs work, but it's a solid section of gameplay now.
  • We created an entire new platforming area after our initial Level 1 "bus" puzzle.
  • Re-lightmapped areas in the background to fix problems with shadows and other errors.
  • Added new utility buzzbots to the world.
  • The run, jump launch and jump landing animations for all the kids have events set up for them so they'll play at the correct speeds and have sound effects play correctly when their feed hit the ground.
  • Background music is added to the opening splash screens.
  • Added a more consistent check for whether or not the kids are standing on solid ground using ray casts.
  • Refactored jenny's fixing ability to be more consistent across the different objects she can interact with.
  • Adjusted how we're creating the dialog boxes so they're easier to move and manipulate around the screen.
We figured out how to create animated textures in the engine by sort of hacking the Particle System and making it do what we need. It's pretty great, though, because we can do cool stuff like this:

We've also got decals working in-engine now, giving us the ability to enhance a lot of the art in our game.

Alexei made some great new accessories for our yards to help fill up the world.

He also retextured the telephone pole. well as our collectibles.

Zach and Stephanie worked on some new accessories, as well - toys to litter around the world and give the yards and neighborhoods a more lived-in feel.

Beau's been creating some great concept paintovers to guide our work - we're making a big push this coming week to polish how the garbage bags look in our game, making sure they read well. They're such a critical part of the look of our world, it's critical we get them just right.

We've been going over everything in our first level with a fine-toothed comb, looking for anything that can be polished and made more presentable, and making sure that it all gets the attention it needs. It's been a fun process, really polishing the game and the layout of the world itself, building little areas of story and composing the main gameplay areas for the camera. We're getting closer to our goal, and the game has come an astounding distance already. I played a build from January just a little while ago and it is hard to believe it is even the same project.

We're hitting the ground running this week, now that we've got our momentum built back up after the lag of GDC, and we should have lots of great stuff to share next time. See you then!