Website Updates



  • It's been quite some time since I've posted any news about the website, but there's a lot of news to share!

    First of all, the Reference Guide has moved to a new domain: http://www.cytheraguides.com (just cytheraguides.com is fine too).

    The second major change is in regard to the dialogue. It has finally been split out of the cast into its own page. All of the updates from BW and Bryce have been added in as well. Technically, it's available in three forms: a downloadable ZIP file, a complete online version, and an interactive dialogue viewer. In order to support all the different uses I wanted (specifically the interactive viewer), I had to reformat the dialogue in a more parser-friendly manner. BW had made a lot of great notes and fixed many typos and such, but a parser would have really struggled to figure out what was a typo vs. a comment or just an in-game remark. As such, I tried to mark everything up in a lightweight format specifically designed for Cythera dialogue. # signs denote actions/observations, whatever text is at the bottom of the screen. @ is still prompt links. % surrounds comments Matlab-style. () denote conversation-path triggers (like rescuing Ariadne, visiting the mine, etc.), which may be nested, and {} denote non-path determining triggers (morning/evening, sir/lady, etc.). That sort of thing. There's a few other notes, and each dialogue form presents the information relevant to its usage.

    The downloadable ZIP file has all of the character prompts in the described markup and is split out into generic prompts. Each group prompt affiliation is included at the top of the character's file. The included About file discusses the markup and tells the generic prompt priority. Students are mages, students, and citizens of Pnyx, but the group prompts are checked in a specific order so that they have the most appropriate response to a given prompt ("Danae is another student." vs. "Danae is one of the students here.")

    The complete HTML file is very similar to the old dialogue layout. All of the group prompts have been flattened, according to priority, to show just that character's unique responses to each prompt. Everything is still marked up, and notes explain more at the start of the section. Characters are alphabetized instead of being sorted as in the cast list, but the cast list now directly links to their location in the complete dialogue page, so it shouldn't affect usage much. I split it into its own HTML file primarily to make it easier to update. Now, if a prompt needs updating, I update it in the database, and a script automatically generates the corrected, flattened HTML file that the cast page can link to without needing any changes.

    The database is critical to the interactive viewer. I've been wanting to do this for a while, since it's just a fun way to explore the game dialogue. Basically, all of the character and group prompts are now in a database, which is queried by a small PHP-based REST service. For a given speaker and prompt, you can retrieve the appropriate response. The viewer page then parses this in javascript to present it in a manner as close to the in-game dialogue window as I could figure out. The start page has more information about how to use it, but anyone familiar with Cythera dialogue can figure it out. You click through responses that are multi-line, type specific prompts in the input space, click linked ones to launch a new query, and so on. Three-person conversations are supported, comments can be displayed, typos can be corrected; you can also change your portrait to another in-game character (even Bryce!) as easily as changing who you're speaking to. The viewer works correctly on the latest versions of Safari, Chrome, Firefox, and mobile Safari in my tests. I ran into some issues with my phone's version of mobile safari, but it is truly ancient. If you have problems, try a newer/different browser. Most issues with older browsers occur when populating the trigger drop downs. It's not necessary to view a typical dialogue response, but you do need to set triggers to view all dialogue, like if Berossus is talking with you and Dryas about the murder with or without Naxos present. Finally, note that some responses can load a bit slowly. I don't have the best bandwidth (sigh I wish I had Google Fiber or something...), so some long responses can take a second to retrieve from the server. In general, it shouldn't be too bad, but I might include a local storage setting in the future to pull down all a character's dialogue at once and parse on the client. That could speed things up a bit if it becomes an issue. I haven't tested this with very many users, so people may start having problems quickly. If so, let me know.

    As far as other updates go, there are new pages about Karma, Sleep, and Hunger (plus info about the fountains).

    Cast has been updated with quick links to the complete or interactive dialogue window of each character, and the drop down box now has their daily schedule instead of dialogue, which seems like better content for that particular place. The Time and Location page had a bug that prevented updating while dragging which has been fixed, and a link to Pallas' moon simulator has been added.

    Other minor tweaks are present throughout. Item weights have been added to the items page. Typos were fixed in the timeline page. The main page also has some extra introductory text. Section links to specific characters on the cast page have been added. The interactive viewer can be direct-linked to a character and prompt via URL parameters as well. More info is given on the start page for the interactive viewer.

    There's been a huge backlog of stuff I've wanted to do with the website for a long time, and this completes most of it. I'm thrilled to finally be to the point where it's ready to share with y'all! You can now do pretty much anything Cythera-related online except play the game! I know Bryce had toyed with the idea of a web version. We actually have all of the pieces except the core game logic. You can move around maps, talk with characters, read books, and look at items and character graphics. Unfortunately, it would be a significant amount of effort to start writing game logic to string all this together in a Javascript version I think; at least, it is probably more than would be worthwhile given how well Cythera plays in Sheepshaver. This is really a side-note anyways since the main focus is the website update. I just wanted to mention it briefly since it came to mind while I was chatting with some characters in the interactive viewer. It feels a bit like playing the game at times.

    Let me know what you think or if you encounter problems! I'm sure there will be some. And as I said, I don't have the bandwidth I wish I did, so you may have to bear with some speed issues. I hope those won't be too severe though.



  • I'm so excited that you've updated your website, Wizzy! ^_ __^ Thank you!



  • You've been busy. o_o


  • Global Moderator

    Nice work, Wizard :) .



  • There's a couple other tidbits I should add while I'm here:

    - Peirithous is now in the cast and dialogue pages. Since Bryce found his dialogue in the data, you can now converse with him like he were in the game using the interactive viewer. He is also part of a sequence with Sacas if you ask about Nicander and he is present (thanks to BW for pouring through the dialogue found by Bryce and catching all the new pieces like this).

    - The other unknown portrait was added as a character-selectable portrait mostly to save the icon. Since we still don't know who it actually is, I was hesitant to name it Gandreas, but I wanted to have it somewhere on the site.

    - The interactive viewer has a bit of an undocumented feature regarding greetings and such. If you've looked at the complete dialogues (either downloaded or HTML form), you'll notice that the markup prepends special prompts with an asterisk. So greetings are *GREETING, the default response to unknown prompts is *UNKNOWN, playing dice is split into a separate prompt to make it easily loop-able and callable from different stages of the dice conversation via *PLAY. These prompts are special in the sense that they are sub-queries. In the game, you never really call them specifically, but you reach them by starting a conversation, asking an unknown query, etc. If you wish, you can access them directly in the interactive viewer by using the full prompt with the asterisk at the front; that's how the viewer retrieves the information itself (although the *UNKNOWN response is never explicitly requested by the client since that one's handled server-side). Anyways, the main reason I bring this up and that I find it useful is that if I want to get back to the greeting without switching characters and going back, you can just type "*greeting" in the prompt bar.

    As a small aside, when I was doing the dialogue reformatting, I found my favorite typo in the whole game! Just ask Bias about "Thuria" with typo correction off! I'd say it's pretty clear Gandreas copied the text from Thetis' response to the "Thuria" prompt, but he changed the wrong word, much to the player's amusement.


  • Global Moderator

    These changes are pretty neat, and the URL is more easy to remember!

    I'm trying to use Slayer's Guide as a story reference at the moment, so a couple of remarks about this area:

    - Mirror 1 has been down for ages. Mirrors 2 and 3 work fine however, and maybe should be promoted to replace mirror 1 (specifically mirror 3).

    - It would be cool to add in some integration from Slayer's Guide into the new Cythera guides website. Dunno how useful this will be in the grand scheme, since few people will need to actually reference his guide to beat the game anymore, but for example, when I click on an NPC on one of the mission guides, it takes me to a picture of the NPC's sprite. It would be more useful if it took me to a page about the NPC, with information about who they are or possibly their dialogue page.