Any Open Renpy Games I can learn from?

Fuku95

Newbie
Jul 27, 2023
52
23
I've played Ren'py games here and there. Since I'm interested in game development, does anyone know of any Renpy games that have their files open so I can learn from them? Having numerous ones with different play styles will help me out. Almost all the games I come across frome Renpy are encrypted.

So far I only came across one that wasn't. Summer with Brina. However I need more to learn from.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,374
15,287
Just a warning, learning from other games also imply that you'll possibly learn stupid things. There's (alas) still a lot of developer who have no idea about what they are doing, and write ugly broken code.

This mean that you should focus on learning the logic behind the mechanism you want to use, more than on learning the code to implement that logic.
 

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,583
2,220
General rule of thumb:

Avoid learning from any game that starts with something that looks like:

Python:
init:
    $ myvariable1 = 0
    $ myvariable2 = 0
    $ myvariable3 = 0
    $ myvariable4 = 0
    $ li1_love = 0
    $ li1_hate = 0
    $ li1_corruption = 0
    $ li2_love = 0
    $ li2_hate = 0
    $ li2_corruption = 0
    $ li3_love = 0
    $ li3_hate = 0
    $ li3_corruption = 0

-or-

Python:
init python:
    myvariable1 = 0
    myvariable2 = 0
    myvariable3 = 0
    myvariable4 = 0
    li1_love = 0
    li1_hate = 0
    li1_corruption = 0
    li2_love = 0
    li2_hate = 0
    li2_corruption = 0
    li3_love = 0
    li3_hate = 0
    li3_corruption = 0

Look for games that would code it like:

Python:
default myvariable1 = 0
default myvariable2 = 0
default myvariable3 = 0
default myvariable4 = 0
default li1_love = 0
default li1_hate = 0
default li1_corruption = 0
default li2_love = 0
default li2_hate = 0
default li2_corruption = 0
default li3_love = 0
default li3_hate = 0
default li3_corruption = 0

It's a tiny thing, but to my mind it is a good way of spotting games written by those developers who just copy/paste code from some other game without really understanding WHY things are coded like they are.

As I understand it, default was added as a solution to developers who didn't really understand when variables would and wouldn't be included in the save files. Developers would "fix" something in an earlier release and break their entire game. It's one of the reasons why you'd see "This version is not compatible with saves from version x.y and older".

This thing is, by that point - there were a lot of big title games already out there, using the "old" style of coding variables. And because those games were successful (although not very well written in some cases), people would "borrow" code from them or at least try to use them to understand what they should be doing. It was the blind leading the blind.

Anyway, whilst default doesn't guarantee a well written or structured game, it does at least show someone understood one of the basics of writing RenPy code.