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!

Monday, February 20, 2012

Salvage Youth - Inches from Alpha

With Alpha due Wednesday night, the majority of the team spent all three days of our holiday weekend working together to get the as much done as possible. It was great having everyone together, solving problems, working on features and polishing assets and layout. We didn't get every single thing done we'd like, but we still have a couple of days before Alpha itself is due.

We had a number of specific goals we wanted to really target as we got started.

  • Focus on polishing the first puzzle area after the tutorial
  • Get the character controllers working and feeling good to move around, jump and explore
  • Get the GUI system in and functional, including animated textures for status animations and our dialog popups to guide the player
  • Build and implement a system to control the camera for cinematic animations between puzzles to help guide the player
  • Fill the world with interesting scenes using the dozens of props we have implemented in the engine
  • Polish textures, lighting, tiling and level layout
  • Build any new assets needed to get the first section of level 1 working really well
Given this list, we got to work. We had a number of specific goals to address, and managed to get a ton of them done. By Friday of this week, we had a huge number of new assets, scripts and plans ready to go for our marathon work session.

One of the first things we did this week was address the lighting - we had only sort of blocked it in prior, and it needed work. We wanted to lighten up the assets and really focus on getting the feeling of warm sunlight and cool shadows. To do this, we tweaked the ambient light system to give us a cool baseline blue to work from, then used the directional light in Unity to get a nice warm yellow light, with a purple directional facing the opposite way to provide an additional fill. In the pictures below, the image on the left is our original settings, the image on the right is our new light system.

The clarity and enhancement it provides is remarkable. It makes a huge difference in how the game levels feel. We're going to try for an opposite approach for our tutorial section, which takes place in a sort of "bat cave" inside a mountain of trash bags, so the light will be a cooler night-time blue with a few god-ray shafts of sunlight peaking through holes in the mountain. It should provide a nice contrast and a great feeling of exploration to go from the first short sequence to a drastically different "main" world.

We also started looking for ways to really break up our environment more, and Beau created this paintover on how we can add streets receeding into the distance to create more of a feeling of distance and place. Before our level was a single long strip, and as you went up you could tell all the roads were just long parallel lines. This helps break that up and make the exploration feel like you're crossing from block to block.

He also created some new concepts for some plants and shrubs to help add more variety to the grasses that are overgrowing our neglected world of trash.

Alexi, naturally, whipped these into full 3d models in no time.

Alexi has been on an absolute roll this week. He re-styled the textures for the backyard fence and the rooftop planks to match the style we had on the pallet and crates.

He also created basic flood fills for our collectibles.

And as if that wasn't enough, he finished the texture for the rocket, which looks awesome.

He also made sure that we had access to all the bits and pieces from the rocket to use as extra trash throughout the game.


The rocket is the first major setpiece for our game and helps introduce the world and story to the player, and then takes us into our first in-game cutscene and introduces our crisis that the players spend the rest of the game solving - as you would expect, having been made by little kids, it doesn't work so hot. I grabbed the rocket model early this week and applied some very basic animations to make sure we could get the cut scene working in-game, and then gave it over to Jermz to work his magic on.

This, combined with a camera shake, textures, lighting and particle effects, looks so good in the game.

We got the new rocket model placed into the tutorial area and added a lighting system to help draw the eye to the goal - getting Dustin into the cockpit.

Visual cues like this, along with our camera animation system and dialog, are going to fix the biggest issue we've had in playtesting - our players don't know where they're supposed to be going or what their goal is. 

Knowing this, we spent a ton of time working with the iTween plugin and got a great camera animation system in and functioning well. Already we are guiding the player, using cinematic pauses in the game, to show them where to go next.

We put a ton of attention into getting our dialog system up and running, which was a pretty complex job. To get it fully functional we want it to:
  • Utilize the GUI system to float in front of the screen in a predictable location.
  • Pause gameplay during dialog systems.
  • Allow for pauses in dialog for camera animation.
  • Pull all dialog as strings from a database, to allow for localization into multiple languages and much easier editing.
  • Have animated images of the characters talking next to the dialog.
  • Have "typewriter" style text so that the letters appear rapidly one character at a time.
  • Allow the player to skip through the dialog at the press of a button.
