somehow the only working BulletML web demo now
BulletML is a XML-style markup language that describes patterns of bullet hell games.
In 2024/06/28, clonk started creation on the new redeem where people can submit BulletML files and it would summon the pattern on screen, where he would have to dodge them with the emacs cursor. This is still in development and the video is not out yet, but most of the work has been done.
most xml-style files (such as BulletML) does not fit into the 500 character limit twitch redeems has. to combat this, clonk plans to fetch a URL containing the xml file (similar to the letter count workaround using user pages with "show friend wikipedia") instead.
Because BulletML's scope is fairly simple and limited, a lot of information can be assumed, allowing the syntax to be greatly reduced in a novel format. documentations are in progress.
internally, you can send a GET request to https://prod.kr/api/yamame?input=MESSAGE (MESSAGE = the copied message after pressing "compress") to fetch the full ML, which is probably being done within emacs (he has bindings for this this is 5 minute craft).
by checking Human Readable Format, the compressor will generate a slightly longer but still compressed form of the XML, which i found to be easier to work with during testing and making patterns.
the most basic form is :action"top"[fire[bullet]], with elements compounding on top. try converting some demo files in hbm to learn more.
BulletML has two readily accessible demos online, one written in Java, and one written in OCaml. both requires downloading and building yourself, which can be a lot of work. The "human readable" section of the source code for this page also acts as pointers for common pitfalls and specifications not clearly written out in the reference for people who wish to make their own BulletML parser/game.
i made some sample patterns, feel free to try