interative led displays
| case study |
interative led displays
| case study |
PROJECT: Research & Development for Interactive LED Screen Apps
SOFTWARE: Godot Engine | GDscript | Blender | Adobe Photoshop
TASKS: Interactive Protocol Algorithm | App Development & Debugging | Programming | Code Optimization | Art Direction
Imagine trying to connect a state-of-the-art LED display with a software designed for traditional touch input - that was the challenge I faced when I started creating interactive content for these displays. The display sent information through UDP packets, a concept I had to dive into headfirst. After an intensive research, I discovered that Godot could receive these packets, but it would require some serious GDscript magic.
During the my creation of these interactive applications, I encountered several technical limitations that are worth highlighting:
Limited Interactive Resolution:
The low resolution of the interactive surface, at only 1:16 (one sensor for every 16 pixels), presented significant challenges.
Adaptation of Programming Logic:
The logical programming strategy had to be completely rethought and adapted for this low interactive resolution. After all, the game engine does not behave in the same way in this case as in mobile applications, where the resolution of the touch surface and the graphic resolution are equivalent, at 1:1. These LED displays lack an integrated fluid dragging function, as common on other touchscreens, this is due to the gap between touch sensors. Therefore, I had to devise an alternative approach to cleverly overcome this limitation. I ended up creating an algorithm that checked the proximity of a touch, comparing its coordinates to the coordinates of previous touches, and, if close enough, simulated a virtual drag between those touch inputs.
Deciphering the Information:
Thanks to the interactive protocol provided by the suppliers of the LED technology, I was able to unravel how the display processed and organized the information it transmitted. Armed with this knowledge, I developed and programmed my own algorithm capable of autonomously and systematically extracting the number of touch points and their respective coordinates which were contained in the UDP data packets sent by the screen to the computer.
Initial test:
Another test:
And a few more:
Inicial tests for a soccer game concept:
Larger LED Display:
Some technical challenges along the way:
More fluid and functional iteration:
Facts & Curiosities:
Interactive water app experiments:
I took the fantastic work "Water Simulation in Godot 4" by Crigz Vs Game Dev (see attached video for a more in depth explanation).
Once again, I had to rethink and to adapt the programming strategy in order for it to work in such a low interactive surface resolution, like in this case.
Regarding the interactive ball game, I had some ideas to make the interactivity more dynamic:
When the balls are stepped on near their center, the transmitted speed is zero, or very close to it.
On the other hand, the closer to the edge of the ball, the greater the transmitted speed. This simulates what would happen in reality and creates a more realistic, responsive and engaging experience for the user.
The decorations all around the interactive LED floor were inspired by the traditional Greek pavement design (see examples below):