The theme is open to interpretation and is not meant to be restrictive. You can build something based off of the literal meaning of one or both words, or the combined meaning of the words.
Yes, you can have multiple languages in your game.
I'd need to take a look to know for certain but my initial thought is your perspective being disabled. Is your perspective enabled on your camera?
The calculations are balanced with perspective in mind, but if that isn't on then the front and back wouldn't actually change the distancing and the offsets would shoot them in whichever direction if you tried to use them.
My second thought is I goofed up the transforms somewhere. It's entirely possible that I goofed up one of the transform coordinates and no ones ever caught it.
We'll be hosting a live team building event called Meet & Greet in our Discord on the 20th at 8 AM Eastern! If you are looking for a team or team mates, be sure to join us. Voice participation is encouraged, but not required. These events are the best way to quickly find a team or additional team members, so don't miss out!
If you open up MVNActionFXTemplates.rpy, you'll see a list of transform definitions.
https://www.renpy.org/doc/html/transforms.html#transforms
I your script, you can apply these transforms to various displayable and images in your scene to produce the effects. The guide on the page here should help you figure out how to set each one up.
If you know which effect you'd like to use, I can give more specific instructions on how to use them, too, just hollar and let me know.
So using the smart barks pack, I associated all of the bubble's speakers with the pop sound effect, and made the matching keyword and empty string, eg: ""
So every time any of them would speak, it would play the pop sound effect.
This is how the definitions are laid out in MVNSmartBarks.rpy:
character_voice_lines = {
"Anonymous User": {
"": ["sfx/pop.ogg"]
},
"PurplePyroGirl": {
"": ["sfx/pop.ogg"]
},
"Sparkle69": {
"": ["sfx/pop.ogg"]
},
"Licklad": {
"": ["sfx/pop.ogg"]
},
"Fan": {
"": ["sfx/pop.ogg"]
},
"": {
"": ["sfx/pop.ogg"]
}Web builds should be fine-- the majority of the issues with WebGL stem from WebGL not liking variable loops or implicit casting. I used the burning text effect on my web build of Mint Condition over here: https://makevisualnovels.itch.io/mint-condition
I don't have specific issue reports from Android builds. If you run into any issues with an Android build, feel free to reply here or find me in Discord and show me the error and I should be able to resolve it. I'd be surprised if they run into significant performance issues on Android, but there are likely some optimizations I could do for the platform or alternative methods I could recommend failing that.
Attribution isn't required but is appreciated. The best way to do is include either...
Followed by a link to the asset you used: e.g:
Stella @ Make Visual Novels! Text & Shader Effects Pack: https://makevisualnovels.itch.io/text-pack
If you use more than one of my packs, you can just link my main itch.io page like this rather than credit each one:
Stella @ Make Visual Novels! Assets: https://makevisualnovels.itch.io/
Support is available through comments here, or you can reach out to me via the DevTalk discord here: https://discord.gg/devtalk
Sorry for the wait, I figured out what was going on.
Early on when I started working on this pack, Bokeh originally was only going to move in one dimension, so speed was expressed as a float originally. Before I released, I made speed an expression of vec2 so that it could have two dimensional speed. I completely forgot that I did that, so I even included in the instructions to make it a float.
I've updated the templates to use the correct ones. You can replace your MVNRomFXTemplates.rpy and it should straighten it out.
Thanks for the error report, I'll dig into it and figure out what's going on. Someone in the Discord was also talking about it and I think something goofy might be happening with it. I might have used an older version of my test code for it instead of the tested one I had ready. I gotta look at it to be sure.
Do you happen to know which version of RenPy this was in? I doubt it's an issue with RenPy, but it helps me reproduce it.
Live2D should be fine, just try to avoid anything that would significantly alter the pose. Head shifts/turns, eye movement, tils and such of body parts are fine, but if you need to replace body parts(e.g, swapping arms) in order to create a pose you wish to use, it would likely violate the one asset rule.
Use your best judgement on non-human characters. I won't likely be overly critical as long as the spirit of the jam was attempted.
The reason it's cut off on the edges like that is because the shader can only draw within the rendered area. If you want to get effects like that, you're better off compositing a screen together to include elements that could exist behind the text. Since the parameters are tooled so high, there isn't much reason to make it adhere directly to the text displayable area.
Also I have a sprite/entity version that's in the works. Vimi's been working on something that's got me working towards another pack released, and these type of effects for characters would be included.
If you're curious, the reason this is happening is because I forgot to re-add a .a on a line at some point during testing. The original intent for the effect was, when it got dark, was this, with proper alpha sampling vs entire color sampling:

And I missed it because my test area was using white text. Whoops.
The method you posted uses Mix to completely strip the effect off of where the text is visible, using the original text's alpha value as the blending value. I had intended to come back to the pack for content update in a few months, which was going to include a hollow version of this one, as well as a mix version like the one you posted.
The transforms in MVNRomFXTemplates are intended to be copied and changed to customize the effects without having to dive into the shader code itself.
Here's a few quick ones I did, but you can tool with the numbers yourself and produce whatever variations you'd like:
transform MVNVignettePink: mesh True shader "MakeVisualNovels.LPVingette" u_vin_radius (0.5) u_vin_softness (0.3) u_vin_strength (0.5) u_vin_center (0.5, 0.5) u_vin_tint (1.0, 0.4, 0.6)
transform MVNVignetteWarm: mesh True shader "MakeVisualNovels.LPVingette" u_vin_radius (0.5) u_vin_softness (0.3) u_vin_strength (0.5) u_vin_center (0.5, 0.5) u_vin_tint (1.0, 0.3, 0.0) transform MVNVignetteCool: mesh True shader "MakeVisualNovels.LPVingette" u_vin_radius (0.5) u_vin_softness (0.3) u_vin_strength (0.5) u_vin_center (0.5, 0.5) u_vin_tint (0.2, 0.4, 1.0) transform MVNVignetteDream: mesh True shader "MakeVisualNovels.LPVingette" u_vin_radius (0.5) u_vin_softness (0.3) u_vin_strength (0.5) u_vin_center (0.5, 0.5) u_vin_tint (0.2, 0.9, 0.4)
There’s a little more than 60 days until Spooktober 2025. Year after year, the Spooktober Visual Novel Jam has experienced meteoric growth in terms of participants and submissions. To date, the Spooktober Visual Novel Jam 2024 has had the most submissions out of any other visual novel jam, and Spooktober as a whole has contributed to the creation of over 800 visual novels. That’s huge, and I’d like to thank all of you for helping make this happen.
While the participation and submissions in the jam grow significantly year after year, our ability to manage the jam does not. Last year, we had 7 judges responsible for judging and eventually ranking 272 submissions in less than 30 days. On average, a judge had to review 70 entries in around 21 days each to maintain the standard of quality and review that we’ve kept for the past 6 years. Ask any of them. It’s a staggering and taxing task despite the joy it brings us.
Recruiting new judges has been met with significant difficulty, since many people we would consider experts in this simply are not available to take on the tremendous workload at hand, and without more judges we cannot promise a lighter quantity of work per judge. This creates a bit of a catch 22 when recruiting.
I prefer to do good business when I can. I don’t take sponsorship money from people I don’t think a sponsorship with us could actually help. Similarly, I can’t keep asking the judges, who have been loyal and enduring despite the hardships, to continue at the rate they’re going. We are fully expecting to only have 5-7 judges this year, and the jam is trending towards 300 submissions this year. Worst case scenario, we're looking at judges needing to review somewhere near 120-150 entries each to maintain our standards. We need a method of allowing Spooktober to grow and continue to be the event that inspires and drives developers to do their best while mitigating the administrative strain the event causes.
That’s why this year we’re introducing a judging pass.
Here’s how it’s changed:
Proceeds from the passes will be given to the judges to thank them for their time or given back to the community at their discretion.
The pass is available here: https://www.patreon.com/posts/2025-spooktober-131500676
Thanks for expressing interest in our sponsorship packages! In order to become an official Spooktober Visual Novel Jam 2025 sponsor, a cash sponsorship must be made of a minimum of $250. Sponsorships of digital goods, services and other non-cash contributions must be accompanied by a cash contribution equal to or greater than the value of the digital goods being offered.
These packages are flexible and can be further customized to meet your specific requirements and preferences.
If you have any questions, special requests, or wish to sponsor the competition feel free to reach out via email to Stella@SpooktoberVNJam.com or Stella on DevTalk's Discord!
Basic Package - $250:
Bronze Package - $500:
All benefits from the Basic Package, plus:
Silver Package - $1,000:
All benefits from the Bronze Package, plus:
Gold Package - $2,500:
All benefits from the Bronze and Silver Packages, plus:
Platinum Package - $4,000:
All benefits from the Bronze, Silver and Gold Packages, plus:
We value your support and are open to discussing any additional ideas or benefits you may have in mind!
All contributions made through this sponsorship system are added to the community's yearly budget and will be used to finance the prizes for Spooktober 2025, at the following amounts.
Our target contribution is $2,750 for 2025. Any amount in this excess will be split between the community's yearly budget for special events, programs, and next year's competition!
Welcome to the jam! Once you've read the rules on the main page, here are some more specific cases to give you an idea of what you can work with.
If you can't find your specific case or situation, feel free to ask below!
-------------------------------------------------------------------
GENERAL CLARIFICATIONS
You can:
You cannot:
-------------------------------------------------------------------
ONE SPRITE
It is within the rules to:
You may not do the following:
Illustrations (CGs) can:
Illustrations (CGs) cannot:
-------------------------------------------------------------------
ONE BACKGROUND
It is within the rules to:
You may not do the following:
-------------------------------------------------------------------
ONE THOUSAND WORDS
When in doubt, pure words counted by Google Documents are to be taken as standard.
Counts against the 1.000 word limit:
Does not count against the 1.000 word limit:
Concerning the last point, please utilize an engine's accessibility features and do not abuse image captions to add to the narration in a way that moves it forward. We trust that participants will consider making their games more accessible to low vision readers in good faith.
If you are using Ren'Py, we suggest npckc's Caption Tool in order to add image captions to your game.
-------------------------------------------------------------------
ONE MUSIC TRACK OR ONE AMBIENT BACKGROUND NOISE
It is within the rules to:
If an ambient audio file you create or find has multiple sources of different audio (e.g. a storm may have wind, rain, and thunder) and you do not control the timing of the other recorded audio, this all counts as one ambient track. If you do control the timing of other sounds, this counts as your sound effect.
You may not do the following:
-------------------------------------------------------------------
ONE SOUND EFFECT
The single sound effect...
This limit does not apply to interface sounds, which are considered part of the GUI. Having different sounds assigned to button hover, activation, etc. could be an accessibility feature for low-vision players, as that's audio feedback for different actions.
-------------------------------------------------------------------
ONE VOICE ACTOR
Your entry's single voice actor...
Regarding usage of voice beeps in lieu of voice acting: you may create different beeps per character as long as it remains consistent to that character.
-------------------------------------------------------------------
SPLASH SCREEN / MAIN MENU / GAME MENU ART / GUI
The main menu / title screen background is now considered part of the GUI and thus is not beholden to many of the previous year's restrictions.
It is within the rules to:
You may not do the following:
Regarding image buttons that appear to be objects: these buttons should only appear as a choice, and the images should not appear again in other parts of the game due to the fact that this can be abused to bypass the item/arm/head change limit.
-------------------------------------------------------------------
ONE THUMBNAIL ART
The restrictions for the itch thumbnail for your game's preview have now been relaxed, as we recognize that it is an important aspect of marketing your game to potential players. It is within the rules to:
-------------------------------------------------------------------
ONE PROJECT
One person in the O2A2 jam...
-------------------------------------------------------------------
OFFERING WEB BUILDS OF YOUR ENTRY
If you offer both a web and downloadable version of your game, you may optimize effects (e.g. video backgrounds) for the web build as long as the downloadable version follows the rules. You may want to note differences between versions if applicable. Please follow this rule in good faith.
-------------------------------------------------------------------
OMAKES AND FANDISC RULES
An omake means "extra," as in extra/bonus content for source material that you own or have permission to develop for. Fandisc is another term for the same concept.
It is within the rules to:
You may not do the following:
We highly suggest writing your omake in a way that those unfamiliar with the source material are able to enjoy it, but this is not a requirement.
-------------------------------------------------------------------
FANGAME AND DERIVATIVE WORK RULES
Fangames or derivative works are generally unofficial works based on source material that you do not own or have express permission to develop for. The O2A2 Jam Hosts are not responsible for any cease and desist notices for individual entries should they occur.
It is within the rules to:
You may not do the following:
We highly suggest writing your fangame in a way that those unfamiliar with the source material are able to enjoy it, but this is not a requirement. For your protection in the majority of cases, we also suggest turning donations and PWYW off for fangame entries.
-------------------------------------------------------------------
TRANSLATIONS/DIFFERENT LANGUAGES
In the case that you want to release a game in several languages: the restrictions on 1k words and the one VA would apply to each version.
It is within the rules to:
You may not do the following: