Working on finalizing game mechanics.

Snake Player

The new snake/worm player still has many edge cases to work out. An interesting case is when a paradox occurs inside of a single segment - does the whole player become a paradox, can they just not move, or does the paradox temporarily disconnect the segments?

What Is Unknown

  • Paradoxes cutting into segments
  • Can segments be colored? Would mechanics exist to change these?
    • Do groups have to contain the same colors, or can they contain mixed colors?
  • Can segments ever re-merge?
    • Maybe merges can only happen when a head enters the tail of another group
  • Paused state per group or per segment?
    • How does merging work with this?

What Is Known

  • Food instead of life points
    • Eating one food grows the player by one length
    • Food blocks physical collision and cannot be pushed - doesn’t block light
  • Levels would be initialized with actual player segments instead of starting locations
  • Backwards movement is not allowed
  • Colliding with any group from the side isn’t allowed
  • Entering light kills that segment, but the segment still applies any effects from entering that location
    • Example: Pushes the block there then dies
    • Example: Eats the food, grows player one, then dies
    • Only dies when not the same color - default player is black, so is allowed in “black light” or no light
  • Growing to >= 3 segments, and positioning yourself perpendicular to a laser beam, will cause the middle segment to die, resulting in two new groups of segments.
    • Many more segments can die than one, depending on positions
    • Heads and tails are redefined by order of original head and tail
  • When there are multiple “groups” of segments, they work similar to clones from older project square versions, and are all controlled at the same time.
    • When certain actions aren’t allowed, such as collision, those groups will collide while the others can still move
  • Level goal is changing, see gems below
  • Keeping things as constrained and straightforward as possible early on is a good approach. New possibilities can always be opened up later.

Gem Collecting

The exit portal no longer makes sense with the snake player. What would happen if only one group made it out? Why does leaving mean beating the level?

Instead, there can be a concept of gems. There will be one at the end of each level. To solve the levels, you just collect the gem by using any player segment. There will be one gem type per group of levels - new mechanics are introduced in the beginning of each group. You might need a certain amount of each type to progress onto a new area. Replaying levels will show empty spots for the gems - they can still be solved, but no additional gems will be received. Will stick with one gem per level, unless there is a way that makes sense to allow more.

Next Steps

Still working on re-doing all the sprites. Confirmed that it is possible to remove laser and small walls, and emulate them using special corners to prevent objects from leaving or entering certain areas. I am avoiding showing off screenshots until all the new graphics are figured out, but it should be soon.

Beams will only exist as single entities per tile location. Their outputs mix when beams cross. Goal blocks will no longer affect the logic or mixing.

Figure out if worm player mechanics will improve the game, by both simplifying the initial understanding of the mechanics, and increasing the game’s difficulty. Prototype it and see if it’s worth including. Make sure it can be animated smoothly as well.