Hi Wattson. Great work with this mod. We have an issue, though. We are creating a game where your mind uses the center text style and your character uses regular styles. The problem is when we apply your functions it always goes to the menu style font of renpy which is different from all the other character styles. It appears white and with the default font.
We've tried to fix it with chatgpt but it constantly said it should show the correct fonts, but it doesn't.
Any hints on what can be happening here? Thanks in advance!
Update: I found a message for another user with a similar problem and managed to set the style everytime.
But we use the outline in the center text, so it's not working properly for those cases. Your {outlines} doesn't work, as it returns a missing outlines parameter. And you mention something about the jitter of renpy, but I'm really lost about that. Can you advise on what do you exactly mean?
Oop Hey there Wattson! Turns out that was user syntax error on my part--I used this as part of a custom text tag (I can't quite wrap my head around omegatags just yet) and opened the "i" renpy.TEXT_TAG with a curly bracket instead of an open parenthesis.
I did want to follow up--i'm having trouble getting the custom tags to combine the kinetic tags with custom fonts. Is there something I can do about that?
Hi, I was going to use the animated gradient effect, but when I used it for the namebox, the text gets smaller, is there anyway I can fix it?
(The code works, it's just that I can't adjust the size, is there a solution?)
define j = Character("{gradient2=2-#95B8C5-#c4f0e8-300-#c4f0e8-#95B8C5-100-#95B8C5-#c4f0e8-300}J O S E{/gradient2}", what_prefix="\"", what_suffix="\"", namebox_style="namebox_jose"
Make sure you have the "kinetic_text_tags.rpy" file in your "game" folder along with the "glitch_tag.rpy" file. (or whatever other effect file you want to use.)
Been playing with this pack and I love it. Quick question: Is there a way to have an effect play for a few seconds and then STOP, going back to normal text? Or even pause for a few seconds before the effect occurs? I'm trying to find a way to have a line of dialogue where the character is a glitching robot, and I want to find a way for him to speak a line of dialogue, only for a few words to glitch out and be replaced by new words, as if he is spell checking himself in real time. I have been scrolling through your code and can't seem to find what controlls the 'repeat' or 'loop' functions.
You are free to modify it but yeah most of them don't put much of a delay on the effects. And the looping is just because they keep updating themselves as renpy calls them. I imagine you're looking to modify the SwapText though and you're free to modify that to how you want it to work. It uses it's swap_to_1 variable to keep track of which character it should be. So probably just need to treat the current timer variable it has to be a delay instead and remove the logic for switching back. Might need to add more code in there too if you want more than just the letter swap. Hopefully that helps though.
Thank you! I did find a slapdash work around, by having two different lines of text, using the wait and no-wait functions {w=} {nw}. One line has a word with the glitch tag, the other has no glitch. When played together, the first line of text appears normal, delayed for a second, then swaps to the next line when it hits the word with the glitch effect.
Makes it look like the text gets deleted and replaced with a brief glitch effect as it happens. It looks exactly like I wanted and It wouldn't have worked without your code! Thank you.
i forgot if i ever commented here before, but thanks so much for these. the shaky text in particular has added a lot of life to the un-voiced text of my current project, and i get a lot of positive feedback about it from players. i appreciate the flexibility a lot.
← Return to asset pack
Comments
Log in with itch.io to leave a comment.
Hi Wattson. Great work with this mod. We have an issue, though. We are creating a game where your mind uses the center text style and your character uses regular styles. The problem is when we apply your functions it always goes to the menu style font of renpy which is different from all the other character styles. It appears white and with the default font.
We've tried to fix it with chatgpt but it constantly said it should show the correct fonts, but it doesn't.
Any hints on what can be happening here? Thanks in advance!
Update: I found a message for another user with a similar problem and managed to set the style everytime.

But we use the outline in the center text, so it's not working properly for those cases. Your {outlines} doesn't work, as it returns a missing outlines parameter. And you mention something about the jitter of renpy, but I'm really lost about that. Can you advise on what do you exactly mean?
Thanks a lot in advance!
Hello, I'm new to all this so I don't really know how to use those tags, can I have some help please?
You can see examples of their use in the script.rpy
Thank you for the font effects! We really appreciate your contribution.
Hey there! I've encountered an issue using the bounce tag while testing my current build and I was wondering if I could get your help with it:
```
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/MVNSB.rpy", line 45, in SB_say
return who(what, *args, **kwargs)
File "game/kinetic_text_tags.rpy", line 3708, in bounce_tag
File "game/kinetic_text_tags.rpy", line 3708, in add_tags
KeyError: 'i'
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "//game/script.rpyc", line 751, in script
File "/renpy/ast.py", line 2586, in execute
Say.execute(self)
File "/renpy/ast.py", line 623, in execute
renpy.exports.say(who, what, *args, **kwargs)
File "game/MVNSB.rpy", line 45, in SB_say
return who(what, *args, **kwargs)
File "/renpy/character.py", line 1471, in __call__
self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
File "/renpy/character.py", line 1117, in do_display
display_say(who,
File "/renpy/character.py", line 796, in display_say
what_text.update()
File "/renpy/text/text.py", line 2321, in update
tokens = self.apply_custom_tags(tokens)
File "/renpy/text/text.py", line 2933, in apply_custom_tags
new_contents = func(tag, value, contents)
File "game/kinetic_text_tags.rpy", line 3708, in bounce_tag
File "game/kinetic_text_tags.rpy", line 3708, in add_tags
File "/renpy/revertable.py", line 90, in do_mutation
return method(self, *args, **kwargs)
KeyError: 'i'
Emscripten-3.1.24-wasm32-32bit wasm32
Ren'Py 8.3.7.25031702
introLUCAS 0.1
Thu May 8 21:09:16 2025
```
Oop Hey there Wattson! Turns out that was user syntax error on my part--I used this as part of a custom text tag (I can't quite wrap my head around omegatags just yet) and opened the "i" renpy.TEXT_TAG with a curly bracket instead of an open parenthesis.
I did want to follow up--i'm having trouble getting the custom tags to combine the kinetic tags with custom fonts. Is there something I can do about that?
Thank you again for making such a fun tool! :D
Hi, I was going to use the animated gradient effect, but when I used it for the namebox, the text gets smaller, is there anyway I can fix it?

(The code works, it's just that I can't adjust the size, is there a solution?)
Hi! May I know how you changed the textboxes please?
nvm i found it
hi ! i love all of those but I have quite the problem. It does that when i try to put on the scared effect. Any idea ?
I think you copied it from my script.rpy file which was just examples. You can remove the {=test_style} from inside the tag.
hello!do you have a ideas for this problem?in the test game anything work
Just figured this out myself lol
Make sure you have the "kinetic_text_tags.rpy" file in your "game" folder along with the "glitch_tag.rpy" file. (or whatever other effect file you want to use.)
Hope this helps.
I came here for this exact problem, thanks a lot for updating your post with the answer !
Wanted to do something specific but had no idea how to implement it, and here's this incredible tool that's already done it. Thank you!
Been playing with this pack and I love it.
Quick question: Is there a way to have an effect play for a few seconds and then STOP, going back to normal text? Or even pause for a few seconds before the effect occurs? I'm trying to find a way to have a line of dialogue where the character is a glitching robot, and I want to find a way for him to speak a line of dialogue, only for a few words to glitch out and be replaced by new words, as if he is spell checking himself in real time.
I have been scrolling through your code and can't seem to find what controlls the 'repeat' or 'loop' functions.
You are free to modify it but yeah most of them don't put much of a delay on the effects. And the looping is just because they keep updating themselves as renpy calls them. I imagine you're looking to modify the SwapText though and you're free to modify that to how you want it to work. It uses it's swap_to_1 variable to keep track of which character it should be. So probably just need to treat the current timer variable it has to be a delay instead and remove the logic for switching back. Might need to add more code in there too if you want more than just the letter swap. Hopefully that helps though.
Thank you! I did find a slapdash work around, by having two different lines of text, using the wait and no-wait functions {w=} {nw}. One line has a word with the glitch tag, the other has no glitch. When played together, the first line of text appears normal, delayed for a second, then swaps to the next line when it hits the word with the glitch effect.
Makes it look like the text gets deleted and replaced with a brief glitch effect as it happens. It looks exactly like I wanted and It wouldn't have worked without your code! Thank you.
i forgot if i ever commented here before, but thanks so much for these. the shaky text in particular has added a lot of life to the un-voiced text of my current project, and i get a lot of positive feedback about it from players. i appreciate the flexibility a lot.