No major coding experience required: Gaming and more with Ren'Py

No readers like this yet.
Characters from a video game

Opensource.com

Ren'Py, created by Tom Rothamel (@renpytom on Twitter), is an a open source tool for developing visual novels. Visual novels are the computer game equivalent of a "Choose Your Own Adventure" novel. Writing a basic game script is super simple and adding in game/programming logic (using variables, if statements, jumping to a different section of the script, etc.) is not very hard.

Writing a Ren'Py script is only a little more difficult than writing English. It is more like writing a theatrical play with stage directions than writing computer code. Though, if you want to make something more advanced, Ren'Py is built in/on Python, so Ren'Py can do just about anything Python can do.

Here is an example of a very basic game script:

label start:

"It is pitch black. You are likely to be eaten by a grue."

"Adventurer" "Who said that!?"

"Grue" "I did, I'm your friendly neighborhood grue."

"Adventurer" "It's not very 'friendly' to eat people."

"Grue" "I'm nice enough to warn you first, ain't I?"

"Adventurer" "Oh bother, I wish I had brought my lantern..."

This example doesn't have any real interaction, and doesn't have any graphics, but it is a complete and valid Ren'Py script. A real game would set up backgrounds and character images, define characters (so that it isn't necessary to type out the character's full name every time they speak), and, most likely, actually have the user interact with the game, instead of just reading.

Ren'Py is cross-platform, and the SDK and games can run on Windows, Mac, and Linux (x86 & x86_64). Though, unfortunately, game makers don't always release versions of their game for all three operating systems. There is also a build tool, rapt (Ren'Py Android Packaging Tool), to build Ren'Py games for Android. Rapt needs to be downloaded separately, if you want to use it. The SDK has built in support for the Editra and jEdit text editors, and you can download either one automatically if you select it on the Ren'Py SDK's preference screen. You can also set it to use your system defined text editor if you would prefer to use a different editor to write Ren'Py scripts.

If you can write, you can use Ren'Py, no major coding experience is needed. Granted, you'll make a prettier product if you happen to have some artistic skills, but it isn't a deal breaker if you aren't a GIMP guru. Ren'Py's documentation is very good, so there no significant barrier to entry on that front. If you want to bring in a fancier feature based on programming logic, the documentation shows how to do that without being overly technical. Plus, you can learn by reading the scripts of other people's games (though some games, especially the commercial ones, place their scripts into an archive making it harder to read them, but not impossible). You don't need to be an IT wizard to use Ren'Py, you just need creativity. And if you need more help, you can always ask in the Lemma Soft Forums, Ren'Py's official forums.

Currently, there are over 500 games developed using Ren'Py. They vary in length, age appropriateness, and, admittedly, quality. However, with 500 examples to choose from, there is certainly something there that could provide that spark of imagination for you to create something yourself. Some of the best examples of what Ren'py is capable of are the commercial (non-free) games, like Loren The Amazon Princess (a fantasy RPG) and Planet Stronghold (a sci-fi RPG), both from Winter Wolves, and Matches and Matrimony (a Jane Austen inspired relationship game) by Reflexive Entertainment. Demo/trial versions of all three games are available to download; though many of the free games are excellent as well.

Creating with Ren'Py isn't limited to games. It could just as easily be used to write presentations, learning objects, or virtual tours. If, for example, a library wanted to create a virtual tour featuring a cartoon version of the library's mascot showing children around and teaching them how to use the library, Ren'Py is an excellent tool for accomplishing that task. All it would take is a selection of digital photograph of the library, at least one image of the library's mascot (more if they want to some animation), and a script. If the library wanted, they could even write a quiz for the children to take at the end of the tour. One excellent example of someone already using Ren'Py in a novel manner is Teachings of the Buddha, which is a presentation of sixteen Buddhist sutras. With the technological barriers to entry so low with Ren'Py, the only real limit is your imagination. Download the SDK and create!

I think it would be great to have Tux the Penguin explain open source to people using Ren'Py to create the presentation. Any takers?

Tags

6 Comments

Great post Joshua, thanks for sharing. At first I thought this was 'just another' gaming platform. But I quickly came to another conclusion while following some of the links to renpy.org. As you state at the end of your post, Ren'Py could be used at schools, libraries, museums and more. Mix presentation with gaming elements.

Thanks, Robin. Yes, Ren'Py can be used for much more than just games. Honestly, I've never actually used to make a <em>game</em>, but I have used to do some basic Information Architecture/User Experience storyboards and a few other things.

Obviously, to make something with Ren'Py you need graphics, so a school teacher could easily include a mini-lesson on fair use and Creative Commons and then have students search for graphics that are acceptable to use in a project. And believe me, CC licensed materials are very helpful for the artistically challenged, such as myself. (A certain Prominent North American Enterprise Linux Vendor is looking for a Information Architect with story-boarding experience and my lack of artistic skills are reason #1 why the job is in my "very interesting, but probably not for me" pile.) I've used the grab CC material or take photos with a digital camera methods of getting graphics for Ren'Py on multiple occasions.

Oh my gosh, this is so awesome! I had no idea this even existed. This makes me want to hole up with my computer for a long weekend and create my very own visual novel. I am bookmarking this post for sure, and when winter settles in, and the days get shorter, I'm going to dig into this and see what I can do. Thanks for teaching me about this, Joshua!

You are most welcome. I look forward to seeing what you create with Ren'Py. I'm sure it'll be much better than my own, not shared with the internet at large (for good reason), "Badly Drawn Stick Man's IA/UX Adventures." ;-)

I've been using Ren'Py for about a year an a half, and I'm really enjoying it. I think it has a lot of potential as a teaching tool, and am currently working on an educational title with it myself.

I want to add that the forum linked in the original topic is a wonderful resource. I've found the community there to be very helpful, and despite the large number of people, they are very welcoming to new people of any skill level.

My daughter, a college freshman, has been using Ren'Py for two years. She found out about it while studying Japanese language in high school. She's used it to create history projects, japanese culture presentations, as well as games.

The documentation is excellent. I'm hoping even more people find out what a fabulous educational tool Ren'Py is.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.