Laser pass-through works now!

Progress

Pixel Art

For now I resized all the sprites down to 32x32 (they were around 128-256 before). These are all placeholders while I get the logic implemented, and levels designed. It would be nice to start with better art to allow more people to not immediately dismiss this game, but this is the best I can do right now. I think I may have to lower the resolution further until I get enough practice making art.

The perspective doesn’t all match yet, and many of the scaled down sprites need to be re-made, with color palettes in mind, etc.

Pixel Art

More Logic Defined

  • Player entering any dangerous areas only ever causes one point of life lost.
    • That way, if there are multiple laser beams, a floor laser, and pollution all in the same tile, the player won’t have to figure out if they will lose more than one point by entering the tile. It helps simplify things.
  • Player entering pollution will cause the pollution to go away (at the cost of one life point).
    • This could allow for many more interesting puzzles. It is always subject to change if it is found to be too unconstraining.
    • Other objects known at this time won’t affect pollution, especially vehicles.

Laser Pass-Through

After allowing laser pass-through, this bug came up as expected:

Lasers Before Fix

But it is now fixed:

Lasers After Fix

All the beams end up white, because red + green + blue make the block colors white, and all of those beams hit both blocks.

I had to write a new algorithm to re-calculate laser beams being emitted from blocks that other lasers affect at different times. There are probably more efficient ways to calculate this using dynamic programming, but for now this is fast enough with the test levels. Lasers are the most computationally expensive part of the game, so it will be one of the first things considered during optimizations apart from rendering.