tag:gaudinogames.com,2013:/posts Gaudino Games 2016-06-17T23:43:03Z Chris Gaudino tag:gaudinogames.com,2013:Post/891191 2015-08-07T04:32:52Z 2016-06-17T23:43:03Z When Pigs Fly Greenlit on Steam!

Fasten your seatbelts, folks! When Pigs Fly has been greenlit on Steam!!!

Thanks to all who voted!

Chris Gaudino
tag:gaudinogames.com,2013:Post/889215 2015-08-02T20:43:08Z 2016-03-19T12:50:30Z When Pigs Fly v0.3.1 bugfix update released

I just finished uploading a small update to When Pigs Fly. This update is focused mostly on small bug fixes, but I did add a couple new things. 

- The bomb drop target now pops up a new UI to show you how close to the bullseye your bombs hit. 
- You can now change the units of measure. Press U to cycle through mph and feet, knots and feet, or km/h and meters. 
- Improved joystick support. 

Get When Pigs Fly version 0.3.1 here!
Chris Gaudino
tag:gaudinogames.com,2013:Post/888071 2015-07-30T04:18:58Z 2015-07-30T04:20:40Z When Pigs Fly Bugfix Update this Sunday

I'll be releasing a bugfix update on Sunday.  I strongly urge all of you to avoid hitting the 'L' key in build mode until the bugfix update is released (including typing in the save dialog).  Here's a rough outline of the changes:


- Landing near the bombing target will no longer award the achievement for landing on the barn.

- Repaired control axis for joystick and gamepad support in standalone versions.

- Fixed issue with hitting 'L' key in build mode loading a craft.

- Fixed issue with time trial GUI not hiding after course finished.​


- GUI to display closest hit on bomb target

- Add ability to switch units on speed and altitude

For people playing in the webplayer version, this update will create a new save file for you (nothing I can do about this unfortunately, its a gamejolt thing).  Don't despair, your designs are not lost!

To get your saved builds back, you’ll need to open your old save file in a text editor, copy the contents, and paste them into the new save file. The necessary files are located here:

Mac OS X: ~/Library/Preferences/Unity/WebPlayerPrefs

Windows: %APPDATA%\Unity\WebPlayerPrefs

Chris Gaudino
tag:gaudinogames.com,2013:Post/886146 2015-07-24T23:22:51Z 2015-07-24T23:22:51Z When Pigs Fly is now on Steam Greenlight!

Good news everyone!  When Pigs Fly is now on Steam Greenlight.  Head on over there and vote so I can keep developing this crazy game!

Chris Gaudino
tag:gaudinogames.com,2013:Post/885425 2015-07-23T12:33:04Z 2015-07-27T18:27:52Z When Pigs Fly v0.3 Released!

The 0.3 update is finally here!

