Building with velo allows you to do some unique things and unlock almost everything, so i wanted to build something around restrictions to myself. But also fulfill a gamejam idea ive had a long time. "Simon says".
What it does
Play the melody is a simple game that allows you to make melodies using basic notes from a piano, the whole site is easily upgradable. with different sounds and improvements as the core coding is dynamically build
How we built it
To build this tool we needed a log of backend coding handling repeaters but also click in a very unique method. Not only does there need to be a visual interaction trigger but more importantly a sound should exist. This means code needed to be build in a fashion where when you click a button, a sound is choosen and played using a audioplayer. Handling that it should stop, change and play a different sound if another button (or the same) is clicked quickly enough. But more challanging is the system needed to save the melodies in a fashion, that allowed the code to easily read the melody and replay it back to the user so they had a chance of actually playing the melody based on what they can hear.
Challenges we ran into
When i started the project i made 3 extra challanges for myself.
- No Iframe, using this you could easily build in another tool and even host on a third party allowing even WEBGL games to be possible. Simply too easy to make something amazing.
- No custom coding, using custom code will unlock handling the basic wix person does not know. Keyboard clicks, audio, video, you could even use HTML5 and CSS3 and just make an amazing game that way. not restrictive enough
- No SVG files. In the example this trick is used to build a space invader game. simply put SVG is drawable and able to be changed in a "non velo" fashion, I played with lower restrictions but ended with saying NO SVG files.
I also found the timespan to be way to much for what i call a game jam /hackaton, so i limited myself to 48 hours before deadline. No possible method to cheat, and no chance to build something absurdly good because of 2 months deadline.
This leaves me with pure velo and wix elements. and while developing here there was certain challenges. Example i wanted to save array of the clicks in my melody database, but using the array type caused a overflow error. Still not sure what that was about but forced me to JSON.Stringify the array and parse it when loading it on the player page.
Accomplishments that we're proud of
Strangely enough i thought i would have a harder time getting the "hear the melody" to function, having a list of clicks made to make a melody is one thing, but building it with a timeout forloop worked perfectly. Making the process very fast as its all handled in parrallel promises with a setTimeOut function.
What we learned
Unfortunately i think my biggest lesson is that the types "array" and "object" in the collections are still not very viable options. Its still better to use a text element and parse it when reading from that. Unfortunately.
What's next for Play the melody
Design overlift probally, just so i can show it off a bit more. 48 hours is not long with planning and building as a single developer. so the design og the whole project is quite basic.