Ren'Py First time game creator looking for help with coding!

Tarquinius

Newbie
Jul 11, 2018
33
45
Hey there, thanks for clicking on this thread!
I'm new around here, but have been lurking a bit and trying to get some know-how.

I'm a digital artist with a passion for adult games, especially those of a somewhat sandboxy nature. I've decided to take my first step into actually making such games myself, and I believe I have the time, drive and passion to do so. What I don't currently have is coding knowledge.

I'm serious enough with all of this that I've allready created a great deal of art assets and written down scripts (not of the code-affiliated type) for key scenes. I have a roadmap written down for player progression, and pretty much know where I want this whole thing to end up eventually.
What I'm trying to say is this: I don't come on here asking for someone to do the work for me - I'm very eager to learn the basics of game development to be able to utilize this knowledge myself, and put in the hard work required to develop a small game.

What am I looking to create then? A simple dating sim in renpy. The game needn't have any fancy features or systems beyond that of what you would expect from any basic game of it's kind.
More specifically, I want my game to include the following things:
- A simple town/world-map
- A day/night cycle
- Money
- (prefarably) "quests", some sort of overarching guidelines for the player to proceed.
I realise these things could be hard to implement, especially for someone who is inexperienced with coding, but as I've allready said, I'm willing to put in the hard work if I simply knew where to start.
I would also like to eventually implement stuff like player stats and affinity scores for NPCs, but I figure it's better to not bite off more then I can chew to begin with.

What kind of help am I looking for? I'm a creative person, and I aim to create all the artwork and writing for the game myself - at least that's the plan. Unfortionally, I'm not a very technical person, and have had very little interest in coding in the past. I am therefore looking EITHER for premade guides of any kind to game development in renpy (I've looked around without finding much, and the tutorial that comes with renpy is kinda lackluster for what I want to achieve), OR a patient person who's willing to walk me through the basics and give me pointers with my coding.

I'm not a rich person, just a poor student trying to make ends meet - but I'm very passionate about this and would be willing to offer some kind of small monetary compensation if someone were to walk me through this.

Sorry for the long post! And thank you if you've read through it all!

What are your thoughts? How can I learn these things?
 

Palanto

Active Member
Game Developer
Oct 4, 2017
964
1,841
First of all, read the renpy documentation (Well as the absolute minimum read the full quick guide...)

Then search for specific features you're looking for, like a city map:


Best source for guides and code snippets is the lemmasoft forum. There you can find almost anything, there's also the lemmasoft cookbook, which is kind of a list of stuff you can do with renpy and how to do it.

Please make sure if you find something, check for the date it was written... since some people still read the imagemap stuff even though it's outdated and got replaced by imagebuttons.

And if you decide you want to try your own stuff, well then the next thing would be to learn python
 

Tarquinius

Newbie
Jul 11, 2018
33
45
First of all, read the renpy documentation (Well as the absolute minimum read the full quick guide...)
Well I guess I deserved those snarky let-me-google-that-for-you:s for asking questions with answers that could relatively easily be found from just searching :D
None the less, thank you for replying so quickly and with helpful links! Will read the documentation to see if I can get some better understanding.

I've been trying to learn python these last couple of weeks and I think I have a vague understanding of the basics. Will do some reasearch and check back in here if I encounter any issues that I can't resolve on my own.
 
  • Like
Reactions: Palanto

Palanto

Active Member
Game Developer
Oct 4, 2017
964
1,841
Haha they weren't snarky :D It's just to show that google is one of the most important things for a coder (or any other search engine) ;) Well if you encounter problems or have any other questions feel free to throw them in here ;) I just gave you the basics to work with :) The detailed stuff can be discussed when you've got specific problems to solve and things you can't get to work like you want after you tried to do them :D


p.S.: One of the more important topics in the documentation are the
and the pages. Those are for the graphical stuff like Questlogs, Inventorys and stuff like that :)
 

Tarquinius

Newbie
Jul 11, 2018
33
45
Haha they weren't snarky :D It's just to show that google is one of the most important things for a coder (or any other search engine)
Haha oh well, maybe I just misconstrued that then. Thanks for being so helpful, a very warm welcome to this forum to be sure. Apreciate it.

Thanks for the links, will check it out. Will probably try to incorporate menu screens of different kinds into the game - so those should be very helpful!