Here are some of the new features:

  • Several new parts, including two new engines.
  • Powered hinges! (right click on them in build mode to change movement keys)
  • Water & bouyancy physics
  • Bomb drop target (fly over the target and drop something on it, a secondary camera will appear so you can watch your bombs hit)
  • New spawn locations
  • Explosion effects and physics
  • Symmetry mode (currently doesn’t work with triangles and tractor wheels)
  • Improved flight model and physics
  • Re-targetable camera (left click a part in fly mode to focus on it, click elsewhere to refocus on the pig
  • Tweakable control surfaces - right click on control surfaces in build mode to change how much they deflect (very useful for improving flight characteristics of your designs)
  • Mouse and zoom sensitivity sliders in build menu
  • Reset game button no longer deletes all your designs

There are also several new default designs, including:

  • DiveBomber: a nimble single engine plane with retractable gear that carries two fuel cans as bombs.
  • AmPIGian: an amphibious plane with retractable landing gear.
  • PigCopter: a reasonably well balanced helicopter.
  • TiltJet: a VTOL capable jet with tilting engines.
  • FlyingTractor: well, a flying tractor.
Chris Gaudino
tag:gaudinogames.com,2013:Post/879760 2015-07-11T14:56:12Z 2015-07-21T01:31:29Z When Pigs Fly Status Update

As many of you are aware, on Thursday I commented that I was having some problems with corrupted scene files and missing prefabs just prior to finalizing When Pigs Fly 0.3.  Unfortunately, what I initially interpreted as corrupted files turned out to be a rapidly dying hard drive in my development machine.  It has now failed completely.

I do have backups, but I've probably lost about a week's worth of work, plus or minus a day or two.  I have a new HDD on the way, so my machine should be back up and running on Monday.  The timing on this is very unfortunate, however, as I have several other commitments this coming week that I cannot break.  

My goal now is to have the update released on Wednesday, July 22. I apologize for the delay, and thank you all for your patience.

Chris Gaudino
tag:gaudinogames.com,2013:Post/873890 2015-06-25T19:56:11Z 2016-02-29T04:35:00Z When Pigs Fly v0.3 Release Date

Finally done with a spurt of traveling, I'm now back and ready to announce the release date for When Pigs Fly update 0.3.  This update has taken longer than I wanted/expected.  That is in part due to feature creep, as well as my travel schedule.  The biggest delay, though, has been the issues with the Unity webplayer.  As many of you know, Google disabled NPAPI by default in a recent update to Chrome.  NPAPI is necessary for the Unity webplayer to work.  For the time being, it is possible to enable NPAPI, but it will be disabled permanently in September.  

I have been exploring alternatives, including Unity's WebGL export and porting to other engines, but neither are good options in the short term.  0.3 will be released on the same platforms as previous versions.  Chrome users can either use the workaround to re-enable NPAPI, switch to a different browser, or download the native build for their OS (I strongly recommend this option anyway).  Hopefully the WebGL build options will mature quickly.

Anyway, enough doom and gloom.  I think you're all going to love 0.3. There are a TON of upgrades in this version.  It will be released on July 10. Stay tuned in the meantime for some cool previews of what's to come.

Chris Gaudino
tag:gaudinogames.com,2013:Post/843640 2015-04-20T19:12:04Z 2015-04-20T19:12:04Z Ludum Dare 32: drone-a-pult

This weekend I participated in Ludum Dare 32.  The game I made is called drone-a-pult.  You control a quadcopter with a tether on the bottom, and use that tether to pick objects up and throw them at stuff. You can play it here.

Here's a gameplay video:

And here's a time lapse video of the dev process:

Chris Gaudino
tag:gaudinogames.com,2013:Post/839750 2015-04-12T18:02:36Z 2015-04-12T18:02:38Z Sunday Experiment - Using OpenStreetMap Data to Build Real Roads in When Pigs Fly

A while back I wrote a post on using Voronoi noise to build procedural roads.  Now that I've transitioned to a real-world map, that solution is less than ideal.  The roads in area I've chosen to recreate are pretty simple (and there aren't many in the first place).  If I stuck to just the main roads, I could probably add them all by hand.  As a solo developer, though, time is precious.  This morning I started experimenting with data from OpenStreetMap (which is provided under the ODbL license). 

Chris Gaudino
tag:gaudinogames.com,2013:Post/839224 2015-04-11T02:10:12Z 2015-11-09T09:50:53Z Screenshot Saturday - New Map, Again!

This week's Screenshot Saturday is all about the new map.  I set out early this week to integrate water into the map, but it wasn't going to quite as simple as it sounds.  Most of the flat areas in the current map are at or below sea level, meaning adding water would fill most valleys entirely.  This was not what I wanted, so I decided it would be easiest to scrap the current map and start from scratch.  Around that same time, it occurred to me that using a real world location would probably be easier and better than anything I could make up.  I tried a bunch of different real-world places (as you'll see in the screenshots below), but finally settled on Grand Teton National Park.  The Tetons fit all of my requirements.  I wanted mountains both for aesthetic reasons and to provide interesting flying challenges.  I wanted large, flat, open areas to provide lots of places for runways and low level flying.  I wanted bodies water large enough to be useful for seaplanes, but not so large that they dominate the map (water is more resource hungry than water).  The very dramatic features of the Tetons also lend themselves very well to the low-poly, low-detail art style.  Finally, since I've been there a few times, I had good photos to base some landmarks on.  Anyway, lets get to the screenshots.

Chris Gaudino
tag:gaudinogames.com,2013:Post/836183 2015-04-05T16:37:50Z 2015-04-09T19:06:56Z Sunday Experiment - Moving Color Correction from Image Effect to the Shader

If you've seen any recent screenshots of When Pigs Fly (it'd be hard not to if you've visited this site), you may have noticed the colors in the game changing.  I've been using Unity's color correction image effect to bump up the saturation and slightly modify the green channel.  I think it looks good enough that I was willing to take the 5-10 fps hit that the image effect caused.  This morning I realized that I wasn't really using much of the power of color correction, so I set out to get the same effect in a simpler and hopefully less expensive way.

Chris Gaudino
tag:gaudinogames.com,2013:Post/835602 2015-04-04T03:08:37Z 2015-07-25T01:21:13Z Screenshot Saturday - New wheels + Ground effect!

This week for Screenshot Saturday I'm showing off 3 new wheels.  Lets start out with the new tractor tires and the flying tractor:

I used the big tires to make the Pigaggio reversible.  Now it can land upside down!

Chris Gaudino
tag:gaudinogames.com,2013:Post/834218 2015-04-01T14:57:30Z 2015-04-03T13:31:13Z New Project Announcement!

Chris Gaudino
tag:gaudinogames.com,2013:Post/832612 2015-03-29T16:54:03Z 2015-03-29T16:54:03Z Sunday Experiment - Ragdoll Crashes

This morning I set out to test ragdolling the pig on crashes, but my first test crash was so disturbing that I may not continue.

Maybe if I add some more spring force to the joint and tighten up the limits a bit it won't be quite so gruesome.
Chris Gaudino
tag:gaudinogames.com,2013:Post/832317 2015-03-28T15:28:19Z 2015-03-28T15:28:20Z Screenshot Saturday - More Cranial Accessories

Its flight helmets and eye protection in this week's Screenshot Saturday.

Here we see an old fashioned leather flight helmet and goggles.

And here is the modern counterpart.

Last, but certainly not least, the classic aviator sunglasses.

Chris Gaudino
tag:gaudinogames.com,2013:Post/822925 2015-03-11T18:49:47Z 2016-04-11T10:08:00Z Sunday Experiment - Messing with the Visuals

I'm going to be traveling on Sunday, so I'm going to count this post as my Sunday Experiment of the week.  As When Pigs Fly has grown, the visual quality has not grown along with it.  I like the low-poly style, but there are a bunch of areas where the graphics could be improved (mostly lighting related).  This morning I tried several different things to quickly improve the look of the game.

Depth Perception Issues

One thing that has plagued flight sims forever is a sense of depth.  It can be very difficult to gauge your altitude as you approach for landing.  The easiest way to accurately judge the approach is to watch the shadow of your aircraft.  The problem is that, depending on the light direction and camera position, the shadow isn't always visible.  The problem is exacerbated in When Pigs Fly by the low poly terrain, with no detail or texture on the ground there.

I thought shading the edges of the polygons in the terrain might help.  With a visible wireframe of the ground, the player could gauge altitude by the shape of the triangles.  I wasn't sure how it would look though, so I didn't want to spend a ton of time writing an edge detection or wireframe shader.  But since the terrain is procedurally generated and vertex colored, I was able to cheat and get the same effect with just six lines of code.  I changed the terrain generation code to make the uvs of each triangle of the mesh to be (0,0), (1,0), and (0,1).  I then modified the shader to mix a texture with the uv colors.  With a simple black outline of a triangle for a texture, here was the result.

This turned out great for how little effort it required, and the edge lines do help with a sense of depth on landing, but I just don't like the way it looks.  I'll still have to come up with another solution to the depth problem.

Color Correction

I've been fighting with the lighting in When Pigs Fly from the beginning.  I never found a way to have everything lit like I wanted while maintaining the warmth of the colors.  Now that Unity 5 has made all engine features free, I can use the color correction post effect.  There's still some tweaking to do with the color curves, but its already way better.



Shading and Shadows

Unity's shadow system doesn't work particularly well on the planes in When Pigs Fly.  With several objects so close together and sometimes overlapping, the shadows generally look horrible.  So this morning I disabled shadows on the planes themselves (they still cast shadows on other objects).  In my opinion, no shadows looks way better than bad shadows.

I also experimented with toon shading.  The first experiments were great, and I was about ready to move on to the next task, but I had been looking at stationary objects.  When I took a plane up and saw the toon shading in motion, there was an immediate problem.  The low-poly look results in some pretty big faces in the model, and when they're moving a lot the lighting tends to "snap" from one light level to another.  Here's what I mean.

After playing with the lighting ramp for quite a while, I think I've mostly solved this problem.  The gradients from one "step" to the next have to be gradual, and its a pretty fine balance between light "snapping" and not really being toon shaded.

The last thing I did was add the crease shading post effect.  It helps objects stand out, which is important because many objects in When Pigs Fly share the same colors.  It also just looks cool.


I think I made some great improvements in just a couple hours time.  The color correction has made the most drastic change.  There is still a lot to improve though.  The pig model needs to be redone pretty badly.  It also really bothers me to see distant trees without shadows.  I have some ideas on how to fix that last one, but I'll leave those to another post.

Chris Gaudino
tag:gaudinogames.com,2013:Post/821090 2015-03-08T16:50:51Z 2015-03-08T17:12:41Z Sunday Experiment - Generating Procedural Roads

I'm a bit sick this morning, so this week's Sunday Experiment is a quicky. One of the things I want to improve in When Pigs Fly is the feeling of a live world around you.  The first step in that direction is adding towns and roads.  Also, as I start distributing more things to do around the map, its important to have some sort of system to guide players to those activities.  I think roads are a nice, subtle method of directing players to new areas.  For today's Sunday Experiment, I started laying the foundation for a system that generates roads procedurally, while still allowing me to control where certain roads end up.

Chris Gaudino
tag:gaudinogames.com,2013:Post/820639 2015-03-07T15:34:23Z 2015-03-07T17:24:03Z Screenshot Saturday Bonus Round

I built a mobile rocket artillery launcher this morning to go along with the cruise missile from last night.

And a surface to air missile version.  I managed to shoot down a drone!

Chris Gaudino
tag:gaudinogames.com,2013:Post/820493 2015-03-07T04:09:03Z 2015-03-07T04:19:27Z Screenshot Saturday - Explosion Effects

Recently there have been a lot of people asking me to add weapons to When Pigs Fly.  There have also been just as many people asking me to not add weapons.  WPF was never intended as a combat game, but if thats how people want to play it, I don't want to stop them.  With that in mind, my current plan is to not add weapons directly, but to enable people to build weapons if they desire.  The first step in that direction is adding explosion effects.  For this week's Screenshot Saturday, I've got a bunch of fiery gifs showing the new explosions.  Click the read more link to check them out.

Chris Gaudino
tag:gaudinogames.com,2013:Post/819169 2015-03-05T00:53:49Z 2015-03-05T00:53:49Z My first 24 hours with Unity 5

I've been anticipating the release of Unity 5 since I attended the Unite '14 conference in Seattle, but not for the same reasons as many people.  The most talked about new features in Unity 5 are the new physically based shading and lighting systems.  While those look great (that Blacksmith demo was gorgeous), they don't really apply to what I'm doing.  The update to PhysX 3.3, though, is of great interest to me.  So yesterday, about 5 minutes into the release announcement, I started the download.  Here's the story of my first 24 hours of upgrading When Pigs Fly to Unity 5.

Chris Gaudino
tag:gaudinogames.com,2013:Post/817039 2015-03-01T17:38:53Z 2015-03-01T17:38:53Z Sunday Experiment - Can Pigs Fly on Mobile?

People have been asking me if When Pigs Fly will ever come to mobile ever since the initial game jam release.  I have always quickly dismissed the question, assuming that the performance would be too poor to be worthwhile.  For my Sunday experiment this week, I decided I should confirm my doubts.  The results were pretty surprising.  In fact, on one device, the game ran better than it does on the laptop I use to develop it.

Chris Gaudino
tag:gaudinogames.com,2013:Post/816670 2015-02-28T06:07:45Z 2015-02-28T06:09:09Z Screenshot Saturday - Bomb Targets

Ever since I debuted the para-chickens, people have been asking me what they're supposed to use them for.  I don't think para-chickens really need a purpose, but one of my favorite things to do with them is try to drop them as precisely as I can.  This week I added bombing targets to make this easier and more fun.  The targets detect when something is moving nearby and automatically pop-up a target camera.  The camera stays up so you can see where your "bombs" hit, then automatically hides itself.  They also record your most accurate drops, but I haven't set up the UI to display this information yet.  Here they are in action:

Carpet Bombing

Dive Bombing

Chris Gaudino
tag:gaudinogames.com,2013:Post/815734 2015-02-25T23:15:20Z 2015-02-28T22:40:16Z When Pigs Fly - Drag Race Challenge!

Its time to do another challenge!  We're going to do another speed challenge, but this time we're going to take advantage of the drag race course to limit entries to sustainable, controllable designs.

To enter, design your racer, then fly through the drag race course as quickly as you can (turn left after takeoff to find it).  Take a screenshot of your score after you fly through the final gate, then submit it in the comments here, over on gamejolt, or in a tweet to @GaudinoGames on twitter.  Don't worry if the score disappears.  Just fly through the course again and your best score will be displayed.

The top three entries will have their designs included in a future update of the game!  The deadline for entries is Sunday, March 8 at midnight EST.

Go get started!

Chris Gaudino
tag:gaudinogames.com,2013:Post/814171 2015-02-22T15:58:42Z 2015-02-28T06:08:32Z Sunday Experiment - Endless Terrain

In the original version of When Pigs Fly, actually building a working airplane was pretty difficult. As a result, the map could be pretty small without worrying about running out of room to fly.  As I improved the flight model, added better parts, and people generally got better at the game, the map quickly became too small.  People were building planes fast enough to cross the map in under a minute.  Eventually I replaced the map with a much larger one.  This alleviated the problem a bit (it now takes 10 minutes or so to fly across the map in an average speed plane), but it didn't completely solve it.

Ever since that first map, I've been trying to decide what my solution is going to be.  I've thought about making the world wrap around, so when you fly off one end of the map, you warp to the other side.  I've thought about replacing the 'flat' map with a globe, so that you can actually fly around the world.  Today, though, I wanted to experiment with endless terrains.

How it works

The terrain in When Pigs Fly has always been generated at runtime (using my WIP low poly terrain generator).  But since I always use the same seed, the terrain is always the same and is static once generated.  My terrain generator works by building a flat grid of triangles, then setting the height and color of each vertex based on a height map (procedurally generated or otherwise).  

This morning, I replaced the height map with a very simple perlin noise implementation.  I also added some code to the terrain system that monitors the position of the player.  When the player moves past a certain distance, the terrain is recalculated with a new offset to remain under the player. Here is an exaggerated example.

Why this isn't a good solution

Terrains in when pigs fly are low-poly and vertex colored.  The nature of this system means that when the terrain is recalculated, if the x and z values of a vertex aren't exactly the same, its height and color will change.  I did a few things to fix this problem, but it still isn't perfect.  I could do more to make sure the terrain respawns on an exact grid, but that still wouldn't fix the next problem.

The entire terrain mesh is regenerated every time, meaning that I am wasting resources rebuilding parts of a mesh that already exist.  In my small scale tests this wasn't a huge problem, but I imagine it would become an issue in game.

What I'll probably end up doing

I think it would be better to generate new "chunks" of terrain as the player nears the edge of the map, and delete them as they get far away.  This way there would be no time wasted generating things that already exist. It would also solve the issue with exactly matching vertices.  It should be pretty easy to implement this system, as the current terrain is already split into chunks to stay under Unity's maximum mesh size.  I think draw distance is really important in flying games, so I also want to experiment with an LOD system so that the terrain truly stretches to the horizon.

Chris Gaudino
tag:gaudinogames.com,2013:Post/812629 2015-02-17T14:49:06Z 2015-02-28T06:09:34Z The Plywood Pig on a Larger Scale

I had a few spare minutes this morning, and it was really bothering me that my Spruce Goose recreation wasn't as majestic as the real deal.  So here's a bigger one.  I think I nailed it this time.

Next time I have a break, maybe I'll use the powered hinges to make an amphibious version!

Update: Amphibious pig!

Second Update:

Pig carrier!

Clearly I need to develop some sort of arresting system.

Chris Gaudino
tag:gaudinogames.com,2013:Post/812071 2015-02-15T18:03:44Z 2015-02-28T06:08:27Z Sunday Experiment - Buoyancy and Seaplanes

For this week's Sunday Experiment, I'm revisiting something I briefly attempted during the original jam dev session of When Pigs Fly.  The first iteration of the map in When Pigs Fly had a lake, but I ended up removing it for a couple reasons.  First, I simply didn't have time to add a buoyancy system.  Second, the animated water I made was pretty resource hungry, and I didn't have time to optimize it.

Since the jam is over and I'm no longer restricted to always writing new code, I'm now able to take advantage of some of my previous work.  This morning I grabbed the water system from my WIP low poly terrain generator and the buoyancy systems from Hoist and threw them in to WPF. An hour or so later I had a working sea-plane using blue barrels as floats.

The water object deforms its mesh based on Perlin noise.  It has a public function called GetDepthAtPosition that takes a Vector3 position and returns a float depth.  It works very simply by comparing the y value of position with the perlin value at the (x,z) values of position.  We'll use this function later to calculate the buoyancy forces on the barrels.

Each barrel has a few child "Depth Checker" gameObjects.  The positions of the children are fed into the Water.GetDepthAtPosition function to determine their depth.  That value is then used to calculate the buoyancy force using archimedes principle.  Doing it this way causes the barrels to react correctly to waves.

I then quickly threw together a particle system that emits when the average of a barrel's depth-checker children is greater than 0.  It also sets the velocity and size of the particles based on the velocity of the rigidbody.  

For the second week in a row, my Sunday Experiment has resulted in something that I really want to add to the game.  This water system is too simplistic though, so it won't show up in v0.3 as is.  In fact, I'll probably have to wait until I flesh out a couple other systems in the game before I can add this one.  While it works in this example, I know that players would find a way to break it.  Off the top of my head, I can think of people trying designs with rudders on the back of their floats.  In the current system, they would act like they were normal rudders, moving through air rather than water.  For this to work, I'll have to find some way to integrate the depth-checkers with the aerodynamics system.

Update: You've seen the Spruce Goose.  Now meet the Plywood (and plastic) Pig!

Chris Gaudino
tag:gaudinogames.com,2013:Post/811608 2015-02-14T03:47:43Z 2015-06-19T06:05:15Z The Hinges Are Coming!

Contract work has kept me from getting as much done this week as I would have liked, but I have made some progress on a feature that I'm pretty excited about.

In the last update (0.2.1), I introduced flywheels, the first moveable part.  Flywheels just spin freely and were extremely simple to implement (just changed the angular x movement from locked to free in the ConfigurableJoint settings).  I'm now adding more complex moveable parts.  First up is the powered hinge, which is just what it sounds like.  

I've pretty much finished the physics setup and related code for the hinges.  Currently they are able to rotate 90 degrees, but I'm thinking about making this user adjustable.  In any case, I think they'll max at 180 degrees.  They move in response to user definable keys (using the same system as parachutes, parachickens, and detachable parts).  

One thing I haven't decided yet is what the hinges are going to look like. So far I've been choosing parts to look like farm/garden equipment (in the case of engines) or shapes that could easily be cut from scrap wood.  I haven't thought of any hinges that fit that bill. In the prototypes I have just built the hinges directly into boxes and long boxes with no separate model, but I would prefer them to be their own distinct part.  If anybody has any suggestions for farm/garden tool hinge analogues, please send them my way.

Here are a few of the things I've been using hinges for this week:

  • "Walking" multirotor

  • Tilt-rotor with improvised propellors

  • Tilt-rotor that actually works

Chris Gaudino
tag:gaudinogames.com,2013:Post/809322 2015-02-09T22:03:35Z 2015-02-09T22:03:35Z Flywheels and props

The new flywheel part is useful for a variety of purposes, but the real reason I wanted it in the game was for building big props and rotors.  

Be careful, though, because unintentionally flexible props have a tendency to smack things.

Chris Gaudino
tag:gaudinogames.com,2013:Post/808750 2015-02-08T18:28:06Z 2015-02-08T18:32:39Z Sunday Experiments - Banner Towing

I have a habit of spending my Sunday mornings messing around with experimental new features in my projects.  For me, its a good way to clear my head. It kind of allows me to get away from the project while still actually working on it.  Today, I played around with a feature I've been dreaming about since before I even started work on When Pigs Fly: banner towing.  I have long wanted to have banners hidden around the map that you could swoop down and pick up.  I even started implementing a system that would allow players to write custom messages on the banners, but today I figured I should actually get a banner towable before I waste too much time on that.

After just a few minutes of work reconfiguring some aerodynamic components and setting up joints, I had something that works... sometimes.  I have worked with ropes in Unity before (see Hoist and Bucket) by chaining small rigidbodies linked together with configurable joints.  This works well under the right conditions, but has a problem with stretching.  Even worse, if it stretches too far, things start to explode.  In Bucket and Hoist, I was able to mostly avoid these problems.  With the banners in When Pigs Fly, however, the forces are much greater and sometimes very abrupt (picking up the banner).  As you can see, I don't have it working 100% yet:

There is another problem that I haven't fully wrapped my head around yet.  Every now and then the banner will sort of lock up in a curve.  This curve causes it to generate lift, which causes it to start swing back and forth, then start spinning.  It will continue to oscillate more and more until it eventually rips the back of the plane off.  I haven't figured out yet if the curve is caused by my aerodynamics code or a problem with the joints.

Little experiments like this are crucial to keeping me excited and interested in a project. This is a low-priority feature that won't make it into the 0.3 update, but seeing them sort of working has inspired me to add them to the official 'to-implement' list.  
Chris Gaudino
tag:gaudinogames.com,2013:Post/808510 2015-02-07T20:50:12Z 2015-02-28T06:09:55Z When Pigs Fly update 0.2.1 - Critical bug fix and new parts

This morning I discovered a critical bug in When Pigs Fly that was causing aerodynamic forces on some objects to be calculated incorrectly.  I have updated the game to 0.2.1, which includes a fix for this bug.  You'll likely notice your aircraft generating more lift and more drag.  In some cases, you may need to add more engines to counteract this drag.

I also included the new parachute and flywheel parts as a bonus.  Get the update here.

Chris Gaudino