Create and Fuck your AI Cum Slut -70% OFF
x

VN Ren'Py Monster Musume: Harem Simulator [v0.3.0] [BlackDahliaStudios]

4.70 star(s) 3 Votes

How much character content per update?


  • Total voters
    782

BlackDahliaStudios

Active Member
Game Developer
Nov 18, 2020
543
888
177
got a crash updating mia's room

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script/world.rpy", line 128, in script call
    call miia_bath from _call_miia_bath
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 68, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 252, in script call
    call calli_dialogue from _call_calli_dialogue
  File "game/script/world.rpy", line 450, in script call
    call hayden_dialogue from _call_hayden_dialogue
  File "game/script/events/events.rpy", line 350, in script call
    call buy_menu(hardware_store_items, 'hardware_store', 'buy_hardware') from _call_buy_menu
  File "game/script/world.rpy", line 484, in script call
    call alice_dialogue from _call_alice_dialogue
  File "game/script/events/events.rpy", line 353, in script call
    call buy_menu(pet_shop_items, 'pet_shop', 'buy_pet_supplies') from _call_buy_menu_1
  File "game/script/events/events.rpy", line 353, in script call
    call buy_menu(pet_shop_items, 'pet_shop', 'buy_pet_supplies') from _call_buy_menu_1
  File "game/script/events/events.rpy", line 353, in script call
    call buy_menu(pet_shop_items, 'pet_shop', 'buy_pet_supplies') from _call_buy_menu_1
  File "game/script/events/events.rpy", line 356, in script call
    call buy_menu(eroge_shop_items, 'eroge_shop', 'buy_eroge') from _call_buy_menu_2
  File "game/script/events/events.rpy", line 356, in script call
    call buy_menu(eroge_shop_items, 'eroge_shop', 'buy_eroge') from _call_buy_menu_2
  File "game/script/events/events.rpy", line 356, in script call
    call buy_menu(eroge_shop_items, 'eroge_shop', 'buy_eroge') from _call_buy_menu_2
  File "game/script/world.rpy", line 450, in script call
    call hayden_dialogue from _call_hayden_dialogue
  File "game/script/world.rpy", line 278, in script call
    call jig_dialogue from _call_jig_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 363, in script call
    call office_worker_dialogue from _call_office_worker_dialogue
  File "game/script/world.rpy", line 106, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 386, in script call
    call tio_dialogue from _call_tio_dialogue
  File "game/script/world.rpy", line 450, in script call
    call hayden_dialogue from _call_hayden_dialogue
  File "game/script/world.rpy", line 278, in script call
    call jig_dialogue from _call_jig_dialogue
  File "game/script/world.rpy", line 323, in script call
    call aurora_dialogue from _call_aurora_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 252, in script call
    call calli_dialogue from _call_calli_dialogue
  File "game/script/world.rpy", line 278, in script call
    call jig_dialogue from _call_jig_dialogue
  File "game/script/world.rpy", line 484, in script call
    call alice_dialogue from _call_alice_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 278, in script call
    call jig_dialogue from _call_jig_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 252, in script call
    call calli_dialogue from _call_calli_dialogue
  File "game/script/world.rpy", line 363, in script call
    call office_worker_dialogue from _call_office_worker_dialogue
  File "game/script/world.rpy", line 484, in script call
    call alice_dialogue from _call_alice_dialogue
  File "game/script/world.rpy", line 484, in script call
    call alice_dialogue from _call_alice_dialogue
  File "game/script/events/events.rpy", line 353, in script call
    call buy_menu(pet_shop_items, 'pet_shop', 'buy_pet_supplies') from _call_buy_menu_1
  File "game/script/world.rpy", line 546, in script call
    call aethel_dialogue from _call_aethel_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 252, in script call
    call calli_dialogue from _call_calli_dialogue
  File "game/script/world.rpy", line 450, in script call
    call hayden_dialogue from _call_hayden_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 106, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 363, in script call
    call office_worker_dialogue from _call_office_worker_dialogue
  File "game/script/events/events.rpy", line 350, in script call
    call buy_menu(hardware_store_items, 'hardware_store', 'buy_hardware') from _call_buy_menu
  File "game/script/events/events.rpy", line 350, in script call
    call buy_menu(hardware_store_items, 'hardware_store', 'buy_hardware') from _call_buy_menu
  File "game/script/events/events.rpy", line 350, in script call
    call buy_menu(hardware_store_items, 'hardware_store', 'buy_hardware') from _call_buy_menu
