Esoteric Update #307 - Post-Migration Cleaning
So, last week, I managed to migrate the code, but as I mentioned, there were some issues. This week, I spent time ironing out those issues, especially since a few were more dire than I expected.
I'm not going to go into too many details (synchronisation issues and memory leaks were a major concern, and some of the interface designs for WebView2 are just not good either, actually really stupendously bad), but here's a rundown of the problems, categorised by language:
1) C# issues: So it turned out that we had a few race condition issues. I fixed every one I could find, but I'm unsure if it's all of them. I also needed to intervene through C# with some of our other problems.
2) EsoScript: Ah yes, my own language. We ended up experiencing issues with multiple API tokens due to interface differences (the code would fail silently), and I also need to update one more so it uses WebView2 (it currently still relies on WebBrowser). Overall, the issues mainly affected zoom levels and defining keybindings.
3) HTML: A navigation issue limited the full size of the game's display to just 2MB; this would be fine if we didn't sporadically use base64 data. Fixed, though it requires some changes to CSS to account for dynamic content insertion - yeah, we went semi-reactive again.
4) CSS: Found just a single issue related to font usage. WebView2 defaults to an emoji font for some Unicode symbols; we needed to make it stop using emoji. This seems to have worked just fine.
5) SVG: While there are (surprisingly, considering the amount I had with Gecko) no issues with SVG, and the rendering is faster and smoother than ever, it turned out that my coveted <foreignObject> element does not work as well as I thought (it cannot be used in masks and cannot have filters applied to it). It's good that it came out early, and it's not a big issue since our systems were designed to work around the lack of this feature regardless.
6) JS: Absolutely knackered, but I'm working on restoring the functionality. Part of the issue relates to the race conditions I mentioned before; the rest is just issues with the HostObject API and how it integrates with JS.
I've also added a custom schema (a new protocol) that allows us to package images, .js and .css files in the data package. It's just a QoL thing, but it's one I enjoy having. Additionally, it allows mods to overwrite files they previously couldn't.
I've also spent some time redesigning the character definition and character creation. There will be some changes to how things work; some are just QoL features for the end-user, and some are more related to problems with logic and consistency we've previously experienced. In addition to that, I've been reconsidering the break-neck pace of the current intro, and we'll be replacing it with something a bit more mellow, allowing us to showcase more mechanics and features (and explain them) in a more organised manner. I've also reconsidered how tutorial popups should work to make them... less intrusive to the overall experience.
This week, I'm working on the UI. I'm going for a few, finishing a few features we started but never quite finalised and moving UI from bespoke HTML to a more generative approach based on extensions. These changes will allow for layout customisation, essentially UI mods. Additionally, they will make creating layouts much more manageable and allow UI elements to be redefined globally if any changes are required.
I've also felt much more inspired to write recently and have been doing exercises to polish up my mediocre authorial voice, so we'll see how that goes.
Overall, I feel a lot more optimistic about the whole project!
Get Esoteric ♥ Esoterica
Esoteric ♥ Esoterica
A story driven erotic game about magic, supernatural forces, love and BDSM.
Status | In development |
Author | EsoDev |
Genre | Interactive Fiction |
Tags | Erotic, Experimental, Fantasy, Female Protagonist, Mystery, Procedural Generation, Romance, Story Rich, Text based |
Languages | English |
Accessibility | Color-blind friendly, High-contrast |
More posts
- Esoteric Update #306 - Preliminary Migration Complete7 days ago
- Esoteric Update #305 - A Difficult Decision, But One I Had To Make14 days ago
- Esoteric Update #304 - A MathML Of My Own28 days ago
- Esoteric Update #303 - Unrandom Randomness35 days ago
- Esoteric Update #302 - Letters Go BRRRRR...42 days ago
- Esoteric Update #301 - Agh! But That's Finished At Least49 days ago
- Esoteric Update #300 - Well Isn't That Frustrating56 days ago
- Esoteric Update #299 - Hooke's Law63 days ago
- Esoteric Update #298 - I'm Back, At Least Most Of Me Is70 days ago
Leave a comment
Log in with itch.io to leave a comment.