Skip to main content

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

You must be 18+ to view this content

Formamorph 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

Formamorph

Every choice transforms your body and shapes your adventure · By FieryLion, Jake James

General Discussion Sticky

A topic by FieryLion created Feb 12, 2025 Views: 37,166 Replies: 287
Viewing posts 41 to 60 of 112 · Next page · Previous page · First page · Last page

The last update was 19 days ago. Don't get me wrong, I just want to know if there will be another update in the near future and if entities will be fixed. Sorry if it sounds rude, English is not my language.

While I would also like an update with hopefully some added functionality, the entities can't exactly be "fixed" with an update. The AI that you end up using as well as the entity descriptions are responsible for how the entities behave. If you wish the entities to behave differently, you must enter the world settings and edit the prompts so that it matches what you want. You can also add your own entities!

If the prompts are good, but the AI is not responding well or is just not behaving as it should, you can try using a different AI. There is a big difference in the result based on what AI model you end up using. You will have to try out a few of them to see which suits you best.

(1 edit) (+2)

Regarding entities, I mean to do it at least like before, when they could be automatically created based on the situation. I know that entities can be created, I basically play in my created world. I just liked that before Named characters could be remembered automatically, it was convenient. as well as sometimes different situations were remembered - for example, that my hands were tied, that I was blind, etc. But you are right about one thing for sure, you need to try to dig into the prompts and try to experiment.

But as for AI, my hands seem to be tied, on openrouter AI all free models are limited in the number of requests, and locally I installed LM Studio (By the way, many thanks for the guide, everything was there in great detail, I practically didn’t have to do anything), but as it turned out, my PC is quite weak for good models with a large context length and they basically refuse to work. And I couldn’t figure out how to use the models remotely, except with the help of opensource AI.

Again, I apologize if my style of speech is rude, I just don't know how to speak politely in English.

No worries, your English is good! And yeah, now that you mention it like that, the ability of the AI to create custom entities based on the situation was pretty neat.

Right now, how I feel like it works, is that the AI doesn't actually manage the entity list itself. Rather, the game checks if the response contains the name of the entity in the response and then it adds that entity to the list. An update that adds something like a 4th prompt to bring back the old functionality would be really nice.

I guess, right now the only way you can work with it is to just tell the AI to "name" entities, to give them unique traits or to just make some up if the situation allows it. They probably won't show in the entity list, but it can probably be built into the narrative story at least.

Deleted 1 year ago
(1 edit)

I mean, it the usual context and AI issue, if you can cope with self-hosting or paying more for higher context or instruct LLMs, they're (almost)always better. The problem with always reinforcing prompts back into the LLM is that it costs more tokens... and can result in bad RP traps thet'll get stuck in.

Yeah, the AI can be a bit insistent on stuff, but I fully agree that a "notes" section that the AI can read would help massively!

(2 edits)

I have had someone’s baby start talking, people turn into dogs, dogs turn into people, people’s dogs start talking…


Yeah, the AI has a very short attention span and sometimes seems to forget certain details of a character (or even bodily changes / transformations the player has experienced!) within the space of a few lines of the same interaction.


Here’s a short story from one of the times I ran the starter worlds, and I’ll describe some of the times I ran into that at the end.


One NPC that the AI randomly generated in a run of the Assault Drone world, was established by them as a golden-scaled female dragon, referred to as a “Drake of the Moonlight” or simply “Moonlight Drake” for short.


The AI initially presented her as essentially a mindless, generic JRPG boss, complete with visible power level and boss subtitles, but actually allowed for a pretty cute moment when it reacted to my request for a nonviolent interaction and had the PC drone end up befriending the Moonlight Drake, who revealed she could speak by introducing herself as Lyria, explaining  she was actually an ancient celestial being and one of the last of her kind, possessing extensive knowledge of the world’s ancient history due to living through all of it.


