YAYA Fundamentals

This repository/website contains a guide to the YAYA programming language, a language used to write ukagaka/ghosts. The guide attempts to cover every aspect of the language, in a way that will be helpful both to experienced programmers and newcomers to coding alike. The guide is available in GitHub’s markdown view, or on GitHub Pages. If you don’t like the presentation you’re currently looking at, try the other option.

The guide also comes with a companion ghost called Ghost Guides, which can run the example code from the lessons for you. It is recommended to download this ghost both for running the examples, and for experimenting with the code yourself. With the ghost running, you can click the link under any of the code boxes to run that code within the ghost. Note that the guide may update over time, so always check that you’re running the latest version of the ghost.

Please note that if you are viewing the guide through GitHub’s markdown viewer rather than on the GitHub Pages website, clicking on the links to run the code will redirect you to a jumper page that will send the event to the ghost. This is a workaround, because GitHub’s markdown viewer does not support the type of links that the ghost uses. It is recommended to open these links in a new tab, by middle clicking or holding Ctrl when clicking. The additional tabs may simply be closed.

Please note also that your browser security may block the links that run the code. If they aren’t working for you, you may want to adjust your security settings to allow it through for this website.

Work In Progress

The guide text is complete, but it may be updated over time to correct wrong information, poor wording, or to add new sections as YAYA adds features. If you’re curious to see what’s changed, you can look at the repository’s history.

The website for the guide was put together over the course of a few days, as my deadline for posting the initial version of this guide is looming ever nearer. I hope to update it to smooth out the details. One notable issue is that the syntax highlighting isn’t working properly in a lot of places; I’ll try to fix it if I can. The markdown view should have better highlighting.

Advent Calendar

This guide was initially posted for the 伺的 Advent Calendar 2022, on day 24. You can read the article about it here. The guide was created throughout the entirety of 2022 (though admittedly I only really worked on it in September and December…), and I used the Advent Calendar as a deadline to motivate me to finish.

Credits

This guide, website, and ghost were produced by me, but not without a lot of help along the way, which I am eternally grateful for. It would not exist at all, much less in as good of a state as it is, without the folks listed here.

Beta Readers

Special Thanks

Many thanks to steve02081504, who helped me greatly with some of the technical aspects of this. In particular, answering my many questions about the details of how YAYA actually works internally, checking on bugs for me, and also getting me started with markdown on GitHub and showing me how I could make GitHub automatically build it into a website. This has saved me countless hours of tedious work, and has allowed the guide to exist in a much better form than I had planned from the start.

Thanks also to Ecclysium, who also wrote the SAORI-basic used in Module 9 for demonstration, since I was running into issues with my own pre-existing one. They also helped with another large project I was working on concurrently, doing a lot of the tedious work there, which helped give me more time to work on the guide and eased my stress about it. Both projects were due almost at the same time, so this helped me greatly.

And finally, my eternal thanks to both GallaTheGalla and Ayakamtka, who were my cheerleaders along the way and kept my motivation up. For listening to my rambling, for helping me make decisions, for giving me feedback on all the little bits and bobs as I worked on them, for helping me not feel alone while I worked for hours and hours each day: Thank you.

Other Resources

In Japanese

These official resources are primarily in Japanese, which is a large part of why this guide exists. Still, you may find them useful, even if you have to run them through machine translation.

In English

Webring

This guide is a part of the Ukagaka/Ghost Development and Download webring. You can find other cool ghosts and resources available here. Try browsing the ring, or click here to go to a random page.