The Broadside Express code timelapse

Uploaded by WolfireGames on 22.02.2012

This is an abridged livestream of David from Wolfire coding for the Humble Bundle Mojam
Charity event. In this event, Mojang, Oxeye and Wolfire streamed the creation of 60-hour
game prototypes to raise money for charity. David used Unity so that viewers could easily try
WIP builds of the game while watching the stream. Unfortunately he did not really know
how to use Unity so he frequently had to look at documentation and sample projects.
The assigned theme was ancient Egyptian steampunk real-time strategy shoot'em up, so Wolfire
decided to make a game about steam-driven tank trains fighting robot scorpions in the
sand dunes of an Egyptian desert. To do this, David started by trying to make a box move
around on the screen. Then he made it fire cannonballs from each side.
He simulated recoil for the cannonballs by tilting the box whenever it fired a broadside.
Using sfxr and the free trial of Reaper he made some terrible sound effects.
The train needed something to shoot at so he started working on some human-sized target
boxes. These human-sized target boxes swarmed the train box like a horde of ravenous zombies.
Aubrey created the train model using a unique 3d pixel art style, so David had to figure
out how to render it in Unity.
He found a free sand texture on the Internet, and made it tileable by enhancing it with Adobe Photoshop software.
The broadsides looked a bit dull, so he added a simple muzzle flash particle effect as well as a ground impact flash.
It was hard to see where the cannonballs were in space, so he added a shadow directly below them.
Now the broadsides looked a lot better.
Next he created a simple physics engine so trains could attach to one another with angular spring constraints.
This took a while.
Aubrey made a whole bunch of new 3D models, so David replaced the man-sized target boxes
with the robot scorpion. Anton Riehl created some amazing music from scratch, including
the songs in the background of this presentation, so David added it to the game.
Aubrey created an 8-bit steampunk heads-up display, so David tried to figure out how
to handle GUI elements in Unity. Aubrey also created an intro splash screen in several
layers, so David used them to create a layered animation.
Next he investigated collision detection and response to see if the native unity physics could be adapted to work with the trains.
He decided to make his own system instead.
This took a while.
Aubrey made a whole bunch of new 3D models, but David still had not completely finished with the robot scorpion.
David hooked up animation and movement AI to the scorpions, as well as particle effects
for attacking and dying. He also added heat damage to the train, so it would glow red
hot and then shut down. He then hooked up burning frames for the crew in the HUD.
The train was designed to be viewed from up close, so he tried out some closer camera
angles. He then started working on adding an enemy train, and adding flame effects for damaged trains.
Viewers had a lot of suggestions, so he compiled them into a to-do list.
He made the gauges work, to display speed, heat and damage.
He then added enemy train AI so you could have train duels. Train duels should end in big explosions, so he added a new sound
and particle effect for dying trains.
Aubrey added color to all the models, so David added
color to the effects to match. He also hooked up some sound details by Anton, such as happy
cues when enemies are defeated, and sad ones when you die.
After adding increasing waves of difficulty, that was the end of the sixty hours, so he
had to stop. Everyone accepted this restriction very gracefully.
Well, MOST people understood the time restriction, and that 100% of the profits went directly to
charity. All of the Broadside Express source code, project files and assets are available
for anyone to continue where we left off. Thank you for watching this abridged livestream
of David from Wolfire coding for the Humble Bundle Mojam Charity event. Good day!