๐ AR-Markdown: A Practical Approach to Prototyping
In my spare time, I work on two AR experiences. One of them is a casual game with ~ 100 different levels, which means a lot of ๐ค๐ฐ๐ฅ๐ฆ, ๐ฃ๐ถ๐ช๐ญ๐ฅ, ๐ฅ๐ฆ๐ฑ๐ญ๐ฐ๐บ, ๐ต๐ฆ๐ด๐ต โฆ ๐ณ๐ฆ๐ฑ๐ฆ๐ข๐ต. In the past, I have always used text files or similar to describe the levels, model files, and scoring systems and coded the game in C++ to be platform-independent.
That works great, but I wanted to automate the prototyping process further and fulfill the following requirements at the same time:
โข Support of ๐บ๐ฎ๐ป๐ AR/VR platforms (ML2, AVP, Oculus, Tilt 5) โข ๐ฉ๐ฒ๐ฟ๐ ๐ณ๐ฎ๐๐ for prototyping โข Make changes immediately visible at ๐ฟ๐๐ป๐๐ถ๐บ๐ฒ on the device โข Allows to define ๐ช๐ถ๐ป๐ฑ๐ผ๐๐, ๐ฆ๐ฝ๐ฎ๐ฐ๐ฒ๐, and ๐ฆ๐ฐ๐ฒ๐ป๐ฒ ๐๐ฟ๐ฎ๐ฝ๐ต๐ โข ๐๐ฎ๐๐ to extend โข Donโt need programming experience to use it โข Allows the use of Lua for ๐๐ฐ๐ฟ๐ถ๐ฝ๐๐ถ๐ป๐ด โข Uses existing tools (reduces development time and maintenance) โข Support of version control
Iโm a huge fan of Markdown languages, so itโs no wonder my solution uses the same approach to define the entire application flow, all interactions, the level maps, all settings, and even the screen graph in a Markdown text file. This can all be done in Visual Studio Code; the preview is made using the Mermaid plugin, and a little tool checks the changes and sends them immediately to the device. No compilation, build, or deployment is needed.
The results: โข <60 min for an entirely new app/prototype/experience โข <5 min for a new game level โข <1 sec to see a change ;)