Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Feniks

113
Posts
26
Topics
1,117
Followers
68
Following
A member registered Sep 25, 2019 · View creator page →

Creator of

Recent community posts

If you show a screen, it shows on the screens layer, which by default is above things like character sprites on the master layer. This is true of all screens, but you might not have run into problems before if you weren't using full background images in the screen. It can also show on top of the dialogue depending on the zorder (higher zorder goes on top of screens with lower zorder).

Hello! How exactly did you want it to work with dialogue? It involves viewports, which isn't usually a part of the say screen, so I'm not sure what sort of effect you're looking for.

You've made incredible progress Esh!! It's so exciting to see it all coming together ✨

If you want to check if the player is skipping a specific section of dialogue, you can check for if renpy.is_skipping(): (https://www.renpy.org/doc/html/other.html#renpy.is_skipping) at the start of that dialogue, and if it's true, grant your achievement. Otherwise, you can also add an achievement action to the Skip button on the quick menu (e.g. action [skip_achievement.Grant(), Skip()] on the quick menu button). The latter suggestion will *not* cover the case if the player uses a keyboard key like CTRL or Tab to start skipping; the best way to handle that more general case would be through a callback https://www.renpy.org/doc/html/config.html#var-config.interact_callbacks. If you're new to coding, I would wait to implement the last option until you're a bit more comfortable with Python! I hope that helps :)

Yep, you can apply the outline shader  to just about anything! I do also recommend you try playing around with Ren'py's built in outlines to see if you can get the effect you want, as the outline shader will be somewhat similar; you can apply outlines with decreasing transparency and increasing size through the outlines text property. Notably your example image is more a blobish suggestion behind each letter, whereas the outline shader (and built in text outlines) will be more like *glowing*. You might also be interested in my gradient shader tool if you want more blended gradients generally.

Good points! Feel free to make those changes; I've noted it down for my own version. I'll be going through all my tools at some point to test for 8.3 compatibility so I will add this in at that time :)

(1 edit)

Edit: lol I missed there were more responses as I had to step away and didn't refresh the page. Thank you for the updates! I'll leave my original response here anyway, and I do intend to see if I can have better line returns for errors.

Hmm, this seems fine to me. The custom.txt line is irrelevant; it's just checking if you've got the inline python tool installed and need linting for it.

How are you running the linter? From the launcher lint option, or from an in-game button? 8.2+ properly parses lines using the say_menu_filter, so you can run it from the launcher rather than the custom in-game button.

My other thought is possibly that you have an {else} split up across multiple monologue lines - these are considered individual lines when considering text tags, rather than one text block, so an {else} that was left open, then two newlines to begin the next line, will not continue the {else} tag.

I'll see if I can modify the linter to return an actual line to look at as well!

Can you share a sample of the way you're writing some of your inline conditions? I talked more with Nim above offsite and you may be experiencing the same issue.

Hello! I did not code the viewport with this in mind, but it's definitely an interesting proposition. I will keep it in mind for a potential future update! In the meantime you can potentially experiment with the xpan property outside of the viewport, which does seamlessly loop images. It won't work with how the viewport is set up currently, since it's expecting a fixed-size displayable.

Alright, and can you show me some of the code where you use the inline conditions? Particularly anywhere you have {/if} written, as the error indicates it can't find a corresponding opening tag. This can sometimes happen if the filter has been executed twice, but if you're on 8.0.3 and running from in-game that shouldn't be an issue.

Which version of Ren'Py are you on? If it's earlier than 8.2, you will need to use the in-game lint option (rather than the one from the launcher) due to how Ren'Py parses dialogue for lint. If you're on 8.2, show me the error from running Lint on the launcher. If you're on 8.1 or earlier, show me the error from running Lint in-game.

So what I'm understanding based on the code you've posted is that you're very new to coding. That's all right, but you will need to have a basic grasp of how variables (getting and setting them) work in order to understand how to use the achievement code. I really recommend you begin with https://feniksdev.com/a-quick-primer-on-variables-in-renpy/ and go through the rest of the tutorials in that series to see how to declare variables and update them. Then I recommend you read over the examples included with the achievements - you should follow the example very closely and just tweak things until they work how you want. A better understanding of variables will help you see what the system is doing and how you can follow the examples to do what you want. Good luck!

Can you share any code you've tried?

Aw thank you so much! I will do my best 💪

Thank you for this lovely comment! I'm always delighted to hear that my content has helped 🥰 I hope to have many more helpful tools and tutorials for you in the future too~

👀👀👀 Haha you have discovered my secret tool I've been working on since early this year - I'm hoping to release it in the coming months! The flowchart tool will be paid - it's incredibly feature-rich, and I've put a lot of time and effort into making it extremely flexible, to give you a heads up. And I'm delighted to hear you've gotten use out of my tools ✨

Delightful news, I had a chance to smash the two viewports' code together, and with a few tweaks, it's working fantastically! I want to do some more testing yet, and I think I'll add a property or two specific to this iteration of the zoom/parallax combo, but I imagine it should be out within the week :D

