Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

You must be 18+ to view this content

Venus University may contain content you must be 18+ to view.

The creator of this page has specified that it contains mature themes and content. Please enter your birthdate to verify you are 18 or older:

or Return to itch.io

Venus University

A dating sim where you can say and do anything! Create characters and woo them while balancing university life. · By Venus Dev

v0.2.0 - Known Bugs, feedback, suggestions Locked

A topic by Venus Dev created 11 days ago Views: 1,314 Replies: 82
This topic was locked by Venus Dev 4 days ago
Viewing posts 21 to 27 of 27 · Previous page · First page
(1 edit) (+2)

Fantastic update! And also an exceptional discovery to making open source LLMs work for game creation (Tested on a 12B model)

First of what I found (Worth testing and letting me know how you get on):


TL;DR (Use Llama.CPP (I used ROCM but the normal version should be okay))

My build: D:\ROCM\llama.cpp>.\build\bin\llama-server.exe -m "D:\ai\G125.gguf" -ngl 99 -c 256000 -b 512 -ub 512 -fa on -mg 0 --port 5001 -np 1 --jinja --reasoning off --temp 0.1


Ones to have: -c 256000 -fa on -mg 0 --jinja -np 1 --reasoning off --temp 0.1


Using Gemma 12B Q5 Heretic (Not certain if this is the one I used, but I do have the GGUF file if it's okay to upload a google drive here, but I'm pretty sure I used this: (https://huggingface.co/JMingo/gemma-4-12B-it-heretic-UD-GGUF) 


Game settings: Max output tokens - 256000, reasoning effort - medium


Then create new game, wait up to a few minutes, could be up to 20K tokens in the terminal. After completion, use your original model (Recommended). If infinite loading, restart the game, model, backup & restore and try again.


Unsure on the quality yet. Theoretically doable on most models so long as you set the temperature extremely low - base level of 0.1


My theory is because the temperature is 0.1, it's being told to be AS predictable as possible, so that attention fade can't necessarily affect it during creation.

-----


I've been playing whack-a-mole with open source ai-models in hopes of finding one that will work to create a new game without reliance on external API, I have 24GBs of VRAM (RX 7900 XTX) and have repeatedly failed to create a new game with the only exception being the Gemini API.


I've tested: Qwen 3.6, 3.8, Gemma 4 31B, 26B A3B MoE, E4B, Cydonia 24B (& Magidonia 24B) Orion 26B A4B, Waifu Gemma A4B 26B , Deepseek R1 32B, Gemma 14b & 12b


Alongside many different quants to see if any differences would be made


However with all quants and models, classes fail to be created, the main idea behind it is that the logic on these smaller models are too inadequate.

It was further off-putting to see someone comment that GLM 5.1/5.2 didn't work (753B parameter model!)


However after some research, I found llama.cpp supports custom configuration inputs, so I had a play.


Long story short - I tried a stupid idea I had made it actually work on Gemma 12B Q5 model!


I thought it was a fluke, but it did it again successfully 4x, taking about 30-60 seconds each time and seems to be very detailed.


I ran into a weird problem where despite generating successfully, it'd infinitely generate whilst the quick start & gemini created ones would work just fine, but nothing seemed off in the logs.

Whilst testing to find a solution, it seems to have sorted itself when I changed model, restarted the game, backed up & restored. You might not receive this problem.


However I'd advise only using this method to create the new game, and then switch back to whatever you were using previously.


Setup:


D:\ROCM\llama.cpp>.\build\bin\llama-server.exe -m "D:\ai\G125.gguf" -ngl 99 -c 256000 -b 512 -ub 512 -fa on -mg 0 --port 5001 -np 1 --jinja --reasoning off --temp 0.1


-c 256000 -fa on -mg 0 -np 1 -jinja --reasoning off --temp 0.1


Game settings: Max output tokens - 256000, reasoning effort - medium


About the update and some small feedback:


Re-gen on text messages would be nice to see, but creating a save file and then loading from there works, or them being able to add a react emoji when you say bye would be a nice addition


Being able to give gifts when manually overriding the current conversation rather than waiting for a trigger


A symbol/indicator to let you know the scene is ending soon


Apart from that absolute brilliant, and hopefully that discovery helps someone out!

Developer(+1)

Thank you for the extensive testing es4rtg! A patch is coming in the next update that will attempt to fix class code collisions on the app side so that local models have an easier time with generating a valid schedule. You'll also be able to set generation settings like temperature and top_p so stay tuned.

I also can't believe I didn't add gifting as an option for interruptions. Definitely going into the next update

(+1)

Hello es4stg and Venus Dev. Just wanted to point out that if you do an interruption and then load the scene autosave, the game registers that interruption as one of the default actions boxes and allows for a gift to be made. Hope that helps and makes sense.

(+1)

Hi Dev,

I am not sure if this are intended feature or bugs but here is my finding:

1) The nsfw cg not showing in public location. The scene just show dialog box(narrations and dialogue). even the sprites disappeared.

2) the milestones incorrectly stated. Mc just got a blow from one of the npc but it said they have slept together and got the first kiss.

Tested with gemini 3.8 flash

Developer

Hi naudh1r!
1) The log would be most helpful in diagnosing this. Please note that NSFW CG won't show if there's more than 1 girl currently on screen. If that's not the case, check the log to see whether the LLM output the "cg" action on the line in that scene or maybe "hide"d the girl's prematurely. 
2) This is intended behavior. "Sleeping" just means any sexual act, and kiss automatically triggers when the sleeping together milestone is hit. I didn't want to add an extra conditional relationship modifier for sleeping together, but haven't kissed yet

Hi, I checked the logs and you're right: the model hid April's sprite right before the CG, in the same actions list, so the NSFW CG was never shown: "actions": ["hide:april_valentine", "cg:fellatio"]

FYI I was using Gemini through OpenRouter, not the API directly. I don't think the route matters here though, since the reply fits the schema either way. It looks like the model misread "hide: everybody else first" and hid the girl herself.

BTW, Thanks for looking into it so quickly, and thanks for making the game. I've been having a lot of fun with it. Cant wait for upcoming feature update. Do you have any roadmap to share?

Developer

Updates to the CG prompt for the LLM is coming in the next update, the current iteration has some problems like you saw. In general, I'm mostly adding QoL features and bugfixes first, but a feature in the next update will be a Photos tab that allows you to generate images of the characters you know

That sounds awesome! Funny timing, since I've been experimenting with something similar on my own build: characters sometimes send a photo in DMs or post one to the feed, rendered on the same ComfyUI setup as the CGs, with what they'll send depending on the relationship and their traits. So I'm really curious how your Photos tab will work. Will the player pick what to generate, or do the characters decide? Happy to share what I learned if it's useful, but no pressure. I'll wait for your version either way.

Developer

It's a player-generated feature, yeah. I am curious about your implementation, the main reason why I don't do image gens as part of gameplay is to avoid waiting on the generation. Were you able to solve this problem somehow?

(1 edit)

Yes, mostly by never making the player wait on it. It's also an optional toggle in Settings ("No photos on Bunnyboard"), so anyone who doesn't want image gen during gameplay just turns it off, and the characters aren't even offered the option to send one.

With it on:

  1. Feed posts: rendered in the background while the player is busy with the slot. A post with a picture is held back until its picture exists, and the renders start once you commit to a scene, so they run while you play it and the posts are on the feed by the time you check it. They render one at a time, so the GPU is never asked for two at once.
  2. DMs: her text arrives immediately, and the photo follows as a separate bubble with a loading placeholder that fills in when ComfyUI finishes. On my PC that's around 30 seconds, which doesn't feel too bad in a chat, but I can't verify how long it takes on other machines. Since nothing waits on it, a slower GPU should only mean the photo arrives later, not that the game stalls.
  3. Failures: if ComfyUI errors or doesn't answer within 3 minutes, the post or bubble shows "Image failed to generate" with a reroll button instead of hanging. A picture that finishes after that still fills itself in. The text was already written, so a reroll only redraws the picture, with no extra LLM call.

