Just on time, I’ve completed my listed set of goals for developing the roguelike fork of the renpy Dating Sim Engine. The biggest and most impressive feature of this fork is a standalone python simulator for DSE playthroughs, which can be used to estimate typical player stats under different play strategies or estimate gameplay stats like how hard specific endings are to achieve.
Random act selection (left) achieves the "relaxed" ending >90% of the time, while a player who tries to maximize their strength and intelligence stats and prioritizes triggering events (right) always achieves one of the three confession endings. Running a Monte Carlo Simulation of a simulation game… Baudrillard probably has something to say about this.
Random act selection (left) achieves the "relaxed" ending >90% of the time, while a player who tries to maximize their strength and intelligence stats and prioritizes triggering events (right) always achieves one of the three confession endings. Running a Monte Carlo Simulation of a simulation game… Baudrillard probably has something to say about this.
There are already two parties interested in developing games using this engine (and the accompanying suite of simulation tools), and, while it may take the back burner to any game jams I’m involved in, I fully intend to provide support for this engine in the coming years. Don’t hesitate reach out if you want help using this code to make a game!
I confess that parts of this code are a bit scrappy because I didn’t want to take the time to rewrite significant chunks of the original engine– renpy treats all variables that aren’t scoped to a method or function as global, and it’s not considered bad form to look at these global variables in scoped code. So some of my rewrites to convert renpy code to python code make dodgy use of the global keyword. I may or may not come back and clean that up in the future.
At some point in the next few months I intend to write a PR for the base DSE engine that includes some of the more generic improvements that I implemented, so do look forward to that if you don’t need the full suite of simulation tools.
As for the rest of the changes from the base DSE engine, I’ll just transpose the contents of README.md here:
dse: Rougelike Fork
Dating Sim Engine for Ren’Py The Dating Sim Engine (DSE) is a framework for writing games based on events that are triggered by statistics. It comprises a number of independent modules that can be combined to create games.
Features of this fork
Core renpy files updated to modern versions.
Additional “Relationship status” screen that displays scores with love interests.
Optional “Hardcore” mode, which disables saves and stores all user data in persistent variables.
Random events for each day are rolled at the start of the day, instead of right before they occur.
Because events for a day are pre-determined, “hintable” events will be highlighted on the scheduler.
An event viewer menu, which allows the player to revisit any scene that they have already seen. Note: This uses the renpy replay function and may lead to undesired behavior if contents of events are conditioned on player stats. There may be a patch to address this in the future.
And last, but certainly not least: an included gameplay simulator which can predict player stat values and endings under different play strategies.
Minor site updates
This site is now a member of the *nix and yuri EVN webrings! Go check out these awesome sites!
I have added a separate rss feed for the “now” series of posts. If you sub to both this and the blog rss feed you should be up to date on all the minor updates of this site.
While this site is hosted on neocities, the last updated field there isn’t reliable due to the way my comment system works– this site gets “updated” any time that a spam comment gets posted or deleted, which happens roughly on the daily.
"If they think you're crude, go technical; if they think you're technical, go crude." Site contents and theme by Hamaonoverdrive. compiled:2026-01-03T19:34:11+00:00
No comments yet!