So I just put up another alpha build for Energy Hook. (You can get the new build at http://energyhookgame.com ... if you don't already have it.)
With the latest release I wanted to not only get every stretch goal to a first draft state but also polish glaring issues - janky animation in particular. (Especially since James Zachary has been doing some work and there's no excuse any more.)†
It's taken all week! I started cleaning stuff up on Monday, sweeping up dead leaves, so to speak, and have finally gotten to the point where I can push a release that doesn't suck.
This last glitch that I was cleaning up today was one for the books. The lighting in one of my levels looked really blown out - but only when I played the build, not when I played it in the editor. After much experimentation, I realized that if I went to the level from the front end, it had the problem. After looking at various lighting and camera and graphics settings and wondering what could be bleeding from one level to the next, I got fed up and started deleting objects from the front end, hoping it finally would go away.
The offending object? ParseInit, the object that handles the leaderboard API.†
But it wasn't Parse's fault. At some point, I somehow accidentally dragged the front end's directional light into the ParseInit object. Which is persistent. So the directional light was in every level. (It looked a little bad in some of the levels, but was particularly painful in the Misty City.)
I'd also discovered that my lighting and shadow quality had ... drifted. Just didn't look as good as it used to. Maybe I applied some changes to a light prefab, or the camera, or something. Don't know.
All in all, I think Unity could use some way to lock your objects and prevent them from being changed once you have them at a state where you feel they're†done. Sort of like taping down knobs on a mixing board - you don't want to accidentally bump them and mess things up just a little, because you might not notice until much later and be at a loss what got messed up.
Just for giggles, this is the checklist I follow when I'm trying to get a build together:
Does anything need its lightmaps redone?
Check log and update version number +1. Apply changes to prefab.
Set quality to normal.
Save project & exit Unity (just to be safe.)
If currently using NGUI Easy, delete and switch to NGUI Pro
1st & 3rd person modes
registering for leaderboards
If testing fails, fix & go back to 3
Once testing is solid, add changes. Commit changes
Build linux (universal)
Change Input for Mac: InputMac -> Input
Build & test on Mac (have to build from Windows so we have the lightmaps)
Switch back to Windows OS
Zip separately and share with Humble on Google Drive
Wait for them to get in there
Announce to: in-game news page, blog, forum, mailing list, facebook
I have trouble reconciling in my head how I can make a whole new game in seven days (such as http://orchammer.com) but simply pushing a single update of Energy Hook can take almost as long. But there it is.