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!