[...] I see many cool supplements like Inventory, interactive maps, time passing options, etc. and it seems to me these modules have nothing to do with the basics of Ren'py.
It's very rarely external "modules" and very much to do with the basics of RenPy... it just requires a little more semi-advanced knowledge than purely "basic".
Everything you've talked about already can be done in RenPy without anything except a little extra programming knowledge.
Interactive maps are just a
You must be registered to see the links
function. Usually
You must be registered to see the links
using the
You must be registered to see the links
parameter these days, though older games still use
You must be registered to see the links
.
Time passing is a difficult one for me to guess at.
If you're talking about day/night cycle of keeping track of the time of day - be it the actual time or simply "morning, afternoon, evening and night"... then generally those are just
simple variables. Either a variable to store the
hour itself (hour=8 or hour=17 for example) or a variable that equates to the period within the day (0=morning, 1=afternoon, etc). Beyond that, some games will use another variable to keep a count of the number of days the protagonist has been active in-game or go further an implement a proper calendar. Each solution is different, but at the heart of it is just simple variables presented in different ways.
Or you could mean time passing as almost a QTE (Quick Time Event), where sometime happens on screen and the player has a limited amount of time to react. Generally this would be another
screen:
function, this time a
You must be registered to see the links
. Which of course is only one possible use. Use of
timer:
is pretty rare and a timer used in an inventive way is rarer still.
Inventories are a little more complicated, since they require a bit more knowledge about how data can be stored in python. Rather the simple variables (strings, numbers, boolean flags), inventories can usually be stored in arrays (that python calls
You must be registered to see the links
). Lists can be a
You must be registered to see the links
. Beyond that, it depends on how complicated you want your inventory system to be. A very simple inventory could just be a list of items you are holding(stored as strings), with items just added or removed from the list as needed. You can make it more complicated by having a separate array of items, then use that list (items) or update the other list (inventory). Then you get into inventories that have an item count and you're probably going to need to consider using
You must be registered to see the links
to store the data.
... which is the underlying data. You are probably going to want to show your inventory to the player... and that is just more
screen:
coding. Probably with grids, imagebuttons and other elements.
My point is that all of these things work natively within RenPy. You could probably make the case that inventories are more python than they are RenPy... but RenPy
IS python and implementing inventories doesn't require any specialized knowledge that isn't used by RenPy already.
Links to previous topics covering some of these:
Inventory
Date/Time
Interactive Maps
Random example of Lists being used
Finally...
Whilst the
You must be registered to see the links
is factually correct and complete, it doesn't really aid a new RenPy programmer very much. Too many solutions are about how something is implemented rather than the actual structure of the language. For example, using
focus_mask True
in combination with
imagebutton:
isn't exactly an obvious solution for creating interactive maps... but yet, that is how they are best done. That said, the Quickstart section of
You must be registered to see the links
section is well worth a read.
Ultimately though, you just have to get your hands dirty. Try to write something... make mistakes and try again. Sometimes that also means recognizing that some features (like inventory systems) are probably too complicated for your level of knowledge right now... write a game, learn the basics... then write the more complicated game as a second game perhaps?
One other solution is to see how other people have done things. There is a lot of crap code out there, written by people copy-pasting solutions that were copy-pasted by someone else who barely knew what they were doing. But when you're just starting out... that's pretty much all you've got.
Here's a post I wrote a while ago explaining how RenPy code is stored within a released game and how to unpack it...
https://f95zone.to/threads/any-way-...e-for-educational-purposes.43156/post-2846032