So for the feed there's no waiting at all, and in DMs the only wait is for the picture itself, never for the game. Sprites and CGs are still generated up front in Character Manage, so during play the photos have ComfyUI to themselves.

If you'd like to see how it's done, would you be okay with me posting a link to my repo here? It's a fork of your mirror with the feature added, and I'm happy to keep it out of the comments if you'd rather not have it public.

Developer

Your ideas are ones that I considered too. Waiting 30 seconds in a text conversation is sort of unacceptable for me in terms of gameplay smoothness, but the loading idea is great actually: you can still continue the convo/enter a scene while it's loading I'm assuming? That's actually how the photos feature is implemented right now, so all I need is to instruct the text prompt to add an extra field for an image prompt when it feels like it. Thanks for the idea!

Oh, the current photos feature uses frontier image model for generation, since local image models aren't good enough for prompt adherence.  So that means a larger concern for me is cost. I feel like allowing images to be generated during text/feed might cause prices to skyrocket very quickly. I suppose a setting helps with that but it feels like something that it would be expensive for me to even test lol

You're welcome to post the repo. I might take a look, but usually the details of the implementation are what is interesting to me, not the actual code, so what you've provided is already more than sufficient. Thanks for sharing

(+1)

Yes, exactly. The photo shows as a loading bubble and you can keep texting, close the phone, or go into a scene while it draws. The reply box stays usable the whole time, and the picture just fills in when it's ready.

Makes sense about cost. My version is built entirely around local generation on the player's own ComfyUI, so cost never came up for me, and how to handle it with a frontier model is your call.

On local models and prompt adherence, I hit the same problem, so I tried not sending the local model prose. The LLM writes a short caption of the photo, like "lying on her bed in her swimsuit, looking at the camera." Then code turns that caption into Danbooru tags, which the checkpoint understands much better than sentences:

  1. Outfit: if the caption mentions her swimsuit or gym kit, it uses her own outfit tags for it.
  2. Coverage: it works out what's still covering her and what the camera can see. For example, a photo from behind never mentions her chest.
  3. Pose: it picks pose and hand tags from the caption's wording, like lying down, sitting, or holding something.

For consistency I also added optional body fields per character (build, chest, hips, backside), each picked from a short list of tags the checkpoint knows and checked against each other, so her body stays the same across sprites, CGs and photos.

It's still far from perfect and needs more tuning. Outfits only roughly match her sprite, and odd captions can drift. But since the game already renders CGs locally with ComfyUI from the same kind of tags, I figured why not reuse that for photos too. It's the same pipeline and the same checkpoint, just pointed at something new, and it costs nothing extra for players who already have it set up.

One more design note: what she's willing to send is decided from the save before the model is asked (nothing if she's annoyed or hostile, flirty after a kiss, more only with a reason like a crush or having slept together), and her caption is checked so the model can't go past that. That keeps it in character.

Here's the repo if you want to look: https://github.com/naudh1r/venus-university/tree/photo-feature

It's your mirror with only the photo feature added, and each commit message explains the reasoning behind that change. 

Thanks for taking the time, and good luck with the update!

Developer

This is awesome! Thanks for sharing

(+2)

Hi!
Will we eventually get CG generation for the rooms and others through Comfy UI also so all image generation can be done locally, and API can be only text?

Developer(+1)

Hi Megumint, tomorrow's update will add custom image endpoint compatability, which I believe won't work with ComfyUI, but I haven't tested. You can already use ComfyUI to generate room BGs and upload them manually to a character's folder, but tomorrow's update will also add the ability to manually upload inside of the UI. It's not true integration, but I hope that suffices for people who want to use their workflows to generate the BGs.

(+2)

I love the game so much.  Great Job!
I'm at the goodbyes. It's rough.

Developer locked this topic
Developer unlocked this topic
Developer locked this topic
Viewing posts 21 to 27 of 27 · Previous page · First page