Laser Projector Simulator

I like messing with the laser projector expression language but it has a lot of odd behaviors and can be finnicky to edit and preview ingame.

So I decided to create a simulator for it.
https://bree.dev/tower-unite-laser-expression-simulator

It’s important to note that while any program you write in the simulator should work in tower unite (please leave a comment if you find one that doesn’t), expressions you write in tower unite may not always work in the simulator.

For some reason it makes my fans loud on firefox but not chrome so keep that in mind if you want to reduce gpu/cpu usage.

9 Likes

I’ve updated the site and released 2.0.0 and 2.1.0 today.

I rewrote most of the code for 2.0.0.

In general you should notice better performance and better errors.

If you notice any bugs feel please let me know on here or on the github issues.

Changes

  • Simulator: Rewrote the parser to be more accurate, less buggy, more efficient, and be smaller

  • Simulator: Rewrote the interpreter and renderer to compile to GLSL, offering better performance and increased accuracy

  • Simulator: Added a favicon that changes based on if the simulator is running or not.

  • UI: Added the ability to edit sliders by clicking on the label for them

  • UX: The simulator will now pause when the screen is not focused to reduce GPU/CPU usage

  • Help: Added additional information to the help modal

4 Likes

Really awesome work!

1 Like

I’ve updated the site and released 2.2.0 today.

All of tower’s shapes are supported now.

Changes

  • Simulator: Added hue wrapping so that hues are more accurate

  • Simulator: Added additional shapes

    • Heart
    • Star
    • Double shifted line
    • Triple shifted line
    • Half circle
    • Double quarter circle
    • Square grid
    • Circular grid
    • V
    • Offset circle
    • Double offset circle
    • Offset square
    • Double offset square
    • Sine
    • Double sine
    • Double line
3 Likes