Reflection 2.0

A laser maze game. Can you beat all the current 30 levels?
Source code:


Light up all the required targets by passing also through the checkpoints.


  • Drag and drop the items from the inventory into the level
  • Right click (or long press on android) on the tiles marked with an arrow (hover on them) to rotate them by 90 degrees
  • Use the N key to skip the current level (if you are stuck)
  • Use the ESCAPE key to return to the home screen
  • Use the I key to display which tiles can be rotated
  • Use the H key to get a hint
  • Use the R key to restart
  • When no tile is selected, click on a tile of the world to move it to your inventory

Available tiles

Select and place each of the items from the inventory. Remember that all of the following conditions must be true in order to complete the current level:

  • All the tiles of the inventory must be used
  • You have to light up at least the required amount of targets
  • The laser beam must pass through all the tiles of the level
  • The laser beam must pass through all the checkpoints (if present) in the correct direction

Quick information

Tile icon Tile Tile name Description
- tile Tile A simple and empty tile where you can place other things on top of it
items1 singlemirror Single mirror The laser beam gets reflected by 90 degrees. This tile has also a light (target) that can be turned on
items3 mirror Mirror Like the single mirror, but it is double sided
items2 splitter Splitter The laser beam gets split into 2 paths. One of them is reflected by 90 degrees
items4 checkpoint Checkpoint If present, the laser beam must pass through it
- blocktile Blocked tile You can't place tiles here
items6 lasertile Laser tile Provides the laser beam

Made in Java with the JavaFX framework.
Game Jam Theme: "One tool, many uses".
Read the credits in-game for more info.


Download 61 MB
Reflection.apk 34 MB
reflection_2.0-1_amd64.deb 62 MB
Reflection-2.0.msi 62 MB
Reflection-2.0.pkg 62 MB
reflection_2.0-1_arm64.deb 59 MB

Leave a comment

Log in with to leave a comment.