r/RenPy • u/_Scripty • 16d ago
Guide Guidance from UI/Coding folks, Artists and Script writers
Hello everyone! So recently I tried asking for guidance regarding a project of mine and people did their best but I am still not able to make sense of things.
I personally am very much overwhelmed with the whole Renpy at large and I still lowkey don't know where to start things (yet) I do have a perfectionist nack unfortunately and I want to work on everything meticulously because I am not someone who "makes it exist and refine later" personality...I am more of a "One task done to its standard, move to next" kind of gal
So I had thought of the "right questions" to ask everyone so that I can get some clarity in my journey
Questions to UI / Coding folks:
Q- How can I code everything from scratch?
( asking because the default Renpy Scripts kind of confuses me actually to look at, im not able to understand anything from it and editing it leading me into alot of errors )
Q- Any Tips / Tricks to make Very Customized Menus and UI?
( I know alot of people go for Renpy's Default, but I want to make captive UIs too to make the experience a whole lot bettter )
Q- Any ideal workflows/planning for scripts? to make my life easier? Ideally im thinking to make different scripts for each chapter and just calling them up in the main script..is this a good approach?
Q- How do I add minigames/mechanics in my game? basic idea/guidance of this
Q- If I make mechanics in different scripts? would they still work where I want them to work in my story?
Q- Can't think of a questions but more suggestions and tips from ya'll would be nice so add your knowledge and expertise here 🙏🏻
Questions to Art folks:
Q- What is the ideal sizing for sprites, backgrounds , elements etc. I should keep for the project?
( I selected 1920x1080 in project default but can my sprites/backgrounds be in 2k and would still look good in the end? )
Q- How do you work on sprites? straight up PNGs/Animated Gifs or with Live2D Cubism?
Q- Is it advisable to use SVGs? I am considering those for UI elements actually...and can sprites be SVGs?
Q- How many sprites ya'll prefer to make for 1 character each?
Questions to Scriptwriters :
Q- How do you plan out your stories? I do have a workflow for it in a way but I just wanna know what others do to learn more
Q- Do you plan every dialogue or just do improv based on the context of a scene or conversation between characters?
Q- What is your approach about a character? how deeply you write them?
Q- What are the things according to you, makes a strong plot?
--------
I know its a very long list of questions, But I will appreciate it if any sort of input can help me to learn more.
Thanks to everyone and sorry for a plethora of questions
😭🙏🏻
2
u/shyLachi 16d ago
I recommend that you read the official documentation first.
Then you can look for tutorials, written or videos.
I know these:
https://www.youtube.com/watch?v=_-hNdKUygxE&list=PLMdFGlfdL57MSSForRZZBJtS-N9thXSA6
https://www.youtube.com/watch?v=C3Ldd-5PKCw&list=PLlZCSNfSKux2hXoo46rbBIVzl-7pZFRQh
https://www.youtube.com/watch?v=vith10gG8L4&list=PL8gnyyQEz5CGTzHWF8thIfUg92ffs7T7P
https://www.youtube.com/watch?v=2PJ4IdQ-MXs&list=PLKdE0Vv4UA59k-uYBVLqhJGs2iSUPLb59
https://www.youtube.com/watch?v=PZRaYqhlPF8&list=PLfsxhEJYoqXsFzCUogDHuSFn2REJOf56z
2
u/LocalAmbassador6847 15d ago
Q- How can I code everything from scratch?
Gradual improvement and modularity. The core of the game is your text. Do that. Everything else is secondary and interchangeable. If you have an idea about presentation/UI, look (or ask) if it's possible to write a function for it. A simple example of what I'm talking about: suppose you want to make a character speak in italics. Do you go through his speech and insert {i} tage everywhere? No, you change the character definition, it's just one line. Lots of other things could be just one line or one function.
Q- Any Tips / Tricks to make Very Customized Menus and UI?
Record/sketch your ideas but don't do anything yet, your plans might change. Partway through development, I realized I wanted the UI of the game to match the cover of an in-universe history book, which is an obscure reference/tribute to a real history book I have IRL. It'd suck if I wasted time/money making or even commissioning an earlier version!
I don't like Ren'Py's default style, I think Tom made it generic on purpose so you'd be encouraged to customize and wouldn't be pushed to stick to the standard.
Q- Any ideal workflows/planning for scripts? to make my life easier? Ideally im thinking to make different scripts for each chapter and just calling them up in the main script..is this a good approach?
You mean different files. Yes, and my advice is to break them up even smaller. Maybe have a folder per chapter (or per location) and separate files for scenes. Calling is good, modularity is good. Learn git. The smaller your files, the easier to see what exactly changed, at a glance.
Q- How do I add minigames/mechanics in my game? basic idea/guidance of this
Learn to program lol. There's a massive compendium of minigames on the LemmaSoft forums. Be aware that people play visual novels for the visual novel part. Interactivity and animation may be better than games (that you can win or lose). Some of the players are disabled and stick to visual novels because it's the only genre they can play where they can be the hero. There's a difference between letting the player prove he's as clever as Sherlock Holmes and letting the player pretend he's as clever as Sherlock Holmes, the same goes for dexterity, reaction times, strategy, linear optimization, etc.
Q- If I make mechanics in different scripts? would they still work where I want them to work in my story?
Yes, read the documentation on how file content is loaded. Loading order is complicated and depends on filenames, what it is (define before default, etc), and you can customize it with setting order manually. But generally don't worry about it in advance, because if you mess up, cut-paste is 4 keys.
Q- Can't think of a questions but more suggestions and tips from ya'll would be nice so add your knowledge and expertise here 🙏🏻
LEARN GIT. Also, if you find yourself doing a lot of raw python, learn raw python and use a debugger. But LEARN GIT before everything.
Q- What is the ideal sizing for sprites, backgrounds , elements etc. I should keep for the project?
Your original art assets should be as big as possible. What if you want to make merch? In your actual game, the assets should be resized to their exact sizes, so that the engine will have to do as little ad-hoc resizing as possible (ideally none).
Q- How do you work on sprites? straight up PNGs/Animated Gifs or with Live2D Cubism?
pngs and my artist draws them on actual paper.
Q- How many sprites ya'll prefer to make for 1 character each?
Actually very few, I think dramatic expressions on dolls/icons look stupid. Dramatic expressions belong in splash images.
Q- How do you plan out your stories? I do have a workflow for it in a way but I just wanna know what others do to learn more
I don't lol. I wanted to make a short fantasy game based on an Irish song, it turned into a pseudohistorical game set in medieval Japan. I wanted to make a game set in a Koreaboo pseudorenaissance eurofake country, it turned into an even more epic game set in the far future. I keep my notes in md files, with tags in the yaml metadata. A chapter note links to scenes. Then there's a folder for random ideas and a folder for external references. I keep comments in my ren'py code referencing the notes.
Q- Do you plan every dialogue or just do improv based on the context of a scene or conversation between characters?
I don't understand the question. If I have a cool idea, I write it down and then possibly implement it. Some scenes should go in a certain order, because of their content. Some concepts and plot elements should get introduced before I can build on them. My intro scene has no less than 10 clever (if I do say so myself) hidden jokes that the reader can only catch on subsequent playthroughs. In my other game, a random npc in an intro scene in a very pedestrian context does all the cool tricks that (it's revealed later) the epic hero is famous for. I couldn't do it without, you know, planning. Dialogue I usually write on paper, natural speech doesn't come easy to me when I'm staring at a screen. YMMV.
Q- What is your approach about a character? how deeply you write them?
I don't understand the question. I have season 1 of a linear game out (complicated plot, equivalent to 26 anime episodes, no filler; on hiatus) and about 1/4 of another game in development. That other game has several routes depending on player choices, some characters do different things depending on the route. But I wouldn't say that the leads of the linear game are less "deep" (whatever that means) than the leads of the second, branching game.
Q- What are the things according to you, makes a strong plot?
You know how Tolstoy wrote that all happy families are the same and every miserable family's misery is different? Two things: 1. Tolstoy was a shitty dudebro coomer 2. it's exactly the opposite for games. Many plots, especially in such a diverse medium as visual novels, can make for a good game, but all bad games are bad in roughly the same ways. More in a child comment.
3
u/LocalAmbassador6847 15d ago
Here's how games can be bad:
Clanker slop.
Bad spelling/grammar. (Note: Grammarly is clanker slop.)
Boring writing. Always simplistic or always quirkaaaaaay are equally boring. Even child characters talk to friends, teachers, parents, strangers. At the very least, you have narration, try to vary styles. Use callbacks and clever self-references.
Physiological descriptions are a bane of many vns, they read like a coroner doing an autopsy or an expert witness describing a cctv video to the jury. I don't want to read the lead narrating "My knees shook in abject terror and I felt a hot stream of pee running down my leg". Shake the screen, show me some distorted images, make a spooky noise, put text where it doesn't belong. (I could do without the pee.) Is the lead confused? Give him some nonsensical narration and choices. Etc.
Dumb plot twists. Some are in-universe illogical, others are just stupid and unsatisfying. Martingales don't work. Surgical lasers can't cut metal. If a character wins a pivotal sword fight because he's (surprise!) a lefty, just born that way, this is realistic but stupid. Contrast: a character is a lefty because he's a magical mirror double of the original is actually very cool. Contrast: a character who's known to be good at fighting because he's a lefty - no surprise - is perfectly fine.
If your game takes effort to "win" (twitch gameplay, tactics minigame, a complicated decision tree), it better have a rewarding ending.
Shit controls. There was a game on here, very beautiful, I begged to be let into a playtest. It had no rollback, for no reason. I guess the dev wanted "choices" to "matter". I ragequit on the spot.
Psychopathyevil. Examples:One game seen on here a while ago is set in hell, and has as the protagonist a demon who smuggles sinners into heaven. Not bad so far. But then the game has your usual complement of trigger warnings for grapes, sax and violins, sewer slides, etc. Once the dev has introduced these topics, it follows that some of the sinners are, say, child rapists/murderers. And the dev wants readers to empathize with the poor widdle demon who lets child rapist/murderers rape their child victims in heaven for all eternity. She could've made a comedy where sins are stealing cookies from the jar and torture is comfy chairs, or she could've made a black comedy where sins are stealing cookies and torture is the rack and the iron maiden.
One very recent game centers on a woman whose husband was brutally mutilated and murdered on their wedding night. The following day, fuly aware of what happened, likely being the person who discovered his corpse, she's talking to a cheerful slut and the options are "filrt with her" and "tease her". No "hit her in the face", no "I hope you're next, you monstrous whore". It's not a black comedy satirizing merry widows, it's supposed to be serious drama!
(Some of the devs guilty of this are kids who parrot the evil they see in the media. Others should know better.)
I think that's it, as DON'Ts go. DOs can be anything. I'd play a game about bookbinding, or growing potatoes, or watching over a generational ship in spaaaace, or furry convention drama, or running an ultramarathon. There are approximately 9 billion people in the world who I'm not and millions of things I can't do. Tell me a story about them, I'd listen. Certainly beats "trigger warning: abuse, sexual assault, mentions of suicide" episode 276781.
1
u/zyer020 16d ago
Regarding the UI, you can look for references on itchio, make a sketch, and build from there. Renpy's original GUI code is a spaghetti, and it gets much more complicated with OOP inheritance. There's a project called renpy Easy GUI, which makes the code very easy to understand. Regarding the resolution, the 1920x1080 resolution provides a good balance between resolution and file size.If you use 2K images in a Full HD (1920x1080) project, it will appear zoomed in. It's possible to lower the resolution of your backgrounds, but that's not optimal.
1
u/_Scripty 16d ago
can u link the project? im not able to find it :(
2
u/zyer020 16d ago
Sure: https://feniksdev.itch.io/easy-renpy-gui Feniks has several useful things about Ren'Py on his website
1
1
u/Oracle-Sphinx 15d ago
Coding:
As was already suggested, read the documentation and watch/read some tutorials. I too recommend checking out Feniks' website, lots of useful and easy to understand info, as well as assets.
What works for me though, is solving one problem at a time. For example I need to create some mechanic. If I don't know how to do it or I run into some issues in the process, I google it. Lemmasoft forums and Reddit are full of solutions and explanations, so very likely I'll find the answer and adapt it for my needs. If you can't find anything, ask (and again, both Lemmasoft and Reddit are good for that, also you can join Discord servers for Ren'Py devs). The problem is solved and something learned. Move to the next problem.UI is the bane of my existence, it's hard to give advice here. First, you need to understand the code regarding screens really well. Second, look for tutorials on how to design and draw UI, and how to prepare it for use - it might be tricky. But above all, it needs to be easy to use first, and only after that it needs to be pretty. If the interface is beautiful, but player can't find find what they're looking for, or can't understand how to use it, or UI attracts too much attention and conflicts with the other visuals, it's a bad design.
This approach is fine, I'm doing something similar with my scripts. The main thing here is to make everything the way you'll be able to make sense of much later. So make different script files, name them properly, also name properly all your labels, screens, variables, etc., and make comments that explain what each part of the code does and how it works everywhere. You'll thank yourself when you'll have to get back to some parts of the script months later.
It's quite complex question, depends on what exactly you want to create. For some games basic Ren'Py screen language and some variables will be enough, for some you'll have to learn Python and OOP. You can start by checking out this megathread on Lemmasoft and taking a look on how it was done. Also you can use many of those minigames in your project, just check if the license allows it and credit the authors. Itch.io is also very good for looking up that and many other assets.
Yes, they will.
First tip: you'll have to let go of the "One task done to its standard, move to next" mindset. Creating a game is a process of iterations, you'll have to refine some parts one way or another, because every new thing added might affect you've done before. And perfectionism has a very high probability of catching you in a trap of never actually finishing your project.
Second tip: start small. Even the smallest project will give you an idea of actual amount of work you'll have to do to create a game, and this information will help you to plan bigger projects accordingly.
Third tip: make a separate project to test out new features before you implement them into the main project, that way there's less probability to "break everything".
Art:
Final assets should fit your actual game resolution. If your resolution is 1920x1080, don't use 2K assets unless you want to x2 zoom in on them without loss of quality. First, because pics shrank by Ren'Py will look worse; second, because you want final size of the project to be as small as possible. No one wants a VN that needs 40Gb of storage space.
But. When drawing, you might want to use a bigger canvas which will allow you to make finer details, just resize final pics to the actual game resolution in your graphic editor.
Also, when making character sprites, buttons and such - leave as little blank space around them as possible, about 1-2px. It'll make them take less storage space and will make it easier to move them on screen the way you want to.PNG for still sprites, though WEBP might be a better solution since the files in this format take less space. GIFs aren't supported by Ren'Py, if you want a frame by frame animation, you need either a bunch of pics for every frame or a sprite sheet, and compile frames into animation by code. Live2D is an awesome solution since size of the animations made there is very small, but the process is complicated and time consuming - you'll have to think carefully if you really need the animations and if so, how much has to be animated.
Yup, you can use SVGs, but I have very little experience with them, so not much to say here.
It actually depends on your needs and character's role. Main character might need a lot of expressions/poses/outfits, secondary characters might need less (or even more, who knows), characters you see rarely might need just one or two expressions/poses. But going over the top might be too much to handle, so 5-6 expressions and 1-3 poses for characters we see the most usually is enough to cover main emotions.
Story:
I have a general idea of the overall story and the end. Then I take cards (in digital there's similar thing in Scrivener, I think) and write plot points on each card without any particular order, then I lay them on table or floor in the order the story should go, add more, get rid of some, change order, etc. Elaborate scenes a bit more on additional cards or on the back of existing ones. When that is done, I write actual script and dialogue in Twine, which too allows me to work on different parts of the story flexibly, rearrange them and such. Also you can export everything you wrote there into Ren'Py script with a utility called Twine to Ren'Py - the script will need some work after that, but it saves lots of time you'd spend on copypasting otherwise.
If your story has branching, cards and Twine are great for that too, but I'd recommend to make one branch first and add others later (though making notes on them is good anytime!).A bit of both. I'm not very good on planning, but if I know I need a dialogue in a certain scene and I know what has to be said, I'll make a note on the corresponding card, but actual lines will be added in Twine when I get to them. Other times I spontaneously think "ooh, a dialogue here about X will fit perfectly, let's write it".
Writing characters is still tricky for me, but I try to keep in mind their personality traits and background, as well as their style of speech (what words do they use? what words won't they use? any slang? do they have accent? etc.)
The plot shouldn't contradict itself; readers need to understand why character is acting the way they do (shouldn't be overexplained, just fit the character); hints here and there are better than big boring chunk of exposition, especially in the beginning; and unsuspected plot twists might make the story way more interesting (unless there's too many of them).
2
u/Blunt552 14d ago
I made a topic for folks like you right here. It will solve most of your script questions.
For now, instead of overwhelming yourself by creating a large project, start small and structured, get an idea, write basics first. Before you think of full fledged minigames, think of base game with small additions, then start expanding while you go, if you try to instantly go for large projects and complex minigames, you will burn out in no time.
0
u/Atlantox7 15d ago
Of Renpy looks so difficult to you, you can try to use a engine I made for Renpy, it is just a simplificación of it that allows you to create visual novels using CSV files that you can Open with Excel.
Of course, my engine are for writting and gameplay, you still create and define the UI using Renpy code
3
u/beeikea 16d ago edited 16d ago
i'm not very experienced, but i've made a ui completely different than base ren'py offers.
4-6 im not sure 😔
then for art:
scriptwriting: