Posted January 20, 2024 by Tass
#Adult #Dark #Erotic #Horror #Singleplayer #vore
Hey everyone! It has been too long since I've made an update. Nonetheless, I have been actively working on this project and doing my best to make it better. I've greatly improved the UI experience for navigating rooms, as well as adding more content/dialog to the characters. I've also fixed a variety of bugs that I'll detail at the end of this post.
Improvements:
Bug Fixes:
Future Plans:
Overall, I'm really happy with how things are progressing in this game. I have a busy life but this is one of my passion projects and I enjoy working on it. One of my main goals is having a fun replayable experience that is cohesive. I think this game has a lot of replayability and is fun, but the companions, monsters, items, etc... IMO don't seem to connect. Each item, event, etc. has different mechanics, but they don't really help explain the world. That is something I want to work on more, is having some kind of story/lore to bring the characters more to life, while still having some level of randomness.
Overall, my goals are:
I appreciate it if you read this far. I'm hoping to make more updates regularly and respond to your feedback! Have a great day!
Nerd Stuff:
Many of these improvements and bug fixes came from creating new tools to make the process of discovering bugs and rendering UI easier. The map, for example, is entirely created using an HTML canvas with no external libraries. When I first started this project, I was handling the x and y coordinates manually, making it a painful process of trying to get all the components to line up properly. I fixed this by creating a sprite rendering engine that allowed me to place objects relative to the screen or other objects. Effectively, I could add center monsters based on the room they were in rather than having to calculate the room's position, then the camera position, then the center of the room, etc...
The other improvement I made is that this project is written in TWINE, which uses JavaScript and is highly flexible and easy to use. Twine does not check that the actual javascript is valid until it runs the passage (or room/item/event/omen in this case). So, when the game is mostly randomly generated, it's really hard to check that all passages work and haven't been broken by some other change. My code is written in typescript and then compiled into javascript, so all the functions I create have strict definitions but aren't validated when they are used in TWINE passages. To fix this, I created a validation process that parses out all of the javascript code from the twine files and attempts to compile it back into typescript using the definitions I have. This works well and found a lot of bugs that I missed. I would love to improve this process more in the future, maybe even finding a way to run TWINE as a simulation so I can test different scenarios automatically, but that might be overkill in this case. These types of tests, of course, will not find visual bugs, so there are some limitations in their value.