- Lyria gave some exposition (baked into the prompt for the Assault Drone world) about the ancient lost civilization responsible for creating the setting’s magitech in exchange for the drone giving its own backstory (which it does nonverbally by scratching sentences into the dirt), explaining how it arrived from a far-future sci-fi world, and I have the drone take the name Draco after the constellation

- Lyria allowed the drone to scan her body in order to collect information on her species.


- Lyria then taught the drone some magic lessons, starting with how to harness Mana in order to buff their stats, and then moving on to more powerful applications of Mana


- Lyria asks the drone to try using Mana themselves, to which I have the drone cheekily respond by using it to transform into a biomechanical, intersex replica of Lyria herself based on the earlier scan data, surprising and amusing her.


- She gives some more magic lessons and asks if there’s anything more about magic or the world that the drone would like to know…


- …and I have Draco respond by flirting with Lyria, showing off their body and explaining that they’d like to get to know *her* more intimately as a way of displaying gratitude for helping them get their footing in this new world and letting them use her as a jumping point for their new form


- Lyria’s surprised, but eventually agrees, and invites Draco to her cave behind a waterfall for a very tender love scene


Long story short, drone opts to lay the dragon instead of slaying the dragon, becoming her mate and siring a new generation of biomechanical hybrid Moonlight Drakes.


However, getting back to the initial point here, there were moments where the AI seemed to lose track of details shortly after they or I established them, such as the AI assigning a different name to Draco, the AI occasionally randomly starting to describe Lyria as a human or a snake until I rolled back and reworded the prompt to remind them that Lyria was still a dragon…


…or, more absurdly, the AI constantly reverting the way they describe Draco from their new robotic dragon form back to their initial, little tank-treaded drone body, often in more…steamy moments, leading to a rather hilariously awkward mental picture regarding the little robot car somehow seducing and making love to the much larger dragon until the prompt was rolled back and I elaborated again.


At one point I think the AI got so frustrated at the constant derailment that they tried to have Draco assassinated mid-love-scene, as in one of their responses to my prompts, Draco’s nailed in the neck by a poisoned tranq dart right before they can embrace Lyria! Needless to say I rolled back the prompt while reprimanding the AI and they then behaved themself…at least for a little longer.

(1 edit)

Lol.

Tbh, the base Formamorph AI model can actually go beyond 2000 default Max Memory under Endpoint settings(found while in a world (changes maybe sometime soon)). For starters, try increasing the Max Memory to 4096 and see how the AI behaves. 

