We've been having some problems with the static hazard for a while now. They were planned as spike-traps: walk onto it, it impales you. Problem with that is, if you're impaled, sliding doesn't make sense. Our planned solution was to have the impaling animation happen on death or pushing something over the spike-trap: spikes shoot up through the block, emerge out the top, recede again.
We've bitten the bullet however, and taken it in a different direction. Static hazards are now fire-glyphs, marked by this suitably intriguing and dangerous-looking orange symbol, intended to be reminiscent of the sun's rays. Stepping on them will play a whoosing fire-ignition sound and emit a shower of flame particles.
Also of note is a similar symbol for the start and exit platforms, this time in a pale blue and reminiscent of a lotus flower. That's right, we've finally replaced the placeholder that's been there for so long!
The other thing I wanted to show off today is the scarab icons in the top left corner. These (along with the move/death counters on the left) will be visible when the in-game menu is opened, as well as on the level-end splash screen.
Today I reworked a couple of levels to solve some rather obstinate visibility issues. Thought I might write a bit about one of them here! The left pic is Hopscotch, previously at #5, and on the right is 05_Easy_B_Revision which I created today to replace it.
The level at #5 is the game's first puzzle, the first level the player encounters after learning the basic mechanics of the game (Intro / Edu levels 1-4). It must be challenging enough to be intriguing, but not hard enough to cause frustration; the player should feel smart for realising the solution, not foolish for not seeing it immediately; and it must reinforce the playerr's understanding of the death, incrementation, bouncing, and falling mechanics they've just learned. Additionally, I want this level to remind the player that blocks can be approached from multiple angles, and that a block in one place can have multiple uses depending on how the player interacts with it. This last lesson is important in preparing the player for the next puzzle, 06_Med_B_Exam.
A tough ask, perhaps, but Hopscotch fulfilled these goals admirably! It requires the player to die from the high platform (reinforcing lethal height), repeat the process to bounce and create a line of corpses (reinforcing bouncing, line creation), climb the third corpse to access the central pillar, then jump onto that same corpse to create a line in the other direction (reinforcing multiple uses for corpses, incrementation as the older corpses disappear, approaching from multiple angles). Finishing that line of corpses, the player can then climb the furthest corpse to access the stairs to the exit.
There were only two problems. First, despite its central position, many players had difficulty understanding that they should make use of the central pillar, and failed to realise they should climb the third corpse from behind to start a corpse-line in the other direction. Second, when players realised their mistake, they felt foolish for missing it for so long. As I see it, both of these problems stem from the central pillar and the visibility issue it poses. The player needs to climb the third corpse from behind, which means that both the pillar and that corpse are obstructing the player's view for that action. It also blocks a clear view of the first line of corpse-blocks, which makes the incrementation less clear. I watched one playtester die in the same way repeatedly, making and remaking the same line of four corpses six times without ever realising they could climb the central pillar. It had to go.
The new level is very similar. The line of corpse-blocks goes away from the screen, and in front of a short pillar, so that the player's 'alternate angle' approach is now clearly visible, and their bounce is back towards the camera. There's a wall at the other end of the line, so that it's clear the player isn't expected to keep extending the line further. And, both to draw the player's attention to incrementation and the 3-corpse limit and to avoid any attempts to bounce along the line onto the pillar at the end, the player's first death is to a static hazard. This also serves to make the player's first move clear – we've found players usually go straight for static hazards when presented with new levels, and only then pause to think about what they can do from there. This makes static hazards a wonderful guiding tool for us, that we're making full use of in many levels.
As always, playtesting will show if there are problems I have not foreseen, but I'm quite happy with this new level for the #5 spot.
Figured it was about time to go over our internal naming conventions. As we don't have preview images of the scenes in unity, the names need to be as clear as possible in describing their contents and function.
Intro levels introduce new mechanics, and serve to demonstrate how that mechanic works.
Edu levels teach the player techniques involving a mechanic. For example, Edu_Repulsion_2_Buildup teaches the player how pushing multiple corpse-blocks into a repulsion beam can create a 'brace,' allowing them to cross through the beam braced by these blocks, rather than being pushed along it.
The other three level categories form the game's actual puzzles, the levels that challenge the player to solve it themselves rather than existing to show the player something for educational purposes (though most Intro and particularly Edu levels still involve some element of problem-solving). Puzzles are divided based on difficulty between easy, medium, and advanced. Easy is a recently-added category – you might note earlier level lists were all Med or Adv, many of these levels have now been recategorised into the three-difficulty system.
The other important element—perhaps the most important element in the whole filename—is the letter abbreviations, which list the mechanics used in each level. These tell us quickly the necessary context for the level. For example, the level Med_CR_Stairway cannot be placed before Intro_Carry, the level that introduces the player to the 'carrying' mechanic. It also prominently involves the 'repulsion' mechanic, so we are reminded to be careful of putting it among too many other repulsion levels. As a medium-difficulty level involving advanced mechanics (carrying), we know that it's a good choice for a late-game 'filler' level, providing a mental break between more challenging late-game puzzles.
Once we've polished a level to our satisfaction and found a place for it in the level sequence, it is moved from the Polish folder to Final and given a number prefix. Med_CR_Stairway is currently in the playtest builds as 36_Med_CR_Stairway. (I should mention that these are internal names, for our organisation only. The player doesn't see any level names, only thumbnail previews and level numbers)
I've been doing a bit of work on level sequencing. On the left, the level order as it stood in playtest build 1.21 (last week). On the right, the changes I've made over the weekend.
As you can see, most of these changes involve shuffling around the same selection of levels, but there has also been one level scrapped and another added. We're trying to keep the first half of the game quite lean, and focus on introducing, teaching and reinforcing a succession of new mechanics. LaserShield was a good candidate to be cut – I'm not happy with the aesthetics of the level, and its major purpose at that point in the sequence was to separate other levels. It may be put somewhere in the 30s, but for now it's back in the Polish folder.
I've moved SoleRoute, SwapPrimer, DualRoute, and Edu_BlockSwap up a couple of spots. These levels consist of two related pairs, interleaved to keep it interesting for the player, and to avoid the appearance of trying to deliberately orchestrate the player's appearance at all.
In playtesting, we've found many players had trouble with Adv_BlockSwap. This is a challenging level, one which poses the player an unfamiliar problem: they must die at least four times to complete the puzzle, but after the fourth death the block they need decays away and disappears. The solution is in starting with the newest (green) block, but getting access to it requires using an older block to push it clear of the hazard. To better prepare the player for this, I made Edu_BlockSwap last week to teach the technique, but even that level is (despite the 'edu' category) a fairly difficult puzzle. The problem is, that while Edu_BlockSwap is as simple as I can make the concept, the time delay between the critical error and it causing problems makes it difficult for players to recognise what went wrong. Though it doesn't use the 'blockswap' technique, I created SwapPrimer to use a similar concept, in an attempt to better prime the player for Edu_BlockSwap.
This is followed by DoubleSwap, which I've edited to be far easier (it should now probably be downgraded to a 'med' rating), restricting the areas of smooth floor to direct the player. This level draws a lot of attention to the blockswap technique, and placing it immediately after Edu_BlockSwap should help to immediately reinforce the concept. This should better prepare the player for the very difficult challenge of Adv_BlockSwap. The player needs a mental break between these high-intensity levels however: LaserPlug, a fairly simple filler level. It's not too complex and doesn't contain any new concepts, so I think it's a good choice to separate the two challenging swap levels and give the player a bit of a 'breather' before tackling BlockSwap.
Adv_BlockSwap is the capstone to the laser section, and is still followed by the repulsion beam introduction and education levels, but after that I've swapped the position of the next two levels. I had previously thought to have Stack first, but placing StairGateAtlantis first has the advantage of a similar layout to the educational level before it (Edu_Repulsion_1_Buildup), which cues the player up a little better for the puzzle.
More levels, more mechanics, more whiteboard!
We've been developing a bunch of new techniques to use in puzzles, and felt two of them—stacking & carrying—were significant enough to require their own dedicated Intro and Edu levels, and so the accompanying category on our board.
The left side has the first 14 levels from recent playtest build (level 15, of course, will be moved to later as we'd planned). These levels take the player through the basics, then pushing, water, and lasers. We have a couple more levels we'd like in/after this block, before we move onto the next mechanic: repulsion beams.
Levels in the top left corner of each section are Intro levels, which demonstrate the new mechanic to the player. These are followed by Edu levels (second row), which teach the player a particular use of or technique involving the new mechanic. Below the line are the puzzles, rated Med or Adv and arranged in the rough order we think they should go. Of course, we won't run through all the repulsion levels before moving onto the next mechanic! Everything above the line must be in the order shown, but anything below the line can be moved around, and are placed for the moment in the earliest spot they could conceivably occupy. We will of course be mixing the puzzles up to manipulate difficulty, refresh and reinforce techniques, and ensure the player's experience doesn't feel stale.
09_Adv_WP_Shunt, which reinforces shunting out a block into water to get behind and push another block, is the first level that could be considered to require any sort of sequencing, or thought about the order of operations. 10_Intro_Laser does exactly what it says on the tin, showing additionally how dying in the beam cuts the beam and makes it safe to traverse behind the new block. 11_Edu_LaserIntro, initally drafted for the intro spot, reinforces lasers and how dying in the same hazard on smooth floors can build up a line of corpse-blocks until they hit a wall and can be climbed. 12_Med_LP_EarlyLaser reinforces lasers along with a reminder for the 2-0-3 layout, priming the player for 13_Med_LP_LaserPlug, which reinforces using corpse-blocks to get past lasers. 14_Adv_WLP_LaserShield is one of the only puzzles I've been able to come up with that actually requires dying in water as part of the solution; the player suicides into the water to increment corpse-blocks and open the space at 3,1,6 so they can get behind a corpse-block, pushing it ahead of them as they approach the laser. Cool level, though I'm not wild about the overhang.
The final level in this build, 15_Adv_LP_DualRoute, is way too hard for the spot! This is actually intentional: we want to learn how invested playtesters are who make it to this point, and examine how they approach a complex problem when they haven't been prepared for it in any way. For this purpose, we chose DualRoute, a fiendishly difficult puzzle drafted by Matt and edited by me. DualRoute, as seen very unclearly in that garbage-quality pic above, requires the player to die twice in the 5th column, then use the older (furthest) corpse-block as a shield to move up the third row and die twice more in the fourth (nearest) row. After incrementation removes the shielding corpse-block, the player is left with a line of three corpse-blocks that can be pushed against the laser emitter, climbed to access the overhang, and then bounced on from there to reach the top platform. Tricky stuff!
This level does have a moderately severe visibility issue with the overhang impeding the view of the second laser emitter and the adjacent water tile, but given its purpose in this build is to be unreasonably difficult, I'm totally fine with it... for now, anyway!
The player needs to be introduced to many mechanics: movement, respawning, corpse-block incrementation & limits, bouncing, ground types & pushing, water, lasers, repulsion beams, stacking, switches... but what order is it best to feed them to the player?
We've been thinking about this question a bit lately. Here's a pic of the board we've been making notes on. We've divided the current swathe of puzzle drafts by the hardest mechanic each contains, then ordered them within each category. Each mechanic will need one or two 'introductory' levels to demonstrate the mechanic and teach the player some techniques it can be used for. Past that, the actual puzzles (i.e. levels where the player is challenged in some way) have been arranged by rough difficulty. The introductory levels for each mechanic should go in the order shown, but the remaining puzzles should be interleaved for better variety: it's much more fun to play a variety of puzzles than it is to do eight or nine laser puzzles in a row.
Water is a tricky one. It's a very simple mechanic, but it could be introduced before, between, or after lasers and repulsion beams. Certain puzzles for both latter mechanics require water, but many do not. Similarly, we've pencilled in a seventh category—arrangement—that isn't actually centred on a mechanic at all, but on puzzles where the challenge is getting access to the newest (green) block. These are puzzles like Matt's wonderful BlockSwap draft, which requires the player to push blocks in and out of the same laser, so they can place the green block in a space where it's needed two deaths later.
There's a long way to go yet – even after working out the order of mechanics, the introductory and educational levels, and all the other puzzles we want to put in the game, there's still the matter of the difficulty curve, complexity variance to avoid fatigue, and mixing concepts so it never feels 'samey'. More updates to follow!