Updated light beams, worked out snake player mechanics.
The new light beams logic has been implemented. Now, only one segment of light can exist per tile. Intersecting and crossing light causes the display color to change in those areas, always representing the same color that will show up when a block is pushed there. Both intersecting light beams and goal blocks do not affect the output color now. This should result in much more intuitive gameplay with complex beam scenarios. Also, it was possible to have 4 laser beams in a single tile before, and it would be visually confusing. Now it’s clear what the final combined colors will be.
With this new logic, it becomes more constrained, and mixing is less OP. Example: You have two 90 degree beams, red and blue. But, there are two magenta blocks. This level would be easily solvable with the old logic, but with the new logic you now have to redirect the beams to be facing each other. I’m sure there will be other discoveries during level design, usually the more constraints the better.
There can be future mechanics to have dedicated blocks for redirecting and combining light, to work like the old goal blocks. There could be a block that takes in inputs from any direction, and has outputs opposite the inputs that always emit as the combined value of all the inputs.
To answer questions from previous post:
- Paradoxes will not cut into segments, but instead block movement of the whole group.
- Segments will not have different colors, will all be the same black color. Could be expanded upon in the future, but this is simplest for now.
- Segments can merge with other groups when a head enters a tile adjacent to a tail.
- Paused states will be stored at the group level. Groups merging into others will inherit the paused state from the new head group.
2.5D sprites for everything. Start updating levels to avoid use of special walls, and cut down on less used mechanics. Experiment with snake player prototype in a separate branch - all edge cases and bugs can eventually be worked out, but if this takes too much time for too little value, I won’t include it. I am hoping it will be worth it and be more interesting and intuitive than life points.