<-- back

Yamameᵝ

somehow the only working BulletML web demo now


presets   
size x y 
origin x y 
difficulty 0
1
Preserve Names  IDN Compression  Human Readable Format


What is this

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.


XML is big

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.


How does this work (compression)

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).


Human Readable Format

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.


this is also a demo now

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.


Sample Patterns

i made some sample patterns, feel free to try

Center Flower Line Perpendicular