[Previous line repeated 3 more times]
  File "game/script/events/events.rpy", line 347, in script
    $ build_menu()
  File "game/script/events/events.rpy", line 347, in <module>
    $ build_menu()
      ~~~~~~~~~~^^
  File "game/views/views.rpy", line 62, in build_menu
    if credits >= 10 and player_items['nails'] >= 5 and player_items['wooden_boards'] >= 2:
       ^^^^^^^^^^^^^                                                                      
TypeError: '>=' not supported between instances of '_Printer' and 'int'

-- Full Traceback ------------------------------------------------------------

Traceback (most recent call last):
  File "game/script/world.rpy", line 128, in script call
    call miia_bath from _call_miia_bath
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 68, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 252, in script call
    call calli_dialogue from _call_calli_dialogue
  File "game/script/world.rpy", line 450, in script call
    call hayden_dialogue from _call_hayden_dialogue
  File "game/script/events/events.rpy", line 350, in script call
    call buy_menu(hardware_store_items, 'hardware_store', 'buy_hardware') from _call_buy_menu
  File "game/script/world.rpy", line 484, in script call
    call alice_dialogue from _call_alice_dialogue
  File "game/script/events/events.rpy", line 353, in script call
    call buy_menu(pet_shop_items, 'pet_shop', 'buy_pet_supplies') from _call_buy_menu_1
  File "game/script/events/events.rpy", line 353, in script call
    call buy_menu(pet_shop_items, 'pet_shop', 'buy_pet_supplies') from _call_buy_menu_1
  File "game/script/events/events.rpy", line 353, in script call
    call buy_menu(pet_shop_items, 'pet_shop', 'buy_pet_supplies') from _call_buy_menu_1
  File "game/script/events/events.rpy", line 356, in script call
    call buy_menu(eroge_shop_items, 'eroge_shop', 'buy_eroge') from _call_buy_menu_2
  File "game/script/events/events.rpy", line 356, in script call
    call buy_menu(eroge_shop_items, 'eroge_shop', 'buy_eroge') from _call_buy_menu_2
  File "game/script/events/events.rpy", line 356, in script call
    call buy_menu(eroge_shop_items, 'eroge_shop', 'buy_eroge') from _call_buy_menu_2
  File "game/script/world.rpy", line 450, in script call
    call hayden_dialogue from _call_hayden_dialogue
  File "game/script/world.rpy", line 278, in script call
    call jig_dialogue from _call_jig_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 363, in script call
    call office_worker_dialogue from _call_office_worker_dialogue
  File "game/script/world.rpy", line 106, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 386, in script call
    call tio_dialogue from _call_tio_dialogue
  File "game/script/world.rpy", line 450, in script call
    call hayden_dialogue from _call_hayden_dialogue
  File "game/script/world.rpy", line 278, in script call
    call jig_dialogue from _call_jig_dialogue
  File "game/script/world.rpy", line 323, in script call
    call aurora_dialogue from _call_aurora_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 252, in script call
    call calli_dialogue from _call_calli_dialogue
  File "game/script/world.rpy", line 278, in script call
    call jig_dialogue from _call_jig_dialogue
  File "game/script/world.rpy", line 484, in script call
    call alice_dialogue from _call_alice_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 278, in script call
    call jig_dialogue from _call_jig_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 252, in script call
    call calli_dialogue from _call_calli_dialogue
  File "game/script/world.rpy", line 363, in script call
    call office_worker_dialogue from _call_office_worker_dialogue
  File "game/script/world.rpy", line 484, in script call
    call alice_dialogue from _call_alice_dialogue
  File "game/script/world.rpy", line 484, in script call
    call alice_dialogue from _call_alice_dialogue
  File "game/script/events/events.rpy", line 353, in script call
    call buy_menu(pet_shop_items, 'pet_shop', 'buy_pet_supplies') from _call_buy_menu_1
  File "game/script/world.rpy", line 546, in script call
    call aethel_dialogue from _call_aethel_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 252, in script call
    call calli_dialogue from _call_calli_dialogue
  File "game/script/world.rpy", line 450, in script call
    call hayden_dialogue from _call_hayden_dialogue
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 143, in script call
    menu(monster_interaction=True):
  File "game/script/world.rpy", line 106, in script call
    menu(monster_interaction=True):
  File "game/views/views.rpy", line 12, in script call
    $ monster_menu(monster, location_label)
  File "game/script/world.rpy", line 363, in script call
    call office_worker_dialogue from _call_office_worker_dialogue
  File "game/script/events/events.rpy", line 350, in script call
    call buy_menu(hardware_store_items, 'hardware_store', 'buy_hardware') from _call_buy_menu
  File "game/script/events/events.rpy", line 350, in script call
    call buy_menu(hardware_store_items, 'hardware_store', 'buy_hardware') from _call_buy_menu
  File "game/script/events/events.rpy", line 350, in script call
    call buy_menu(hardware_store_items, 'hardware_store', 'buy_hardware') from _call_buy_menu
