The Boy Who Stole The Sun Archives - Can't Stop the Movies
Can't Stop the Movies

The Boy Who Stole The Sun: Devlog #12

And finally... some gameplay emerges! Check it out in this late posting of Saturday's video update 🙂


The Boy Who Stole The Sun: Devlog #11

This update features a new critter, bugs related to that critter, and a romp through some of the new maps in progress. Have a look!


The Boy Who Stole The Sun: DevLog #10

Had another busy week. Dialog and thought bubbles are implemented, so Debug Bob now has things to say. Made a few changes to the test map, and put down a dozen new bugs on the list for editor tools and gameplay. Take a look at the latest in this week's video update.


The Boy Who Stole The Sun: Devlog #6

New features! Whenever I get a new piece of the game implemented with minimal fuss, I have to celebrate and thank the central processor. On this update: there is a functional health system! The flurry critters have the ability to dash at the player and take his health away on collision. And casual non-dashing bumps between the flurries and player result in freezing up the player's hearts. The flurry also now goes into its "hurt" animation whenever it collides with the player, regardless of whether it's from a dash or a casual bump.

A friend also recommended I put in a screen flash to indicate when a heart is totally frozen. So I whipped that up this morning and got it into a functional state. Most of these features are in a testing state, not the final version by any means. But sometimes you gotta load up on features just to make sure they work.

Flurries are meant to be a low-level, easy-to-avoid critter that will probably only freeze the player a bit, and not be able to damage health directly. It's actually totally confusing to have it be able to do different kinds of damage with the same general action. Screen flashes are currently set to cyan for regular hits, and white for when a heart gets completely frozen. I will probably take out the cyan flashes later, but it's helpful to have things happen often when testing. And when you're coding solo, nobody can tell you not to make temporary features.

Hearts currently take 4 hits to deplete them, and 4 freezes to freeze them completely. And the player starts with 4 hearts, which means there's 16 total health points, and 16 temperature points. Remains to be seen whether all those values will be appropriately balanced.

Coming up next: Gotta get some particle effects in there for taking health damage. I think I'll probably do general impact effect for general hits, and a blood effect for when a heart is totally depleted. I want to be able to toss flurries into the water and freeze that square into ice. The game already tracks the drop-position in front of the player to make sure you can't drop something out of bounds. I can use that position to check the tile beneath and see if it's marked as a water tile. If so, I can do a freezing animation on it and re-build some data. In theory, this will allow for delightful puzzle solving and navigation options. I just have to make sure to constrain the possibilities such that the player doesn't have enough resources to build an bridge right off the edge of the map. Not sure if this'll be in the next update, but I may need to introduce the first tool to this game, and the give the player more than just bare hands to pick things up and mess around.

In the mean time, enjoy a little gameplay-in-progress video! Thanks for reading (and watching).


The Boy Who Stole The Sun: Devlog #5

Continuing on the path of the Vertical Slice, I have the first object scripted up that was on my list from last time: Snow Piles! One of the big benefits of coding up all the basic objects of the game quickly is that poor assumptions get weeded out.

For instance, I imagined the snow piles as sneaky ninja-containers. I wanted critters to pop out when the player least expected it. This turned out to be laughable in practice. As soon as I had the objects in the world, it became apparently that a pile of snow is in no way stealthy. It would have to be surrounded lots of other deep snow, and perhaps just be a pronounced drift instead of a pile. Even then, to be fair to the player, there would have to be some small announcement that a critter is going to emerge, to give time to react. Something like the Leever from the Legend of Zelda franchise fills this role nicely. But there was a more interesting choice to make here.

I decided to make the snow piles immobile and place them to block the path of the player. I made them punchable, which decreases the amount of snow in the pile. If the snow was reduced to minimum level, collision shuts off and the player can pass over it. But if the pile stacks up to the max height... punching it will unleash a Flurry critter. So, I got all that coded up, but not without unleashing some bugs in the animation and script command-handling systems.

Punching Snow!

One of the first bugs was with punching the snow piles. At one point, the animations were triggering the wrong frames, which made the whole thing look broken. After that, punching only triggered when a snow pile had reached a new personal best height. Anything less was un-punchable. That had to do with poor logic flow in the script. I looked a ton of code in the engine before realizing I had just written the script poorly, not turning collision back on in the proper places. There was also a segment where punching the snow only triggered properly on every second punch. That was also a collision toggling bug. After I got all these things fixed, there was a brief time where everything was suddenly broken. Program crashes... player starting the map in the middle of the water instead of the spawn point. Madness! I had to take the rest of the day off in order to return with a clear head.

All that being said... the basics of the snow pile are complete enough to play with them.

Future considerations: Need to determine spawning frequency. Right now the snow piles build up pretty fast, which is convenient for testing. After unleashing a critter, the object resets and can therefore spawn infinite critters. Will need to possibly make snow piles aware of the numbers of critters on the map. Perhaps they'll refuse to spawn more if the map is crowded. Also need to verify that snow pile collision is off during the frame where the critters are spawned. Right now it looks they're being shoved to the side, sometimes into the water, which is bad.

I had hoped to code up more of the Flurry behavior, but since I didn't get that... I made a video for you. Enjoy!