All of this required a lot of systems to work together well. We didn't get all of it in yet, but we've got the GUI in and pulling from the database, we've got the script set up for the entire tutorial and all of the first two puzzles converted into the database, we have animated textures for the dialog rendered off of each character, we have the ability to show and hide the GUI at a key press, we can pause input for the scenes and we already have our camera animation system in. We have the basic tech in place to allow for triggers to occur to start the next sequence of dialog, there's just a lot of under the hood wiring that needs to take place to get it all working together, and we're working today and tomorrow to get as much of it in as possible before compiling the Alpha build.

To create the animated talking head textures, I got the character rig files and set up a light and camera rig, setting up the scene to hand over to Jermz to animate. Zach went through and made sure we had a suite of textures to apply to the characters, and using this system we would create a whole batch of PNG sequences rendered from the camera, with a transparent background, that we could pick and choose from to make our character appear to be talking. I set up the camera in each scene and created a three-point lighting rig, customized for each character.

With these, we can create the final marqueed images.

I was setting up the camera rig and testing a batch render for Stu when I accidently rendered from the wrong camera. The result, however, was so adorable I couldn't help but fall in love.

Look at him go! Awwwww.


A lot of my time this week was spent using the existing assets we had in the game and making new setpieces or background elements out of them, like this rickety-looking treehouse we have hidden off in the background.

I also modelled a whole bunch of new trash piles, using our tiling trash bag system, and created a ramp of trash to put next to our schoolbus, a setpiece for one of our puzzles. Once I had it in engine, I absolutely covered it in trash and other assets, trying to reach the level of "fullness" we wanted for our game. This is the first spot we have in that really feels polished and to the level of visual storytelling and neglect we want to convey our world.

We came up with a rather brilliant way of scattering lots of objects around in our world quickly - a system I like to call the AutoLitterer. Essentially we take a bunch of small objects, like the fast food bags and soda cans, add rigidbody physics and mesh colliders to them, duplicate them over and over, then just hit play and let gravity do the work. Once they settle, we can copy their locations and reset them back to their original place in the AutoLitterer, then paste in new instances of them back on the ground where they settled. Then we simply select the new trash on the ground, revert them back to their original prefabs and it strips them of the expensive collision and physics. Voila, instant trash!

In the background of the image above, you'll likely notice another new addition - Zach got us new grass textures in-engine, so now we have lanes and patchy areas of dirty and grass. Alexi also modelled up the new curb system with the corners and the "vertical" roads, and Beau painted new asphalt textures and crosswalks, completing the picture.

High up above this scene, we've got our Buzzbot chugging along. Jermz got these dudes animated, and combined with Zach's textures, they look awesome in the game.

In this picture, you can see the grass and patchy dirt textures a lot better, as well as another new addition - the trees are done! Beau made some really clever new geometry and textures for the leaves, and they really fit our game world a whole lot better.

He also got in some new low-poly versions to replace the ones in the background.

Steffani finished up the Work Bench, both in the high-poly for the main menu and the low-poly version for in the game, and it looks great.

The character controllers are now fully functional and feel a lot better to control - we've dialed in the speed and abilities of all of the kids, and got Dustin's double-jump ability in and working. Even better, we've got the animations for most of them working. The double-jump animation looks so good. I'll have video of gameplay coming soon, and I can't wait to show the whole world coming to life.

Speaking of which, there's another new addition we added this week. It isn't a critical feature by any means, but it looks really neat - trash blowing and tumbling in the wind. We took a couple pieces of the little trash from the AutoLitterer, then gave them limited mass and drag and applied a constant force. When we hit play, they roll and tumble down the street, gathering up in corners and moving past like tumbleweeds. It's another small little touch, but it really does add a lot of neat little life to the game.

Let's see, what else? Oh! We've got a way to record the gameplay footage now. This was all recorded on Saturday night, so a lot has changed since, but it's still cool to see it all together.

I think that covers just about everything so far. As I said, it was a busy weekend, and a ton of fun, even if we are all exhausted. We'll be working through tomorrow and Wednesday, as schedules allow, to get the last bits ready for Alpha. It still isn't quite as far along as we'd like, but it is so gratifying to see the game falling into place the team working together to get so much accomplished in so little time.

As we finish up Alpha, we'll be trying to polish up as much as possible through next weekend, then recording off gameplay footage and other neat stuff so that we can prepare it for GDC, which is just around the corner. Almost everybody on the team is going, and we're all looking forward to having a break from working on the game and getting out there and showing it off to everybody in San Francisco. 

See you next week!