Especially the recomendation to the lemmasoft forum has been helpful in these intial stages. Will come back with more concrete/situational questions when I (inevitabily) run into issues with the coding :D
 
  • Like
Reactions: Palanto

Tarquinius

Newbie
Jul 11, 2018
33
45
The detailed stuff can be discussed when you've got specific problems to solve and things you can't get to work like you want after you tried to do them
Got an issue with my menus, and haven't been able to find a fix yet, so here's hoping someone can help me out.
I want four different aproaches to a fightscene, three of them testing flags in order to gadge wether or not the player has sufficiently prepared himself in verious ways. I want one of these three options to only show as a menuitem if the player has prepared in one way but not the other.
My code looks like this:

menu:
"option 1" if fight1smarter:
jump fight1smarter​
"option 2" elif fight1smart and elif not fight1smarter:
jump fight1smart​
"option 3" elif fight1crazy:
jump fight1crazy​
"option 4":
jump fight1dumb​

The second menuitem is causing the issue. Is there a way to test two seperate flags in one menuitem to make it available?
Can I use "and" like that, or is something else the issue?
 
  • Like
Reactions: Palanto

Palanto

Active Member
Game Developer
Oct 4, 2017
964
1,841
Got an issue with my menus, and haven't been able to find a fix yet, so here's hoping someone can help me out.
I want four different aproaches to a fightscene, three of them testing flags in order to gadge wether or not the player has sufficiently prepared himself in verious ways. I want one of these three options to only show as a menuitem if the player has prepared in one way but not the other.
My code looks like this:

menu:
"option 1" if fight1smarter:
jump fight1smarter​
"option 2" elif fight1smart and elif not fight1smarter:
jump fight1smart​
"option 3" elif fight1crazy:
jump fight1crazy​
"option 4":
jump fight1dumb​

The second menuitem is causing the issue. Is there a way to test two seperate flags in one menuitem to make it available?
Can I use "and" like that, or is something else the issue?
Yes, that's not possible like that :) it would go like that:

Code:
menu fight:
    "option 1" if fight1smarter:
        jump fight1smarter

    "option 2" if fight1smart and not fight1smarter:
        jump fight1smart

    "option 3" if fight1crazy:
        jump fight1crazy

    "option 4":
        jump fight1dumb
First, give your menus a name, which makes them a label (if you ever want to jump to this menu again, you can just "jump fight" now ;) )

second, each option is a seperate item, so you can't go through them as if the first starts the if statement and the last is the else :) Each of them has the capability of holding it's own if-elif-else statement.
With a little bit of tweaking you could also make it so that menu items are greyed out if they can't be used instead of invisible :) But that's something for later ;)

Btw. I don't know if you intended it, but if you use a seperate variable for all 3 it should be enough to just check for "if fight1smart" without the "and not fight1smarter" cause that menu will only show if fight1smart is true, which should automatically mean fight1smarter isn't true (but that depends on how you implement those two things and if it's possible to have both on true or not :) )
Also Option 4 will always be displayed, is that correct? :) Even if he prepared like crazy he can still be dumb right? :D
 
  • Like
Reactions: anne O'nymous

Tarquinius

Newbie
Jul 11, 2018
33
45
First, give your menus a name, which makes them a label (if you ever want to jump to this menu again, you can just "jump fight" now ;) )
Oh yeah, it's set as a label in the actual script. Just wrote this up as my actual script has names that don't really make sense and stuff haha :)

Btw. I don't know if you intended it, but if you use a seperate variable for all 3 it should be enough to just check for "if fight1smart" without the "and not fight1smarter" cause that menu will only show if fight1smart is true, which should automatically mean fight1smarter isn't true (but that depends on how you implement those two things and if it's possible to have both on true or not :) )
Yeah, It's possible since the preceding conversation unlocks all three options through a menu that simulates the player conversing with two people (crazy and smarter) and hearing them both out. The third option (smart) comes from not speaking to them but simply laying out a plan. I want the smart option to not be available as the "smarter" character essentially agrees upon the said plan but modifies it for the better. Essentially, the items in the previous menu gives you the option to return to the very same menu and go through more conversations. If that clears up the confusion, or maybe you were refering to something else?

Also Option 4 will always be displayed, is that correct? :) Even if he prepared like crazy he can still be dumb right? :D
Haha yeah. :D I still want the player to be able to make a dumb move with some lasting consequences (unless he save-scums like a jerk D:), without the game explicitly telling him: "this is a bad idea". It's phrased in the game as sort of rash, but not necesarily dumb.

