Yes, I'm trying to improve this.
MoralHazard
Creator of
Recent community posts
Thanks for the kind words. This is very much a demo currently, so I'd like to add more features based on user feedback.
Persistent abilities for characters are already implemented, just not for body changes, so this can definitely be added to the skill tree.
Can you expand on what you're envisaging with character interaction? Currently, every period (advance time), each character decides to either undertake one of about 25 solo or 12 pair activities, and this is recorded in their activity history and is remembered by characters when they interact with you. Are you imagining a fully fleshed out AI narration for each pair and period? That would be too computationally expensive to do with an LLM. I could, however, flesh out the nature of the interaction with some tags and modular descriptors that can be assigned based on the character's stats and gamestate.
For phone--I'm focused on building out the base game first, but I'll add phone-friendly UI later.
The endgame isn't implemented yet--I'm trying to get feedback on the systems before finalizing anything--but it will involve a showdown with Reimu.
What did you find unintuitive about the NPCs? This game has the most complex systems of any I've made and I need feedback on how to streamline the experience.
The problem really comes down to the fact that modifiers are only applied to focus NPCs. I'm experimenting now with a build that will allow any NPC to be assigned modifiers. Possible downsides in increasing the complexity of the LLM's instructions and therefore making errors more likely but I'll add it if it doesn't degrade performance.
Thanks for all the feedback! I don't actually get much of it and it's very useful for me.
I'm not completely sure what issue you're having with the Irises from your description. I think I will rename them, however, as "Iris Alpha" and "Iris Beta" can complicate some of the substring matching that I ended up adding to manage NPCs, particularly if the player or narrator truncates the name to Iris .
Money is still not fully implemented, in that there aren't many uses for it, the defined uses are bugged, and the way the game manages money hasn't been sufficiently tested and debugged. A big to-do for me.
With respect to NPC movement, NPCs can currently follow you, but can't be sent to a third location. Automating the process of sending NPCs based on input text would be very error prone (the current system can already fail sometimes based on how the player's response and the narration is interpreted), so if that were implemented it would probably be through the NPC UI.
Being able to advance time is absolutely intended.
The chaotic mess part is not intended. Hopefully that won't happen now.
I've changed the twists prompting to hopefully prevent infeasible twists--though some of what you've mentioned is actually okay: enhancing a spell can work fine; it won't change the spell description but the narrator can generally handle it. Male side characters can be added as long as they aren't central to the story. Additionally, I've adjusted the twist mechanic to give you a choice of 3 twists, which should hopefully let you avoid any twists that break or undermine your run.
Going back to Command-R+ isn't really feasible as the API is still broken (4096 input tokens max for structured generations) whereas Command-A works with long contexts, allowing for much better narrator memory. Additionally, Command-A performs better along a lot of metrics, and a lot of the slop issues were very present in R+ as well. I actually do have some anti-slop built into the engine, but because I'm working through the API rather than a local instance of the LLM I can't use the most efficient measures (constraining the generation itself). I am adding a little more anti-slop though.
Thanks for the feedback! I'm trying to thread the needle between a permissive narrator that allows nearly anything (as it was before) who therefore incentivizes bulldozing over the game's mechanics rather than engaging with them, and ab overly pedantic and restrictive narrator.
I haven't had the level of pushback you're describing, but these things are very sensitive to how you play, which is why I value outside feedback so much. I've pushed a small change to the prompting to hopefully make the narrator less aggressive while still policing jailbreaking attempts. Let me know if you're still having problems!
I've tried to balance the opponents, especially after the beginning, to be challenging but fair. I didn't get many complaints about difficulty in the demo, but I have changed some scaling since then and I switch the LLM, which could lead to more difficulty.
I'm grateful to hear any feedback and will rebalance if any boss seems consistently too difficult.
That said, these suggestions may help:
1) Don't spend too much on research. There are diminishing returns and you need most of the points for stats.
2) You may have a poor stat distribution. Consider what your strategy will be in the fight, what stats you need to execute it, and complementarities between stats like Huanjing and Endurance that reward some allocations much more than others.
3) This game is really built around reacting to your opponent's ability. I let you discover that ability through research or trial and error and allow you to choose a new ability each fight, so a big part of the intended gameplay loop is figuring out how to hard counter your opponent. Every opponent has better stats than you so you need your ability to give you an advantage over them. In every case except the final boss, who adds another layer of challenge, you can shut down their magic or turn it against them with careful ability choice and roleplaying.
I see that there was a downloadable file listed as an executable. Apologies--that was an upload error. There is no executable for this game. To play it from the download you'd need to run a local server from the game directory e.g. "python -m http.server 8000" or similar, then go to http://localhost:8000/index.html
Hmm... I'm not sure how that would happen. When you say you won, did you receive a "You Won!" Message or did you see the enemy health bar go to zero? If it was the health bar (red) that doesn't actually end the fight, it only puts the opponent in a "Downed" state where they are at a disadvantage. You only win when your opponent's stamina goes to 0 and they have no Huanjing left.
If you did receive a "You Won!" Message or fully depleted the opponent stamina but the match still isn't ending, can you check Application->BattleGameDB->data->victoryTimer and Application->BattleGameDB->data->combatState->opponentEndurance in the dev console? These variables manage the end of the fight.
Also, did you reload the game while there was a popup open?
You shouldn't be able to choose Full Release without hitting the trigger. There should be a popup telling you this and it should be impossible to submit text if you select Full Release without meeting the condition.
With respect to the thresholds, it's a bit of a mess right now. I need to figure out a way to manage the different types of conditions without the explanation being extremely verbose, but also without it being ambiguous, as you point out. For turns, if you put in 5 you need to progress 5 turns. For differences it is currently the difference in raw values.
What the threshold does is influence the narrator's decision of whether to nerf your power or not. It is prompted to assess how OP your proposed ability is against some examples of fair powers, and part of the assessment is how restrictive the condition is--more restrictive gives you a higher ceiling for the release ability.
Thanks for all the great feedback, by the way!
I'm not able to reproduce this error, unfortunately. If you're willing to try again and check the dev console I can probably fix it, but as of now I'm not sure what would cause this; perhaps something specific to your local environment.
There is a chance this was caused by errors that could previously occur when buttons were pressed while another function was executing. If so, the problem should be resolved now.