[Previous line repeated 3 more times]
  File "game/script/events/events.rpy", line 347, in script
    $ build_menu()
  File "renpy/ast.py", line 1187, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "renpy/python.py", line 1260, in py_exec_bytecode
    exec(bytecode, globals, locals)
    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "game/script/events/events.rpy", line 347, in <module>
    $ build_menu()
      ~~~~~~~~~~^^
  File "game/views/views.rpy", line 62, in build_menu
    if credits >= 10 and player_items['nails'] >= 5 and player_items['wooden_boards'] >= 2:
       ^^^^^^^^^^^^^                                                                      
TypeError: '>=' not supported between instances of '_Printer' and 'int'

Ren'Py 8.4.1.25072401
MonMusu_Harem_Sim 0.1.3
Wed Sep  3 01:26:39 2025
Thank you for the bug report!
 

Steve70

Active Member
Sep 13, 2017
527
623
274
I only hope that my personal additions will bolster the original work, rather than degrade it!
There are a couple of things I would like to share with you regarding the creative process. You probably already know these things, but I hope the reminder will help you while you focus on the nuts and bolts of your project. The first is that you will get more value out of fleshing out a few characters than you will creating many "cardboard" characters. Quality over quantity, as they say. The second is that you want to have (at least) a rough idea of your story/plot early in development. An outline or flow-chart will help you stay on course as you navigate the changes, fixes, and additions involved in building your fictional world. "Mission creep" kills a lot of stories/games/films as the threads of the story become convoluted and difficult to track.

I hope that helps, and I wish you success.
 

BlackDahliaStudios

Active Member
Game Developer
Nov 18, 2020
543
888
177
There are a couple of things I would like to share with you regarding the creative process. You probably already know these things, but I hope the reminder will help you while you focus on the nuts and bolts of your project. The first is that you will get more value out of fleshing out a few characters than you will creating many "cardboard" characters. Quality over quantity, as they say. The second is that you want to have (at least) a rough idea of your story/plot early in development. An outline or flow-chart will help you stay on course as you navigate the changes, fixes, and additions involved in building your fictional world. "Mission creep" kills a lot of stories/games/films as the threads of the story become convoluted and difficult to track.

I hope that helps, and I wish you success.
Very true.

For this project, I began with a manuscript and I've been working to adapt it into visual novel format. I've adapted two of the eighteen manuscript chapters so far. (Miia chapters)

The reason I shifted focus to NPCs is because the world felt empty. I didn't do world building in the manuscript because it's mostly character and plot work.

Populating the world will help the game and so will adapting the manuscript. I figured I'd tackle the harder problem first.

Also, I have time for writing at my day job, but I can't work on CGs. So spending that time on NPCs seemed like a no brainer, considering most of the other writing is already done.

Next update will focus on plot, definitely including Papi, and maybe Cerea. I spent the vast majority of v0.1.3 working on technical challenges. I probably spent 50+ hours wracking my brain to figure out why Ren'Py . I actually had to talk to the engine creator to get a proper answer. So, I also got burnt out solving that problem. It will be good for my sanity to avoid any serious programming for a while anyways.

So, it's a matter of time, in my opinion. And also a necessary evil in a way. The amount of world building required is really a big issue with open world/exploration games in general.
 
Last edited:
  • Like
Reactions: Cvaroom

BlackDahliaStudios

Active Member
Game Developer
Nov 18, 2020
543
888
177
The art and story look awesome.
Thanks for sharing.
Thank you!

Though I didn't do any of the drawing, I've had to learn image editing, as the upscalers often get confused when increasing resolution.

And though the story isn't original, I have twisted canon here and there. I'm looking forward to putting more updates out and continuing the story!
 
  • Heart
Reactions: fool793
Jun 22, 2025
207
277
82
Even when I was watching the anime, I realized for myself that Tionishia is the best girl in this title. I like the combination of her physical characteristics, appearance with tenderness and kindness inside.
And when I started reading the manga, I became even more convinced of this. Especially when Tionishia calmly reacted to MC's accidental touch to her chest when he stumbled due to fatigue. Tionishia didn't scream like a typical hysteric, didn't hit him, and didn't insult him, unlike most female characters in anime in similar situations. But she hugged him and offered to rest, comfortably settling on her hips:sneaky::coffee:
d3db48a932640db75df47787d065a47c8bd6c77b8e1de93f292347f7b416c68d.jpg
You don't have permission to view the spoiler content. Log in or register now.
 
