Sleepy Place - Blog

September Update

Written by ♫Dex, published 2026-09-20

This month (and a half), I did some changes to Project Mirabelle. In addition, I want to share some reflections about Project Mirabelle itself, and talk about a few other things like I wanted to do in monthly blog posts!

I'm technically a bit late for this blog post - about two weeks late compared to my original goal of "once a month". I think that means I won't hold that timeline in the future either, but the important part is trying to keep it up anyways!

Here's the summary:

  • Improvements to Project Mirabelle
  • Ramblings: Project Mirabelle is a playground, and this is an issue
  • Games I've played: Terraria
  • Books I've read: A Court of Thorns and Roses
  • Conclusion
  • Improvements to Project Mirabelle

    Over the past two weeks, I have started working on Project Mirabelle again. This might be mostly small changes, but I do still have some very visual things to show to you (and other less visual things but that I hope you might find interesting anyways).

    The most visible changes are, of course, new outfits and animations:

    Image of Project Mirabelle showing two characters, one with a black dress casting a spell with two hands, and a second character tied with ethereal rope

    The new animations are simple, "emote" animations (static poses to be used by scripts during events and interactive cutscenes) to show casting magic.

    Image of Project Mirabelle showing the player character in a black dress with a semi-open hand held in front of her, with a ball of purple light inside of her hand

    And the new outfits are new dresses, which was mainly me playing around with necklines and cleavage and experimenting with how to make it look good. There's a large variation of cleavage styles out there and I only played with a couple of them, so this is just a first draft, but that experimentation will help me pave the way for adding more outfits later on.

    Image of Project Mirabelle showing a character leaning against a wall in a black strapless dress with a plunging neckline

    Finally, I made internal changes to the game. This is the kind of detail I wouldn't usually talk about in a blog post, but these specific changes are a good example of something I want to bring up in the next section, so explaining them help with giving some context (plus, I kind of want to talk about the internals for a bit).

    For context, in Mirabelle, the "levels" you enter are handled through "map files". These are written manually, and describe both the level itself (the "layout"), what characters and elements are present in the level and where (the "entities"), and also what happens when the player interacts with other entities (the "events").

    Composite image of a level in the game, and of the level file that represents it

    This idea of "map file" is something that has been around for years, nearly since the start of the project as a whole. I have mentioned it in a few blog posts already, including one short dedicated blog post from a year and a half ago about the rework of the map format, and I also have one half-written technical blog that go into detail about how map files really work. But despite all of that, the map files were never really modifiable from the game itself, and you always needed to run the game in development mode to actually see and modify them.

    To address this, I added the ability to both download the current level as a "3dmap" file, and to upload any level, directly from the debug menu. This still isn't "fully public", as in, it's not in the main menu as a front-and-center option of the game, but it's now accessible to anyone who accesses the debug menu (you can open it by pausing the game and going to "Game Options" => "Open debug menu"):

    Image of the Project Mirabelle debug panel with the new level open/export option for level files

    The debug menu also allows to configure entities "on the fly" (an option that has existed for a long time), but until now, it wasn't possible to change the NPC AI settings through it, which made experimenting with scheduling or events a bit tedious (since you needed to reload the map). So, I added the ability to edit these from the debug menu as well.

    Image of the Project Mirabelle debug panel showing the NPC configuration options for scheduling, detection settings, and capture behavior settings

    Another internal change I made was to add some more parameters and fix a lot of bugs on both the entity and event sections of map files. This includes things like the ability to program NPCs into handgagging the player, to make conditional events depending of whether the player is carrying or grabbing another player, and other small details like that. Nothing groundbreaking, but some amount of "polish" and options that I can use later in maps.

    Image of Project Mirabelle showcasing a NPC handgagging the player, with a debug panel open showing the event trigger behavior that allows this to happen

    Finally, I have one last topic to address.

    In Godot's Dialogic plugin, there is an option to edit what they call "timelines" (and what I would call "events") through a very nice user interface, as shown below (the image is from the first page of the dialogic documentation).

    Image of the dialogic visual timeline

    Dialogic is the inspiration behind the underlying format of Project Mirabelle's map file events. I really liked the way that Dialogic went about making an easily readable and editable text format of the "timelines" for people who like working with text, and also made an easy-to-use interface that works one layer above that text format for people who prefer working with it.

    From the very start, I have started "code-documenting" all of the options for both entities and events, and I have added even more code-documentation during the past week. Today, this is used for reporting the exact errors on load (which is already implemented, though it only shows up in the javascript console for now), and helping the user fix it by showing the "correct options" that would be available in this part of the file.

    But, in theory, this code-documentation can also be used to create a specific user interface to edit maps, entities, and events, one that would look a bit like Dialogic's interface.

    However, this interface is not something I've started working on. The reason is simple: I don't need to use building blocks, because I usually just edit the text of the map files directly. And as a result, this interface is not a priority for me.

    And this is somewhat of an issue, which encompasses more than that and leads nicely to the next section:

    Ramblings: Project Mirabelle is a playground, and this is an issue

    The alternate title for this section was "Why I can't focus on making new levels for Mirabelle, and what I want to do about that". But it's actually a bigger issue than "just" levels, and I think I should talk about it.

    I don't have a "project mirabelle" folder on my computer. Instead, that folder is named "js-3d-playground", which was the original name of the project before I came up with "Project Mirabelle" (itself a reference to "Project Apricot", a project by the Blender Institute to make a video game that was started in 2007 and finished one year later with the release of Yo Frankie! in 2008). Even after picking a new name for the project, I never changed the name of the folder. More precisely: I have changed computers since then, and when I recreated my environment, I have actively named that folder "js-3d-playground" again.

    This is because, for me, Project Mirabelle is a space to experiment with ideas, and not really a "game" per se.

    What Project Mirabelle really is:

  • A complex custom engine
  • With a manually-coded collision, physics, and pathfinding system
  • With the ability to create advanced, dynamic building interiors and exteriors
  • With chunk-based 3D terrain for outdoors areas (including infinitely procedurally generated terrain, dynamic grass generation, and other details)
  • With fairly advanced NPC behaviors that includes concepts like "schedules" and "NPC squads"
  • With event-driven "paired interactions" animations allowing playable cutscenes
  • With an event system with branching paths and dynamic options that, I think, wouldn't be out of place in a RPG Maker engine
  • With partial multiplayer support
  • And with a bunch of pre-included assets specialized for bondage such as ties, animations, and devices in a medieval fantasy setting
  • And most of the content above is used exclusively in unfinished debug maps.

    The five levels of the game (tutorial included) barely uses a twentieth of what the engine can do, and doesn't really showcase any of the features listed above. This is mostly because these levels were created before Project Mirabelle got all of the features I listed above, but also (and more importantly) because I have not changed the levels of the game since January 2024, two years and a half ago.

    Detail of a screenshot of the Project Mirabelle main menu, showing the text

    Now, you'd think this was a simple matter of making a bunch of new maps, but here's the issue: I can't easily just "make a map" for Project Mirabelle.

    Map needs ideas, and I have the ideas as I make them. So, when I "make a map", what actually happens is that I want to add one of the ideas, so I go into the code and then either add or fix things that are missing to make the idea work, and then I go into Blender and create models or animations that are missing for this idea as well. And then I continue the map, and I have another idea, and I start again.

    The way I work on maps for alpha 0.2 is that I keep doing that "idea, code, assets" cycle until I get to the point where the map feels like a scenario with a start and an end. It takes a long time to do so, and it's slow progress for each step of the way (especially for the more complex ideas like "outdoors" or "magic" or "escape system"), but it's been moving forward.

    And so, that was the plan for the "alpha 0.2" release. Continue adding "ideas" to the maps, and when the maps would be complete and include almost all of the things I added to the game, I would release the update.

    Now, I have been creating the "first map" since January 2025, and I have (tentatively) finished it in January 2026. It is far from "fully done" and I still find things to change here and there, but even ignoring that, it took a year to get there. And that map mostly showcases two things (the outdoors area and the "multiple branching paths" event system), and partially showcases two other things (the escape system and NPC AI).

    I've been creating the "second map" since December 2025, and I'm probably not even halfway done with it. This one would showcase advanced building layouts, interactive cutscenes, and the more point&click-like aspects of exploration.

    The third map, that is more of a project than an existing thing today, would showcase infiltration, NPC schedules, and also show the escape system more fully.

    If you look at the timeline, well, clearly, this isn't working as a game development methodology. I can't really be happy to work on a single point-update for an alpha version from 2024 to 2028, and then after this development, to just have three maps to show to people. It does fit with my personal goal of Mirabelle being a playground, but it's not a way to actually create something that other people would be excited about.

    What should I do about it? Well, maybe it's fine to do that for Project Mirabelle. I have other projects, mainly the Galactic Empire remake but also Stackamsels and Adventurer's Journey, that are much more focused on being "games" and that have a development process more centered around that (it's not perfect, and I'm not working full time on either of them anyways, but it helps).

    But also, there might be another, and simpler, option. Lately (as in, in the past two weeks), I have gotten some comments about Project Mirabelle on Discord, pointing out things about existing levels that some people wanted to see, so I just quickly added what I could add, and... It actually isn't a bad way to go about it? I think it's motivating to have someone point out things they want to see, and then to try to do them.

    So, another answer to the issue of stopping this feelings-based development system might be to find someone else that would already have an idea in mind of what maps to create in Mirabelle, and to use their insight as a "target" for making the game actually happen. It will be complicated to do so, for several reasons (the main one being that finding someone with tastes that align with mine will be difficult ; mainly that it seems a lot of people pushing for adding things in bondage games are foot fetishists and, no offense, but I'm not into that), but that could be one solution to the current issue.

    In any case, thoughts for later.

    Games I've Played: Terraria

    I've restarted a character and world in Terraria. This is the case every few years for me, sometimes because I forget to copy my Terraria game files when I change machines, but other times just because it's been too long and starting over makes more sense.

    I'm currently pretty far along with this new character:

    Screenshot of Terraria, showcasing my character on a flying saucer in an overworld mushroom biome. I have a shellphone and the terra blade

    By that, I mean I'm fully kitted out and almost at the end of the game, with only two bosses left to beat (the Cultist and the Moon Lord). One boss, really, but the Cultist can technically be hard to beat, so I'm not discounting it either.

    Terraria is a game I'm always feeling a bit weird about, especially now that I'm reaching the end game again. It's a game about exploration and finding things, which I really like, and there's a lot of items to collect and things to explore. It can be a game about building, but for me, it's more of a game about terraforming, with most of my time being spent "fortifying" my towns and not really being spent actually building bases.

    But also, I think that Terraria has a flaw, as minor as it is, which is the progression of its bosses being inequal.

    To summarize, the main gameplay of Terraria consists of gathering armors, weapons, and accessories, and then using them against enemies. The weapons have different categories (melee, ranged, magic, summoning) which the armor and accessories improve, and, as the game progresses, you will naturally tend to focus on one of these categories over the others.

    I usually play as ranged, but I stuck to melee for this character instead.

    The game also provides major enemies ("bosses") that act as a combination of DPS and armor checks. Beating them unlocks new parts of the game, which allows you to collect more armors, weapons, and accessories. The game expects you to keep playing until you beat the last boss of the game ; you can keep playing afterwards, for example with the goal of collecting more items or of building a prettier base, but it's not "expected" for you to do so.

    Beating a boss requires you to not only have the equipment and buffs to do so, but also (and more importantly) to prepare the terrain for the encounter. Since bosses usually have specific places where they appear, it is usually required to clear terrain at that position and then to place specific structures there, mainly to help with movement and avoiding the boss. It is something I like a lot, and for me, what makes Terraria unique in terms of combat (and something that hasn't quite been managed in Modded Minecraft so far).

    Unfortunately, the game is carefully tuned so that you can't realistically beat a boss unless you do this preparation step beforehand, and that means, the bosses are very hard to beat even with both the fitting arena and the best equipment available.

    And here lies the flaw.

    Terraria is a game that provides you with many, many options, and you have dozens of items all over the game that you can use at any point in time. But some of the bosses are so fine-tuned to be complicated to beat, that you kind of have to rely on specific combinations of items and tricks to get past them.

    This means that some bosses can quite simply block you from progressing further, where you lose just because you didn't play that fight quite right. Combined with some occasionally ridiculous spawning requirements (cough Lunar Events cough), this can be pretty demotivating if you can't quite manage beating the bosses after a few tries.

    I'm thankfully past the point of the game where I have to worry about the mechanical bosses, which is the first of these walls for me. But unfortunately, the Moon Lord is next, and I'm not looking forward to it at all. I haven't attempted it this time around just yet, so maybe it's going to be easier than what I recall (there has been several balancing updates to the game, I believe). But still, maybe not.

    This all is still a minor issue with Terraria as a whole. Before even encountering one of these bosses, let alone my specific issue with them, you will have spent a long time just having normal fun (more than 60 hours for me). And it's very possible that you won't encounter that issue at all ; the bosses can be beaten without many fancy strategies just by being good enough at dodging.

    I do really recommend Terraria. It's a great game, really fun, it really sells the feeling of exploration, and its progression system will keep you going. Terraria is still one of the best videogames, even today.

    A screenshot of the

    Books I've read: A Court of Thorns and Roses

    A Court of Thorns and Roses (ACOTAR) is a fantasy romance series targeted towards young adults, named after the first book in that series, and that has become very popular since the release of its first book in 2015.

    I've only read the first book, the one actually called ACOTAR. The series isn't finished, and I tend to not even start series before they are (in order to not be stuck waiting for the next chapter), but I decided to check out the first book anyways in this specific situation since it was recommended by many people (and since I did know that it could be read on its own).

    I think ACOTAR is a good book. It's not groundbreaking, and it is a young adult book, so you shouldn't expect too much from it either, but it's honestly a fun read that does keep you invested in the events and the characters.

    One reason I want to talk about it here, however, is about something specific that stuck with me after reading the book: the plot is not trying to do anything "special", and is even bending itself in two to do so.

    Without spoiling too much, the basic plot of the book is very formulaic, basically copy-pasted from legends and myths that you have heard of before but readapted to the setting of the book. It is a mix and match of proven ideas, and reading through them is mostly unsurprising in a good way. This means that victory and defeat are both expected, you never really have to worry about what will actually happen to the characters, but it does hold its tension in other ways (mainly: circumstances and relationships. And violence and injuries, if that makes you squeamish).

    That leads to a number of events in the book that are very plot-convenient, because they need to happen in order for the book to move forward with the story, despite the events being very unlikely given the universe or setting.

    And that's what I wanted to point out.

    When writing a story, the plot needs to be convenient, because this plot is quite literally where the story happens. You can't write a romance story if nobody clicks romantically with one another, you can't write a bondage story if nobody happens to be into bondage, and you can't write a hypnosis story if nobody wants to at least try hypnotizing other people, as a treat. And all of the readers accept that kind of "core" plot convenience easily ; after all, if you are reading a story about something, you expect that something to happen, and the story to contain events that allows that thing to happen no matter how unlikely they "really" are.

    But there's degrees to this plot convenience, which is when that convenience starts to happen beyond enabling the core themes and instead happen to facilitate the story itself. This isn't quite the same thing as a "plot hole", where events happen that contradict previously established events, but if a too large number of unlikely events happen specifically because they enable the exact story that the author wants to tell, it can fall into a similar category. Readers will however not even notice these "conveniences", or at least will not care about them, if they happen in small quantities (timely rescues at the last possible moment are a staple of storytelling for a reason), and part of the art of writing is to find just how much plot convenience you can get away with for the audience you're targeting.

    The ability to create that plot convenience is something I struggle with in my own writing. I tend to do the exact opposite, trying to squash anything that wouldn't be a realistic coincidence with the exception of the core themes, and that leaves me to overthink plots and even scrap them if I find that too convenient. This is why I sometimes say that I couldn't have written one story or another, because I would have overthinked the plot and wouldn't have been able to push past it. And, to come back to the original topic, this is the case with ACOTAR.

    ACOTAR isn't really a case-study in plot convenience (it's really a minor part of the story, and other books are much better at illustrating that point), but I think it's still a good example of a story that could only happen by the author straddling that line of enabling plot convenience. It's something I noticed, more than once, but it's never something that took me out of reading the story either, and I think that makes the book a success.

    I don't know whether I would recommend ACOTAR to people generally. If you're interested in a story centered around romance but with lots of brutality in its universe, then it's a book that you'll probably enjoy. If you're looking for something else, then I'm not sure you'll like it very much. It was a success for a reason, though, so if you're on the edge about it after this explanation, you can give it a try!

    Conclusion

    As with last time, I ended up cutting out a few topics (and even reviews) from this blog post. Some of them due to a lack of time, but at least one other because I started writing it, and found out that the ideas hadn't crystallized enough to turn it from anything that was actually worth talking about. I've drafted that section for now, and maybe it will end up being something for a future blog post then!

    I'll try to keep to an actual monthly schedule for the next blog post. As I pointed out at the start, the timing of this post drifted a little bit, and even if it ended up a positive change (since I did use that time to make actual progress in Mirabelle), it's not something I want to make an habit of doing either. I think late September and October should be a simpler month than this summer was for me, but I'm still kept fairly busy anyways, so we'll see if I manage to stick to it!

    With all of this done, see you next time!