#suzycube #indiedev #gamedev #madewithunity
Wow! Crazy day! I'm so sorry for the super late update, but the internet's been out almost all day! I'm glad to finally be back online, though I have to say, not having internet access sure made this a productive Friday!
More Work Than Expected
I knew it was going to be a lot of work to put together the game's final level, but man! Still at it after two weeks! The major reason it's taking so long is that this level has a number of different interactive elements and hazards that all need careful testing and tweaking to get working right.
If you look at the screenshot above, you can see there's a large vertical climbing section near the end of the level. During this part, the surrounding lava relentlessly rises to threaten overly cautious players. It's all very tense! And was a pain in the ass to set up correctly!
|That's gettin' close!|
The two major issues I wrestled with were having it play nice with checkpoints and balancing the pacing. Checkpoints were tricky because the lava plane needs to be pushed up artificially on respawn so as to not be way at the bottom of the level if Suzy respawns midway up the tower. This seems like it would be rather straightforward, and on a regular level, it would be, but on this level, the lava plane goes through three changes of height and behaviour so things got complicated. The second issue, that of balancing, posed it's own challenge. If you are struggling to climb up quickly, fast moving lava will feel punishing, if you're jumping your way up like a champ, then you're going to leave the slow moving lava behind and all sense of urgency is lost. So, how did I solve both these issues? Well, after struggling with it for a good while, trying to piece stuff together out of existing scripts and system, things got harder and harder to debug and maintain. I finally decided to scrap all the complexity and just write a simple custom script to handle these kind of rising hazard cases. The jist of it is simple, the script causes the lava to rise slowly while keeping track of the difference between the player's height and the surface of the lava. If the player's height ever exceeds the adjustable threshold, the lava is moved up by an equivalent amount. This ensures that, though the lava rises slowly, it never gets so far behind as to pose no threat or lose all tension. And as a nice bonus, this behaviour completely solved the issue presented by checkpoints and respawns. When Suzy spawns at a checkpoint, the lava automatically catches up!
A Warm Glow
I would love to get it to work, somehow, though, as it looks really cool in motion.
|Ok.. Maybe a little too high...|
And why haven't I tested on mobile yet? Because I'm stuck between a rock and a hard place! I have to upgrade to the latest Mac OSX in order to be able to build to my device, which I'm scared to do because the download will take forever (so much opportunity for things to go wrong!) and if there are any problems with the install, I'll have very little recourse to fix things living where I do. Oh.. And Unity Cloud Build has been failing to check out my SVN repository for a week now, no clue why... So I'm getting no builds that way either... yep... I've spent over a week without a build to test on actual target hardware... I don't recommend it!
Well, on that cheery note, I'll bid you all farewell for the time being and I'll make no promises about whether or not I'll be done building Level 5-B by next Friday. See you then!