Thanks for the help! That fixed it! :)
 
  • Like
Reactions: Palanto

Palanto

Active Member
Game Developer
Oct 4, 2017
964
1,841
Ah alright :D So in that case "smart" and "smarter" could both be True :D Well, you could also check in the menu "smarter" if he had "smart == True" and at the end of the conversation set it to "False" if you only needed it for this menu :D Buuut, it works like that :) Have fun ;) If there's anything else you're getting problems with, don't hesitate to ask ;)
 

Tarquinius

Newbie
Jul 11, 2018
33
45
Hey, I know I keep saying it - but thanks for being so friendly and helpful. It's really motivating me to learn these things. Have made some good progress and have a functioning town hub with the first quest done + music and stuff.
I think it looks fine :)
showcase.jpg
 
  • Like
Reactions: Palanto

Nottravis

Sci-fi Smutress
Donor
Game Developer
Jun 3, 2017
5,132
27,280
Just popping in to wish you luck. I'm on the same journey as you in many ways, so know it can be a struggle at times. Best of british to you.

Also *looks up*, looks good to me!
 
  • Like
Reactions: Palanto

Palanto

Active Member
Game Developer
Oct 4, 2017
964
1,841
Hey, I know I keep saying it - but thanks for being so friendly and helpful. It's really motivating me to learn these things. Have made some good progress and have a functioning town hub with the first quest done + music and stuff.
I think it looks fine :)
View attachment 124794
You're welcome :) It really does look good :D
 

Tarquinius

Newbie
Jul 11, 2018
33
45
Just popping in to wish you luck. I'm on the same journey as you in many ways, so know it can be a struggle at times. Best of british to you.
Also *looks up*, looks good to me!
Hey, thanks a lot!
Feels great to get some solidarity haha, guess a lor of people struggle somewhat when first attempting to learn gamedevelopment (of whatever humble form it may be)

You're welcome :) It really does look good :D
Thanks!
 
  • Like
Reactions: Palanto

Palanto

Active Member
Game Developer
Oct 4, 2017
964
1,841
Oh yeah, it's set as a label in the actual script. Just wrote this up as my actual script has names that don't really make sense and stuff haha :)
Just read that again X_x why did I miss this? Name your labels so they make sense, it's code after all and it should be as humand readable as possible, who knows, someday you take a break for some weeks and check back on your work and don't even know what was what anymore because you chose crazy names not even you can recognize anymore :D
And like I said, the menu just needs a name after the menu command: menu LabelName, this way you don't need to write:
Code:
label FightMenu:
    menu:
        *fighting menu stuff*
but just:
Code:
menu FightMenu:
    *fighting menu stuff*
and can always jump to it with:
Code:
jump FightMenu
 
  • Like
Reactions: anne O'nymous

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,957
16,191
[...] who knows, someday you take a break for some weeks and check back on your work and don't even know what was what anymore because you chose crazy names not even you can recognize anymore :D
What coder haven't felt this way too many times in his life ?

For OP, what you need is a strong naming convention. Whatever if it's something normalized or something weird, what matter is that you understand it. And the convention must works in both way ; I mean that you must be able to find the name when you search, "the label where this girl do this thing because of that", as well as you must be able to understand that this label mean that, "this girl do this thing because of that".
There's many way to build a naming convention. Some rely on snake_case, where you separate the word by an underscore, like in "this_is_a_label". Other rely on camelCase or PascalCase, where the separation is done with the letter's case, like in "thisIsALabel". Some use full names, like in "thisGirlDoThisBecauseOfThat" ; other use number, like in "thisGirlDoThis2".
Personally I works with a mix of all this. Snake_case to separate the part, camelCase for the part itself, full names for both, and number when I need to split the scene in more than one step. It give something weird like, "thisGirl_doThis_becauseOfThat2". But whatever the weirdness, I understand it fully and that's what is need.
Just past some times trying some variations of this until you found one which feel natural to you, then stick to it. You'll see, after few times, it will make your works way easier. This just because you'll no longer have to loose too much times finding where you can have put "this".
 
  • Like
Reactions: Palanto