Hello! The zoom viewport and parallax viewport can coexist in the same project with no issues, but their functionalities can't quite be combined - if you nest them then I believe one viewport is prioritized for the input. It's not a bad idea though, so I'll put that in my back pocket to potentially combine! I might need to adjust the behavior of the parallax so the zoom looks nice too, since it's currently designed just for one depth level. I will reply to this comment if I do make a combination one!

If you're having trouble or run into any bugs with the code, post a comment here! I will try to get back to you within a few days.

Please copy in the lines you're using to show the marquee + send an image directly in the comments. I won't be downloading files from sites I'm unfamiliar with, and it shouldn't require posting much code to show what the issue is.

Hello! It's possible to add the marquee anywhere, really, but I can't help unless you share code of what you tried and outline what you want it to look like.

Unfortunately I can't see anything in that image, as it's too small. Can you send the image at a larger size, or describe what you're seeing?

Your code seems alright to me! My guess for the error is that it seems like it might be interacting oddly with another shader you have in your program. Otherwise, were you able to recreate the error yourself? Does it only occur on Android, or on a development or PC build, too?

Hello! Have you updated the shader code to the latest release? If so, and you're still having an issue, please do send me the error.

You shouldn't be missing out on anything in particular, though the most up-to-date version of any given tool will be on the individual tool page (e.g. Better Colorize). I try to make sure to update this page when there's a major change!

Hello! You have to make a button to lead to the achievement gallery yourself - it's not built into your project or the tool because I don't know how your main menu screen is set up. That's what this bit of code in the instructions is for:

textbutton _("Achievements") action ShowMenu("achievement_gallery")  

You need to add that or something similar to your project to access the achievement gallery. Don't delete datetime either - that was a very specific case where another bit of code had imported datetime already in a different way. I suggest not changing anything in the backend unless you understand what you're doing.

It's not really meant to be an alternative, though given the high number of dependencies the tool requires, I elected to package them up into one zip file to avoid users having to go to 5 different tool pages for all the dependencies (which seemed likely to bring its own set of issues).

I do appreciate the suggestion though; in particular, the tutorials weren't made at time of release so that is why they aren't linked at the moment. I'll note that for a future update!

Hello! That option is only available to developers during development for testing, so if you make a build then players can't toggle achievements. To remove it altogether you can look for the action under a `if config.developer:` block and get rid of it.

You are correct that you cannot use the marquee inside an imagebutton directly, as imagebuttons do not have children. However, you can replicate that look via a button which has the text (and image if desired) inside the marquee container, with your white button background.

Hello again! Thanks for your patience on this - I've pushed an update with ANGLE2 compatibility which should fix the Android issue also. Let me know if you still experience this problem on the updated v1.1!

Hello again! I just wanted to update you that I've added two new arguments to the shader, smoothstep and power, so you have more control over how it blends glowing outlines. Thanks for your patience!

Yeah the schedule really did wonders for the "ahhhh it's good enough, I can release it" kind of feeling I needed haha. Most of all I needed a push to release things in the first place. I appreciate your kind words! Best of luck to your development escapades also ✨

Aw thank you! I appreciated you sharing your full-time dev income breakdown earlier - it was really valuable seeing how the different sources of income worked out for you.

If you're having trouble or run into any bugs with the code, post a comment here! I will try to get back to you within a few days.

Without further information it's hard to say, but nothing about the shader alters the base image dimensions so I think it's unlikely that the shader is doing any kind of squishing. It would be helpful to see how you put the actual button together in screen language besides just the transform, and what it looks like with/without the transform applied.

Hello! Thanks for the report. I believe I should have this fixed in an upcoming update I've been planning for this shader - if you don't mind waiting a week or so, I hope to have it released by then. This is an issue I've seen when using the ANGLE2 renderer instead of GL2; usually systems default to GL2 but some phones may not. I'll put out a devlog once the update is out, and then please let me know if it fixes your problem!

Thank you for the report! I can't say for sure what the issue is, though my understanding is that the web builds use a different version of Python and potentially a slightly different renderer. I did quite a lot of fiddling to get the shaders to work with both ANGLE2 and GL2, and it wouldn't really surprise me that if a slightly different renderer is used for web that it has its own idiosyncrasies. I will put it down on my list when I have a chance to look at it!

If you're having trouble or run into any bugs with the code, post a comment here! I will try to get back to you within a few days.

You're meant to change the sound with your own define statement, not in the backend file! For example,

define myconfig.ACHIEVEMENT_SOUND = "audio/interface/ach.ogg"

The achievements.rpy file has examples of that. If you're only changing it in the backend, then the redeclaration in achievements.rpy will be overwriting it with None. The backend file has an early initialization order so it can be set up early before it's used and modified with a regular define statement.

So, in short, change it in achievements.rpy not in the backend file :) Hope that helps!

You can look up regular screen language in Ren'Py for more information on how UI works in Ren'Py. I have some tutorials on my website also https://feniksdev.com/navigation/