This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
A man has questions. Questions about how to write code that will allow a magnificent dating-sim harem comedy game to manifest for the glory of Slaanesh.
Problem is, this man has no clue when it comes to coding. Rather embarrassing. I'm trying to make a Renpy game as a creative project and to force myself to actually learn some Python. I hit a brick wall when it comes to some (what would seem to be elementary) game elements that need to be baked into the scripts.
Now, before people kick off and say "For God's sake man, do a forum search, why are you so stupid!?" and self-immolate in contempt, let me explain... I have. I have Googled. I have YouTubed. I have downloaded script examples and tried to reverse-engineer them like an Area 51 scientist. I have even tried to read the bloody Ren'py manual and it reads like... like Greek... written by robots...
Things I Am Too Stupid To Comprehend But Have Swallowed My Pride To Ask As It Has Been 3 Weeks Of Googling Now:
How do I user interface? What I want is five simple icons at the top of the screen (top right corner, in a horizontal line below the top) that aren't there when I'm running a "scene" of people talking but snaps back into place when the player is in free roam mode (i.e. moving around the map and talking to people and doing stuff). More detail:
1A) A Map Icon that opens a map window on-screen that has clickable locations that I can *choose* when the player unlocks so they can select and teleport to the new location (I got my map screen in GIMP. I vaguely understand it involves two .png images with "hover-able" and "tool tip" properties. The rest is runes and goat entrails read by witch-women.)
1B) An icon that indicates the Time of Day which changes as time periods pass. In a display of startling originality, there will be four periods: Morning, Afternoon, Evening, Night. This of course requires the game to understand the concept of time, which passes in a specific direction.
1C) A "Wait" button (looking like a stopwatch or something) that when clicked, allows the player to *select* which time of day to wait until (if anyone's played a Bethesda game you know what I mean).
1D) An indicator which tells you what *Day* it is, running from Monday to Sunday. Which updates according to the player waiting also.
1E) A "Status" button (looking like a PDA or such) which leads me to point 2:
2) A Status Menu (which pops up when you click on the Status button)
2A) This will show the Players current location and *two* stats: i) Intelligence and ii) Charisma. This will *change* when the player upgrades his stats which is done through the consumption of items or the use of a computer he chooses to use in his bedroom via a menu (I can have a menu in a bedroom and an interaction occur... but no idea how that raises a stat... let alone item-consumption...)
2B) Money. A tracker of how much money the player has.
2C) Items: If the player has any items. In simple text form. I'm not proud, I'd just like a text list that will change as items are picked up or used and lost.
2D) Harem Stats: a screen you go into while *inside* the stats screen, that lists the girls and their respective level of love.
2E) Some kind of quest-log or "player do this next" style hint box that will update as things are cleared, for each girl, so the player can for example click on status, click on "harem" button (or whatever it's called), select Kristen Bell Waifu (or whomever), then see "Oh, she's got 10 points of love out of 100 and I should buy her some flowers if I want to unlock the next scene with her." if you follow me.
3) A way to set events to occur at specific times of day depending on player *and* girl stats. So Kristen Bell Waifu will be in the Coffee Shop on a Saturday afternoon but not at Night, for instance.
4) A way so the game knows that if you do a particular action then a certain amount of time will pass (so for example selecting "work a shift" at your job means that i goes from morning to evening for example, spending 2 "time units").
5) A "shop" interface of some kind, even if incredibly basic, that allows you to, I dunno, buy a bunch of flowers for $1 and *gain* it in your inventory and *lose* $1 in the process.
6) A way to upgrade the player stats through using items that can be bought and/or picked up in the environment.
7) Saying that, a way to have an item be in an environment, so you can click on it and have it appear in your inventory after some kind of announcement pop-up. Again I think this involves clickable areas and .png files rather like with the Map Screen... and you somehow make the item invisible after it has been selected once... so you can't get it again... or something.
That's pretty much all of it. I figure if I'm going to be surrounded by coders who learned this stuff from Dwarven mystics through ancient rites in mountain citadels and beaten to death for my ignorance, I might as well go all-out and ask everything. My hope is that one of two things will happen, either someone will link me directly to an incredibly straight-forward step-by-step that I've missed, in which case fantastic because that person will win feeling the distant sound of my absolute full-body cringe at having been so stupid as to have missed it (and i still get to understand the coding process i want) OR it turns out that i'm asking something that requires mental muscles to be flexed in which case you can feel the satisfaction of teaching a n00b.
...or I get perma-banned for asking too many questions... hmm...
Your move, Lemma Soft Forums...
- Eileen-Class Veteran
- Posts: 1336
- Joined: Sat Feb 25, 2012 8:45 pm
- Completed: Yeshua, Jesus Life, Cops&Robbers
- Projects: Fear&Love, unknown
- Organization: Pilgrim Creations
- Github: xavi-mat
- itch: xavimat
- Location: Italy
A man can only answer one: Learn screen language:
Sorry but your post is basically asking "How to make a game?" Please split it in small questions and we'll be glad to help you.
You are right that the documentation is very cryptic for beginners (well, that's not true for the quickstart: https://www.renpy.org/doc/html/quickstart.html ), but we can't help when you say "I don't understand", we need to know what exactly do you don't understand, and we'll be able to explain it in a more detailed way, or link to a more detailed explanation.
A man should look at the documentation, and actually write code from the examples to see what the code does. A man can then modify the code to build up an understanding of what different components of the code do. Overtime a man will gain an understanding of how to read the documentation and use it as a dictionary of resources, as he gets accustomed to the explanations and make sense of it - just like another man named kivik when he started out.
As a man builds up understanding of what different parts of Renpy do, he develops ideas of how to achieve different things, like if this is a button and a button does this then this is how a minimap button can be created. Or this is an imagemap and imagemap does this when I experimented with it, then surely this will make a map.
Some aspects of programming a man has to learn himself or gain directions from others, such as the passage of time. A variable call time_of_day_index that goes from 0-3 and rolls back to 0 using the % operator, used in conjunction with a python list with ["Morning", "Afternoon", "Evening", "Night"] can achieve it, but a man may need more experience with python before tackling something like this, or inventory, or quest log etc.
Luckily a man can visit the cookbook section of the forums to find code examples for most of the above, but a man may struggle to put them together without gaining some programming experience first.
So again, maybe a man should start small, with a simpler game - and build himself up to more complex games once he's nailed the fundamental aspects of game development, and not start out trying to build all the features of complex games into his own immediately.
The greek written by robots is python jargon.
Go download python docs and read "An informal introduction to python".
Care to learn about lists, types, conditionals, dicts and for cycles.
That give you the proper syntax knowledge.
MIND THAT very basic renpy don't need python, but when you go beyond a very basic branched storytelling.
20 GOTO 10
Hmm. OK, fair enough. I'll get cracking on the reading material and learning muh Python in a more step-by-step process. Like you've said, i'm trying to run before I can crawl.
Thanks for the advice guys. ^_^
- Eileen-Class Veteran
- Posts: 1906
- Joined: Mon Dec 14, 2015 5:05 am
- Location: Your monitor
Sometimes people will point you to a function or feature, others may go further and explain in greater detail and some of the really nice people will make a bit of code for you, so you may understand it as you go.
Good luck, and remember we're always here to help if you can't quite understand something.
I myself, struggled somewhat, when first starting out, but with the help of some patient and friendly forum members, I was up and working things out faster than a speeding tortoise.
My biggest issues now, are understanding what to use, to achieve my goals, rather than understanding how to use various features
pro·gram·mer (noun) An organism capable of converting caffeine into code.