Snowman Souls
This is the second demo of Snowman Souls. The goal of the game is to push as many snowmen as possible into the water to take their souls.
There is a terrible, dark secret hiding behind the gate at the end of the level. You will need at least 15 souls to gain entry to this hideous lair.
There is an even more terrible, even darker secret hiding deeper into this mad world. Some say that the dead will walk the streets, but these are only rumors...
Beyond the rumors of reincarnation, whispers abound that the snowman population has heavily entrenched themselves behind an impossible gauntlet of defenses. But all of the mining they have done within Asteroid Belt #29392 to lay down these defensive walls has reportedly destabilized its orbit, and civilization itself may be in jeopardy...
If arrow keys are not working, please click on the game to give it keyboard focus.
Status | In development |
Platforms | HTML5 |
Author | elgrandiablo |
Genre | Platformer, Puzzle |
Tags | 2D, Puzzle-Platformer |
Development log
- Second Demo UpMay 03, 2021
Comments
Log in with itch.io to leave a comment.
The "world" is big enough that I get lost and can't find my way back to the start or to the Necro. Something is pretty impressive. I'm going to claim it is the size of the world and not my senioritis.
I see something in the sidebar about Boss4 the Necro wants you to but it is only on the screen for about half a second. After the window refreshes / resizes I don't have that sidebar any more. Guess I should post a screenshot. It would be really good if I could read that cuz the bombers (?) are kind of frustrating.
The screenshot does show the lack of sidebar content, but I actually took it as a corner-case issue report. Not quite a bug... One feature of the game design is that once your avatar starts a dash, you can't stop it until it hits something. (More on that another time.) In this case I dashed from the map to the right (heading left) and wound up drowning. Since that was my entry point, I just drowned over and over until I reloaded the game from my previous save. Slightly frustrating that I "lost" 17 souls I'd harvested. But the incredible thing was that after re-harvesting the souls, I did the exact same thing again in the exact same spot. So, dunno if it is worth kludging up a workaround for that situation. Probably not TBH.
On the busier screens, my machine gets sluggish if I've had the game open for a while (like 30 minutes). Dunno if I can capture anything useful. Gnome task monitor showed firefox under 10% cpu and around 300MB memory (rss) with something called web content like 60% cpu and bouncing for 700 to 1000MB. But system monitor showed total memory usage around 8GB compared to typical of 2GB. More detail later.
I modified the checkpoint feature to only commit to saving a checkpoint after the player has landed on solid ground at least once (so instant drowning will never happen), and also there is a 1s delay before the save will be applied. This means that if a laser kills you immediately, the save will not be applied (and you can never drop down into a lower level and get fried infinitely, because you'll die via laser before hitting solid ground). Also, rapid level switches (leave level within the first second) will cause the save to abort (and presumably the level returned to will be stayed on, and save on its own thereafter).
Can't get over the number of new screens and features. That was a monster update. Timing on the jumps seemed tricky at first but I think I'm getting better.
The snowman congregation and the necromancer are pretty weird. I haven't figured out what is going on, or what I'm supposed to do, or what the little hearts indicate, or even when the controls are active.
I did get rid of the 3 reanimated a-BOMB-inations at least once (by letting them die in the "pit" - by laser quantum tunneling I think) but that didn't seem to trigger any response from Mr. Necro. But maybe that is the end of the campaign as it stands?
[edit]Oh wait it looks like there is a gate over to the right. Dunno if I have enough souls though. The only way I've finished so far, I wound up in the pit and couldn't jump out. I'll maybe reload from a previous save.
If you do a dashing jump attack and smack the necromancer, it will hurt him. Also, the hearts are your health remaining - if you run out of hearts you die.
Dashing between screens: This is getting pretty obscure/nit-picky. I thought I could dash across the water at the bottom of the screen to get the snowman on the adjacent screen to the left. The screen transition behaves as expected when I dash in the "corridor" two rows up. But when I try to dash to the snowman
This may be exactly what you intended as developer? Players will eventually learn they can't dash across water between screens.
Notes:
You have the right idea, but the player can only dash over a single water tile (or a single empty tile) before gravity takes effect, so there needs to be one more snowman pushed into the water to be allowed to reach the next screen without drowning.
There was a bug where the player's x-axis momentum was allowed to continue while drowning - I posted a small update to correct that. Longer term, I may add a message in the game over screen when this happens saying "you can only skip 1 water tile" if I can detect it (probably checking to see if player is drowning and x position is not evenly divisible by a tile width).
Ohhh. Presumably I would have figured that out pretty soon. Murphy's law that I first encountered the limit at a screen boundary.
I uploaded a new version that has manual save/load support. Lower left of the screen has a download button that just saves as "savefile.json" (or (1), (2), ... (n) if you download repeatedly). Load button gives a simple dialog where you can browse to the savefile.json file and it loads that save game as soon as you've selected a valid file. I did also correct the "try to jump" bug - it wasn't properly checking for wall tiles after all.
The .json load seems to work great. Seems like a better approach for my setup. (I left the itch.io cookie exception though - now I don't have to solve a captcha every time I want to comment.)
Impressive scale to this update. I like "big worlds" and this fits the bill - dunno how many maps I haven't even been to yet.
Trying to come up with a word for the difficulty. For now I'll use fiendish, although it seems like a better word is on the tip of my tongue.
Wow, this was a monster update. Dash, bomb mode, secret level(s)... I played for 2 hours straight and was a little stiff when I quit. On the verge of being addictive. I should go back and count the screens. Still haven't been to all of them.
Gameplay is impressive for an html5 game. What it eventually needs IMO is controls for tablet/phone. Dunno if that is feasible though.
crate positions: I'm of two minds on crate positions, or more specifically, how crate positions reset when I leave a map. At first I thought it was an annoyance. On that map where you have to stack two crates, I got killed and had to stack them all over again. Argh!!
But later I realized that you can push a crate you need into a cul-de-sac (or body of water) that you can't get it back out of. Without reset, you be stuck for eternity. So, crate reset is good.
Recently I pushed a crate from one ledge to another, then thought I'd go "around the back" to get "behind" it so I could push it off that ledge. But "around the back" required me to momentarily go to map-right and then come back. And of course when I did that, the blasted crate went back to its original position on the upper ledge. (This would be much better with a screenshot - maybe I'll provide one later.)
So my thinking now is that it would be ideal if the crate positions were saved even when my avatar leaves a map, and get reset only when I "die". That way, if I accidentally push my crate into a cul-de-sac, I could suicide to reset it. Of course a) I don't know if that is technically feasible, and b) there may be tactical complications I didn't think of.
State save notes: (Should have written this one first - I'm already forgetting the sequence.
I'll probably have to repeat, paying closer attention. It seems like as soon as I un-checked clear on close, Firefox retrieved [a cookie] that was supposedly deleted. [later: or maybe not supposedly deleted, if I didn't close the browser. But then... still can't explain how checking or un-checking clear on close has any effect if I don't close the browser.]
Still don't see hwcdn in Firefox's list of cookies and data, although I saw it in Edge.
Leaving clear on close un-checked doesn't work for me long term.
Evidence that the delete on close checkbox in Firefox does something other than what I'd expect.
I can go back and forth and the refresh state of the game toggles with the delete on close checkbox, even though I never close the browser.
Dunno what this means, but it seems a halfway usable workaround for the game. Possibly I can uncheck the box to play, then check again afterwards.
I do have tcpdump and wireshark but dunno if I have the ambition required to track this.
Trivia first: I worry a lot about creeping (or fast moving) senioritis). I'm going to call the home screen A+0 and the first screen to the right B+0. My question is whether you changed B+0 since initial release. I could have sworn that I went down a screen (to B-1) and gathered several souls in an early session. But I can't get there because of the water hazard. Maybe I filled that hole the first time around and have forgotten how. Dunno.
Trivia 2: In this location, cursor up makes my avatar hit its head on the block above. It is the only location I've found where that happens. It is the map or screen above the one in the previous screenshot. (B+1 in my lingo.)
Yep, I definitely modified level B+0 to add a water hazard in that location. It's possible to fill that water hazard once you've unlocked Ground Pound ability.
I've also noticed the "tries to jump up illegally" bug in a few spots. The character should not try to jump to a ledge if there's obstructions (wall tiles, snowmen, etc.) but in some cases decides to try anyway.
Didn't seem like it saved my state. I have browser set to delete cookies on close. I entered an exception for elgrandiablo.itch.io, but only after two "runs". Firefox now says it has 7 cookies, but I still start from the beginning. (I'd forgotten where to collect all the souls - took me a while.)
Seems like I can get just the tiniest bit farther after the second gate. My avatar leaves the screen but I don't get a new map. At least once I was able to get the avatar to come back to the screen with cursor left. If I let go of the keys as soon as I leave the screen, apparently the Snowrisu kills me and I get the try-again message. Try again works OK - that is to say I can evade the snowrisu again and open the 2nd gate again. If I hold down cursor right after my avatar leaves the screen, apparently it gets to shelter(?). The snowrisu still shakes the screen but I don't get the message that I've failed and try again.
Dunno about the no input allowed messages. On the first run I thought I was getting those when I hit cursor up in a disallowed spot. The second run I didn't see any until the second gate.
I might try again from Windows on Tuesday.
I'm trying to think about what could cause this. There's one problem for sure - the Snowrisu should be dead forever. Did you also kill the Snowrocco? (A second one should show up.) After they're both dead, a second cutscene should occur - the camera should scroll to the right, open the gate, then bring the camera back. Also after that, the character should be able to walk through the gate and the rest of the level should be within camera view now.
I just tested this on firefox on itch.io, and the snowman fight works as intended in this browser setup. I did notice a bug where the "powerup" at the end was not working as expected - it's supposed to move around as a demonstration of how it works, but the powerup is motionless. I didn't see any errors to explain that one, I'll have to keep looking.
Hmm. I'm clueless as usual. Snowrisu dead. What? Snowrocco. What? I didn't kill the snowrisu - I just tried to escape through the 2nd gate. Am I suppose to lure him to a laser or something? Maybe I'll try that. (Sorry, didn't try windows - but maybe the browser isn't the issue.)
OK, everything** including cutscenes seems to work great. I just needed a hint to get moving. Too bad I didn't capture the Bosses have been defeated screen. Wow there is a lot of new stuff in this level, even if one ignores the time involved in creating the level itself. The Ground Power, and the one-way slides... It is gonna take me a while to get 42 souls - I only got up to 19 so far I think.
**except for saving the state
If it helps, the game state data is stored in "local storage" (localStorage). I'm not sure if your settings manager would have an option to add an exception for that. It might also be true that the url that hosts the cookies, local storage, and everything else is not itch.io - it's some sort of content-hosting domain (hwcdn.net for me, at least right now).
Here are some notes before I forget. More research required.
started firefox as gamerb (different linux user). Still starts after 1st gate. Didn't expect that!
Could be red herring though. Firefox seems to have config issues when started from command line as gamerb. Same error message over and over.
(firefox:7322): dconf-CRITICAL **: 09:59:50.291: unable to create directory '/run/user/1000/dconf': Permission denied. dconf will not work properly.
(itch: all these cute formatting widgets and no [code] option?)
Laptop/win10/Edge 90.something. Starts (drum roll) after 1st gate with zero souls. (!!) Didn't expect that. Must be storing part of it on the server side, or in "the cloud", based on [IP address] or - dunno clueless.
I was gonna say "might want to consider a reset-game option at some point". From my pov this little experiment bumps the priority up a little bit.
Dunno how you puzzled out hwcdn. Edge does show 67 bytes stored there, while Firefox didn't show it at all. I'll try deleting that after I post this.
Deleted all data; cookies, cache, the whole #! from Edge. Still after first gate, zero souls on launch. Tried twice with same result.
(Almost off topic: At first I left Edge nearly in the default condition, including the startup page. This results in around 100 cookies as soon as I start the browser! Once I changed the start page to point to my internal server, I was able to check after start and see zero cookies.)[Edit: changing the startup page had no effect on what I would call the home page - MS calls it the new tab page. Seems I can make only cosmetic changes to that. From some reason I'm reluctant to call it adware. Dunno why - that is how it behaves.
This was a mistake I made when testing the "gate is unlocked in boss fight" bug. I made the boss fight the default starting level and forgot to change it back, so a fresh game would be starting there. It's been fixed back to the proper first level now.
Didn't realize there was a 2nd gate until today. I thought there was no escape from the Abominable Snowrisu. Seems for now I can only escape into oblivion?
Yeah, in the demo so far there isn't a level on the other side of the 2nd gate, so it freezes up. I'm in the process of making more levels for the next demo. The next boss is already mostly done.
Hah! Abominable finale fer sure. (Re-starting the browser got me un-stuck.)
Timing seemed tricky getting past a couple of the rotating lasers - the one to get the final snowman/bridge, and then the final 3. Surprised you could get it that close with an HTML5 game.
Difficulty seemed "about right" to me - easy enough that I didn't give up. Which means it is probably way too easy to be entertaining for any (ahem) less senior visitors.
[later] After finish I was accidentally "hiding" under some blocks in the center. Didn't realize the snowrisu would crush me when I came "out"!
Later on I did manage to collect 4 souls (actually I had 5 at one point but had to trap myself to get the 5th). Then I got stuck at - couldn't move.
Do you remember how you got to that location? I'm guessing you didn't make it there from the map to the left, because that would (should) have permanently recorded your spawn position out of bounds.
My recollection is that I did get there from the map to the left. But I'm not 100% certain.
May have been browser cache issue of some sort. I was able to reproduce it, but only once. Then I restarted the browser to take some screenshots. Now the level to the left behaves differently. Sounds like "out of bounds", as you said. I can still sort of move the character to that location - it goes off the screen and I'm stalled until I hit page-reload. But a) it doesn't load the map in the screenshot, and b) page-reload resets the entire map, including character position, to what they were when I first entered it.
Kinda weird that I was able to reproduce it once - PC was off overnight. But I'm clueless re cache behavior. Maybe I refreshed the page whilst taking screenshots - at the time I wasn't suspecting a cache issue and wasn't paying much attention to that.
I see it now - both the buggy level and the level above it (if accessed from the bottom entrance, i.e. from buggy level) have the ability to exit the right side of map into either a non-existent level ("harmless" game freeze) or into another level in a location without any solid ground, which leads to falling out of bounds into non-existent level even after page reload (because player location is saved from previous map change).
I stayed up too late working on that buggy level, obviously. I fixed up those levels to protect future players.
Well, you did have the "buggy - you've been warned" message. I see it fixed now.
So apparently the time-stamp on the itch.io-reply notification email was correct. When I saw the time I assumed there was yet another glitch either in my email client or somewhere in the server chain.
quick fix! Seems to be working now. Still haven't collected any souls but I've been drowned and fried or electrocuted numerous times. What an improvement. :)
Looks like firefox wasn't reporting any height data for the document body, so the attempt to scale the game up to fullscreen was scaling it down to 0 height. Added a forced height to correct this - might need a forced reload or cache clear, unsure how this site delivers new builds.
Probably too early to comment. I can start the game. I see the level and can move the [ghost-chasing-cat] with my cursor keys. But after ~3 seconds the level ends(?) and I get a blank screen with "Souls acquired: ☃x0". Doesn't matter whether I moved or where I am. I tried a few key-combos but didn't get to another level. Browser refresh restarts the game.
Fedora 33, x86_64, LXDE, Firefox 87.0