Link to official guide: Quick Setup Guide: (Free!) OpenRouter Setup
If it still is as erratic with the details, try setting up an (free) OpenRouter account and starting with nice AI like Meta's Llama, under the free filters. There's already documentation/methodology/a guide on how to connect your own API, but just paste your (newly created) API key into the Endpoint API Token space in settings and set your Endpoint URL to 'https://openrouter.ai/api/v1/chat/completions', and copy the name of the AI into the Model Name spot. So 'meta-llama/llama-3.3-70b-instruct:free', or whichever else work. OpenRouter does work on mobile devices (Formamorph's UI is atrocious on phone but very usable on tablet/ipad.).

With this, you area able to experiment and peruse the free models (there are... better ones with much higher context (>8K context tokens) and/or personality), but LLama is a fun baseline.

AFAIK, the default Formamorph AI is locally hosted, and therefore probably has server-side nsfw prompting built in(not 100% certain), so that's what seems to be prompting all the erratic nsfw content. When you use OpenRouter, you can freely adjust the System Prompts under Settings yourself (you can also do this whenever you want, for slightly adjusted results), so just don't mention anything about nsfw and it will be censored, Llama is rather censored by default.

I don't like to use names or anything at all with AI, as immersion is much smoother with a generic name or 'you', but to each their own. 
Cheers!

In that same playthrough, which I continued from a save, the AI decided my high-strung, silly little robot dragon character got so flustered and aroused by their mate’s teasing double-entendres that their brain overheated mid-dialogue. My character’s AI-generated response to the teasing was just “A-are you taking me f-f-frfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfr-”, and so on, until the repeated syllable filled the whole prompt cap. I had my character’s mate give them a gentle bop on the head to snap them out of the malfunction, which actually made for a cute moment when my character spat out “for a joyride?” when they came to, managing to finish their own innuendo.


I can try to get a screen cap of that interaction since I have that instance saved.


but yeah the AI stuff seems relatively complicated to me, might have to try to figure it out.

In case you wanted to see how the AI decides things should look when a robotic character's brain shuts down from being flustered too far by their partner's teasing, here's a gallery of some screenshots from the incident.

Are there any plans to further update Formamorph or do you consider this project enough of a success to derive a whole new model from it rather than keep updating?

The way the game works, the AI in charge of narrating the Combat Drone world is very determined to keep it a family-friendly isekai, shooting the player down if they try to type something NSFW, but it is very easy to go off the rails. One can derail the AI's plans by entering a prompt from completely out of left field, like declaring that the drone turns into a robot dog in the combat drone world or casting magic in the slime outbreak world, causing the AI to pretty much give up on writing a cohesive narrative.

Pulling this in the combat drone world will make the AI give up on keeping the world E-rated and allow the player to enter NSFW prompts.

And, well, the AI in this game is pretty advanced, and, when not trying to operate against the player's wishes, can end up indulging...some pretty niche concepts, if you catch my drift. 

There's really not much of a filter on this thing when it decides to follow through with the player's commands, for better or for worse.

For example, the AI, when it does decide to indulge in NSFW, doesn't really seem to care about the age of a character, or even if the character is a sentient humanoid or not...

It's a classic AI problem, use a better model, either simply a corporate one, or a finetuned uncensored one. Anything above 12B parameters will run run into this problem less (not impossible, but less likely(just based on my limited testing on various models up to Mistral Small 24B)), but the prompting matters much much more. Not Formamorph's problem, Mistral Nemo is just rather unhinged but good for rp. The default included worlds are... as basic and simple as they get, with no limitations.

Considering that two of FieryLion’s games focus on Teratophilia / human-on-monster sex (The Horny Naturalist, and the prototype game called Mother of Monsters), and the fact that one of Formamorph’s starter worlds is based on FieryLion’s Slime Outbreak game, the monster / animal nsfw doesn’t seem too out-of-place, but the AI model does indeed seem to believe age is just a number.


Do you have links to different AI models, and how to upload them to the game?


Clearly it’s not going to help me on mobile browser but could help on the PC port

See my other reply but you can setup an OpenRouter acc or fine-tune the Endpoint and System Prompts under settings (do turn off Single Paragraph Event if you want to see actual changes lol), there's a bunch of better posts covering AI, posted by much more AI knowledgeable people.

What is the terminology for when you type in your choice and the AI creates a new page? Right now, I'm trying to use the actions you take as the duration for pregnancy, but the AI doesn't seem to register that.

I occasionally use either 'turn', 'step', or 'moves', but if consistent enough you can use 'minute', 'hour', or even 'seconds', so long as all prompts have a specific time included and context is short enough. You might also need to include a time for how long everything takes when you address the AI, ie: "For the next X minutes" or "In Y hours" or "After Z turns". ❤️

(+1)

Thank you!

(1 edit)

So I've been playing around and found a way to help the AI keep track of things.

Head outside and go for a walk -Entities currently present: none, Time of day: afternoon, Current location: apartment (living room), Player's current action: sitting on couch-

On the action bar I simply type what I want my character to do followed by this list, this has majorly improved the AI story telling for me. You can add to the list what ever you need, even each and every piece of clothing your character is wearing. 

Hope this helps.

Does anyone have any tips on how to get other models or have a list of models that play nicely with the stats?

I've been trying to get ll-3.2 8.4b-moe-v20dark-champion-instruck-uncesenored-abliterated-21b to apply the values correctly, but it's doing some weird math in the background and applying it your stats.

image.png
(+1)

Could you add an option to change the font size? it's a bit too small.

I don't know if this is the right spot to put this, but I think a nice feature to have at some point is the ability to limit how many traits a player can select in the world editor.

That way the player can have a playthrough of the world more in line with the author's vision, before messing around in the editor if they want to be able to select all the traits.

(+1)

as a player,i don't agree with that, but as a modder i see your point a bit, i like half of your idea, a nice feature like  "opposites trait" when you can't chose same trait as example if you chose "Dekamelon" you can't chose "PettanMikan".

I'm mean it sounds like you're completely onboard with the idea, whether it be mutual exclusivity for traits or a hard number of picking 3 out of 8 traits. I just want there to be the option if author has a specific vision for a 'vanilla' playthrough of their world. Meanwhile the player can enter the editor and disable the trait limits if they want to do so.

I don't see what's wrong with asking for that. I'm not asking to password protect or lock the editor, so that the players are stuck with the trait limits. It's more of a person waving a sign saying, "Please only pick two." Or "Please don't pick Futanari and Femboy at the same time."

that is, reasonable

What the heck do I put in to get rid of this message? Putting <NOTES> into the system prompt does not clear this message.

"Warning: The current system prompt does not include the <NOTES> placeholder!"

Developer

Go into settings and reset the AI prompts

(2 edits)

Hi, I'm trying to run Mistral-Nemo-Instruct-2407-GGUF locally from my computer (thru LM Studio). I have everything set up and it's working, but for some reason all of the responses are short (80-100 characters). When I try to run the same instances/scenarios from the online version of the game, I was starting to get much longer scenarios (300-500 characters)...but I don't want to bog down your server. Are there any tips or tricks you know of that I can use to get longer responses? Also, it appears to cut off the responses in the game window, however the "choices" are almost always properly formatted.

I have also verified that I have plenty of memory (to the best of my knowledge). I'm running 10000 max memory and 4000 max output tokens in the Endpoint menu and I have my Context Length set to 4096 in the LM model. It appears to be running the default Jinja template for the Prompt Template...I'm not knowledgeable enough to know if that is related to the problem or not. I do have a somewhat beefy pc, so I'm not too worried about bumping up settings if that is necessary.

From my limited understanding the game's output shouldn't be more than the tokens dedicated. The game is technically a really long conversation meaning the longer the game is played the more tokens it will use up. Once that limit is reached details will start disappearing as old events will be overwritten with new. Meaning the context Tokens set in LM Studio are used for both the game's memory and outputs. Remember to uncheck the 1 paragraph response restraint in the settings.

Hopefully someone more knowledgeable on the subject will answer.

It could very well be the "One Paragraph" option inside of the game! If that is enabled, then the AI will be forced to deliver much shorter answers.

However, if the option is disabled and you are still getting unusually short responses, you can try changing the instructions to make the AI add a lot of detail. Here is what I have once built:

---
You are an AI for a game narrative. Given the current game world information, within two paragraphs in plaintext and separated from each other using new lines, explain the world or any currently happening event in detail to the player. The key point here is that it should feel less like a game and more like something that is actually happening. Because of this, make no mentions of this being a game or any rules that are set in place.
---

(+1)

Oh my gosh. This has been killing me for days...I think I'm illiterate. I completely missed this option in the settings and have been pouring through information on AI models, LM Studio, and all of the LM Studio settings (though luckily learning quite a bit still). Thank you both so much!

I found the setting and unchecked it. All of a sudden, I am getting much more info and it no longer looks like it is cut off (was not getting a "." or completed sentence for the last sentence each time before unchecking).  Thanks!!!

Just noticed that “dictionary” section was added to the world editor. Can anyone tell me what’s difference between system prompts for game rules and dictionary entries?

The system prompt can be used to describe to the AI what the world rules are. For example, it is always cold.

The dictionary, as far as I can tell, is a way to explain some words to the AI that it normally wouldn't be familiar with. For example, if you want to create your own race for a character with a custom name, you can set the name as the "key" and then explain what the race looks like and what they do inside of the "value".

Developer

to expand on Mali’s explaination, the dictionary is for saving memory. The AI has severe amnesia and can only remember like an essay’s worth of information before it starts to forget things. So if you write detailed information about everything in your world in entities and location descriptions, there won’t be any memory space left for the game to actually run (so the AI wont remember any events and such, may not even work at all). The dictionary is there so you can store very long definitions of specific things in your world that only gets sent to the AI if the keywords are mentioned somewhere in the AI text or your action text.

Does this mean any in-universe realities that work differently from our real world or at least always got misinterpreted by AI has to be redefined as a  dictionary entries?

Developer

no, again, dictionaries are just a way to use memory more efficiently. Don’t even worry about if if your world can fit into memory

I found something interesting about AI answer the line, often they repeating the word.

You and Hana set to work transforming the crematorium room into a makeshift apartment. You pull out an old mattress from storage, along with some blankets and pillows. You spread them out on the floor, making a makeshift bed. You grab an old lamp from the corner, plugging it in and setting it on the floor next to the bed. You turn it on, casting a soft glow over the room. Hana watches you, her eyes wide with fear, but she helps you set up. You grab an old box and fill it with empty food cans and wrappers, setting it in the corner. You take an old plate and set it on the floor, filling it with crumbs from your pocket. You take an old glass and set it on the floor, filling it with water. You take an old book from the shelf and set it on the floor, opening it to a random page. You take an old picture frame from the shelf and set it on the floor, turning it upside down. You take an old clock from the wall and set it on the floor, stopping it at a random time. You take an old calendar from the wall and set it on the floor, turning it to a random month. You take an old mirror from the wall and set it on the floor, turning it to face the wall. You take an old vase from the shelf and set it on the floor, filling it with wilted flowers. You take an old candle from the shelf and set it on the floor, lighting it. You take an old rug from the floor and set it on the floor, folding it in half. You take an old chair from the corner and set it in the middle of the room. You take an old table from the corner and set it next to the chair. You take an old lamp from the shelf and set it on the table. You take an old clock from the wall and set it on the table. You take an old radio from the shelf and set it on the table. You take an old television from the corner and set it on the floor. You take an old computer from the shelf and set it on the table. You take an old printer from the shelf and set it on the table. You take an old telephone from the corner and set it on the table. You take an old fan from the shelf and set it on the floor. You take an old heater from the corner and set it on the floor. You take an old air conditioner from the shelf and set it on the floor. You take an old humidifier from the shelf and set it on the floor. You take an old dehumidifier from the shelf and set it on the floor. You take an old microwave from the shelf and set it on the floor. You take an old toaster from the shelf and set it on the floor. You take an old blender from the shelf and set it on the floor. You take an old coffee maker from the shelf and set it on the floor. You take an old kettle from the shelf and set it on the floor. You take an old refrigerator from the and set it on the floor. You take an old freezer from the shelf and set it on the floor. You take an old dishwasher from the shelf and set it on the floor. You take an old washer from the shelf and set it on the floor. You take an old dryer from the shelf and set it on the floor. You take an old iron from the shelf and set it on the floor. You take an old vacuum cleaner from the corner and set it on the floor. You take an old broom from the corner and set it on the floor. You take an old mop from the corner and set it on the floor. You take an old bucket from the corner and set it on the floor. You take an old cleaning supply from the shelf and set it on the floor. You take an old lamp from the shelf and set it on the floor. You take an old clock from the wall and set it on the floor. You take an old radio from the shelf and set it on the floor. You take an old television from the corner and set it on the floor. You take an old computer from the shelf and set it on the table. You take an old printer from the shelf and set it on the table. You take an old telephone from the corner and set it on the table. You take an old fan from the shelf and set it on the floor. You take an
Developer

this is a common issue with small models unfortunately. You can use bigger smarter models to avoid this.

Fascinating, I see. that is what make us different from the AI.

Quick and probably stupid question: would the AI understand if I referenced a creature in DnD or an anime ? Like for example, i make a Drider entity and the description is "Monfu resembling Driders from DnD" or something like that. Would that work or am I just being dumb again?

Developer

you can ask the AI directly first I guess, its a hit or miss for small models to know these things. Best to add their descriptions as entities or in the dictionary.

Yeah, I had an entire description ... kinda trying to reduce the length of some of them to spare the memory... 😅

Results: The AI freaked out and meshed every entity together when i asked for the drider's description. 🤦‍♂️

Does anyone know of any good online AI for this game that are free please?

Developer

https://fierylion.itch.io/formamorph/devlog/885513/quick-setup-guide-free-openrouter-setup

Thank you very much

"This model's maximum context length is 4096 tokens. However, you requested 4258 tokens (3234 in the messages, 1024 in the completion). Please reduce the length of the messages or completion."

How do i raise the max amount of tokens?

Developer (1 edit)

you have to use an AI model with more memory here’s a guide: https://fierylion.itch.io/formamorph/devlog/885513/quick-setup-guide-free-openrouter-setup

For a QUICK fix you can(and should) reduce the Max Output Tokens in the game settings to 256, this makes the game write shorter paragraph, but also give a lot more memory back.

do you recommend any AI's? i tried using LM studio for AI but it ate up way too much memory and gpu and the AI [qwen2.5-7b-instruct-uncensored] was practically a snail, should i use the AI that's in the guide or is there another you might recommend?

Developer

can you not create an OpenRouter account? its free, mistral nemo free model has 128K memory

my message tokens have reached above the maximum context length [4511], i shortened some stuff in my world, i used different AI models, i lowered token output to 256, i put a LOT of stuff into the dictionary, i don't know what to do now but i feel like my notes have something to do with it? i tried the same world without any notes and it seemed to work fine but was constantly getting close to max usage even went a little bit over a few times, but my notes aren't that big only 282 characters and 53 words, there's gotta be something wrong i'm doing

Developer

of course notes count towards the memory limit too. It seems like your world is quite a lot. Why not use a free model from OpenRouter? mistral nemo free has 128K memory!

https://fierylion.itch.io/formamorph/devlog/885513/quick-setup-guide-free-openrouter-setup

(1 edit)

i tried the AI you recommended and when i started the game it was immediately went over half the memory usage, then on the second in game hour it went 12% negative and had an immediate story restart, BUT after the 2nd in game hour the memory started to stabilize but edging near 0%, but this was still so much better than immediately going 20% negative constantly, this was a great help! thank you so much! i'll try and shorten my world rules and entity/location descriptions as much as i can
something i did notice about this AI model is that it likes to write very short and unhelpful responses that just tell me to select choices

Developer

you have to set the memory limit in the game settings! The game doesn’t know how much memory the model has. Set the memory to 121000

(3 edits)

when i set the memory to 121000 suddenly the AI just stopped writing anything, no text no options, i set it back to 3900 and it's still not working, i used the AI in the guide and that also didn't work either, the default AI works, it's just that every other AI doesn't, i followed the guide exactly, using an API token, changing endpoint URL, and copying the model name

(1 edit)

OMG, i found the issue to my memory problem, so i was getting rid of a bunch of game rules, cause i tried another world that was bigger than mine but has less game rules and it ran fine, so i made a dupe world and got rid of some game rules and it went pretty well, i got rid of those game rules on the main world but it still had mega memory issues, i then duplicated the main world without changing anything and the duplicate world used almost no memory which was strange but pretty awesome, if anybody has a world they heavily and their memory usage on that world is really large try duplicating the world

edit: i did not fix the memory issue, it went back to being a few hundred over the limit, i shortened it but not enough :(

Viewing posts 41 to 60 of 112 · Next page · Previous page · First page · Last page