Last edited:

BlackDahliaStudios

Active Member
Game Developer
Nov 18, 2020
543
888
177
There are a couple of things I would like to share with you regarding the creative process. You probably already know these things, but I hope the reminder will help you while you focus on the nuts and bolts of your project. The first is that you will get more value out of fleshing out a few characters than you will creating many "cardboard" characters. Quality over quantity, as they say. The second is that you want to have (at least) a rough idea of your story/plot early in development. An outline or flow-chart will help you stay on course as you navigate the changes, fixes, and additions involved in building your fictional world. "Mission creep" kills a lot of stories/games/films as the threads of the story become convoluted and difficult to track.

I hope that helps, and I wish you success.
Okay.

As I've begun writing Manako, I've been thinking more about managing this project well.

So here's a question for players:

With realistic diligence, I can write 20,000 manuscript words per month. That's roughly 2 hours of play time. So how should I split that up between each character's content updates?

Two hours for one character?
One hour for two characters?
Half an hour for four characters?

Note: Poll has also been added to the game thread for those who don't read comments.
 
Last edited:
  • Like
Reactions: KingSkook

wunderwhat

New Member
Mar 17, 2019
14
14
142
Okay.

As I've begun writing Manako, I've been thinking more about managing this project well.

So here's a question for players:

With realistic diligence, I can write 20,000 manuscript words per month. That's roughly 2 hours of play time. So how should I split that up between each character's content updates?

Two hours for one character?
One hour for two characters?
Half an hour for four characters?

Note: Poll has also been added to the game thread for those who don't read comments.
10,000 words should be enough to flesh out the character, especially since most people playing this are already familiar with the IP and the character's personalities. More than that and you get situations like Complex Society, where they just... keep... talking... forever...

You don't have permission to view the spoiler content. Log in or register now.
 

BlackDahliaStudios

Active Member
Game Developer
Nov 18, 2020
543
888
177
10,000 words should be enough to flesh out the character, especially since most people playing this are already familiar with the IP and the character's personalities. More than that and you get situations like Complex Society, where they just... keep... talking... forever...

You don't have permission to view the spoiler content. Log in or register now.
The poll is leaning that way also.

It's 10k words of side dialogue. Canon characters also get dialogue in the scripted chapters. So it will end up being more than 10k in total once I get deeper into implementing the plotline.

I began this project with an incomplete 65k word manuscript, which will be at least 100k upon completion.

So alloting every character an additional 10k will land the project around maybe 300k total?

Seems reasonable. 20k per character would likely become unwieldy in the long run and writing projects over 400k generally die in the womb.
 
Last edited:

BlackDahliaStudios

Active Member
Game Developer
Nov 18, 2020
543
888
177
I'll update this periodically for transparency (and personal motivation).

Writing Status (9/5/25):

Manuscript: 65k/100k (65%)

Character Dialogue:

Miia: 35%
Papi: 8%
Centorea: 0%
Suu : 0%
Mero: 0%
Rachnera: 0%
Lala: 0%

Smith: 0%
Tionishia: 14%
Manako: 33%
Zombina: 0%
Doppel: 0%

Polt: 0%
Kii: 0%

Alice: 12%
Hayden: 17%
Calli: 11%
Aurora: 15%
Miranda: 6%
Hela: 8%
Jig: 6%
Aethel: 7%
Tiff: 6%
Lucatiel: 8%
Queen: 7%

Dialogue Total: 19,300 / 250,000 (7.8%)

Grand Total: 84,000/350,000 (24%)

*(% out of 10,000 words written)
 
Last edited:

BlackDahliaStudios

Active Member
Game Developer
Nov 18, 2020
543
888
177
I may need to re-evaluate some characters as the projects continues... (More words for some and fewer for others.)

Still, with that scope, it's a roughly a year (and some change) of consistent writing at a decent clip.

I'm going to write canon characters exclusively for the next few updates.
 
Last edited:

BlackDahliaStudios

Active Member
Game Developer
Nov 18, 2020
543
888
177
Tentative Update Roadmap:
  1. Miia & Tionishia
  2. Papi & Manako
  3. Centorea & Zombina
  4. Suu & Doppel (How does one write Suu dialogue....?)
  5. Rachnera & Smith
  6. Lala & Polt
  7. Kii & Cathyl???
  8. Side Characters
Canon characters only for at least 6 months.
 
4.70 star(s) 3 Votes