Advent Calendar 2022 - YAYA Fundamentals Guide Release

This article is for the 24th day of the 伺的 Advent Calendar 2022.

I've written an English guide to YAYA.

Yes, you read that right.

It's 61 pages/lessons. Some of them long, some of them short, broken up into 13 different modules.

Not only that, it comes with example code to show off how various features work, and a companion ghost you can download that will run the code for you and show the output. To accomplish this, it makes use of x-ukagaka-link, so that you can simply click a link under the example code, and see the output appear in the ghost.

It is a detailed exploration of YAYA from the ground up, starting with basics such as variables and flow control, and working all the way up to more advanced concepts such as regular expressions and the preprocessor.

I hope it will be useful for many people; for beginners just starting out that don't know any computer science, for experienced programmers who just want to skim to learn the syntax, and for folks that are already ghost devs and want to improve their coding skills or learn more advanced topics.

If any of that sounds of interest to you, please, read it. It was my big project for this year, and I have poured so many hours into it this past month, and last September. ... Admittedly, I should have been working on it throughout the year and I didn't, but it was a bad year for me, for personal reasons. Still, if you are reading this text, that means I have prevailed and released this guide into the world. It may be a little rough around the edges still, but it is something I hope to continue to update and maintain, especially since YAYA is sure to receive more updates in the future. So, if you find any issues in the guide, whether it be a wrong or unclear explanation, a typo, bugs in the companion ghost, anything; please do get in touch. I want this guide to be a good resource that many people will benefit from.

Note that I was rushing to get this first version out in time for the advent calendar, so I expect it will be rough in places. (In particular, the syntax highlighting on the website version is hopelessly broken... I'll see if I have any better options at some point. If you know a good option for syntax highlighting in GitHub Pages that will work decently for YAYA, please let me know.)

I produced the entirety of the guide text myself, but not without a lot of support and feedback from other folks. In particular I want to thank steve02081504, who helped me with so many technical details related to both YAYA and GitHub, saving me many hours of work; Ecclysium, who made me a SAORI-basic to use as demonstration since my existing one wasn't working out, and also helped work on the last details for the wiki that released yesterday since I was falling behind and starting to stress about it; and Galla and Ayakamtka, who cheered me on through the long weeks of grinding to get this done, and kept my spirits high with their feedback. I don't exaggerate when I say that this guide would not be released without these people, their efforts really kept me focused and wanting to finish this project even when it got tough.

This is actually my third time attempting to write this guide. As a matter of fact, my first attempt was as far back as January of 2021. The first two attempts died within the first module, both muddled messes that will never see the light of day. Each time, I was quickly demotivated and felt like I wasn't making anything worthwhile. I'm not sure what changed this September, when I sat down to try it again. Maybe it was the end of the year drawing closer, maybe it was that I finally told someone else what I was hoping to accomplish. Either way, somehow I've gotten through it.

I've spent the last ~2.5 years teaching myself how to code by learning YAYA, and the more I've learned about it and how it actually works, the more it's become my personal mission to demystify ghost coding in the English community. As it is, so many people that want to make ghosts are deterred by the language barrier, and the confusion that comes from having to put all of the ghost documentation through machine translation. I want that to be (mostly) a thing of the past. We've made great strides towards that this year; we have the Sakura Script page of Ukadoc available in English now, primarily thanks to the efforts of Ayakamtka. We have an English wiki for ghosts, where we can compile all of the knowledge we've learned about Ukagaka in English so that it is available for all who want to explore it, and not hidden away in the chatlog of our Discord server. And now, there is this guide, which I hope will make learning the ins and outs ghost coding, at least in YAYA, more straightforward.

This is not the last of what I have planned, either. This is what I have for 2022, but in 2023, I hope to continue working on projects like these, to continue to improve the tools and resources available in our community. I want to bring down every barrier I can that would deter someone from making a ghost, so that when new people come along and are excited to try making their own, all of the information is there and readily available and not obscured behind dodgy machine translation.

Thank you so much to everyone who has been supporting my efforts along the way, even if it was just a few kind words here or there. I truly can't thank you enough. These last 4 months have been a hell of a ride, working 5-10 hours almost every day between this guide and the wiki project. Once this is posted, I am taking at least a few days to slack off and not do anything. I think I may have earned that much.

Additionally, thank you to the folks on the advent calendar, who have been very welcoming towards me. I appreciate being given the chance to show off the things happening in the English community, and what I've personally been up to. I hope to do it again next year!

You can find the guide here. Please read it, and tell me what you think. If it is helpful to you, then that is all I could ask for.