XaiJu
Renpytom

Renpytom

patreon


Renpytom posts

Adding Google Analytics to Your Visual Novel

Traditionally, a visual novel is released, and that's it. Unless a player gives a review, there's little feedback as to what happens after that. The creator might be interested in knowing how many players play the game, how many make it through the game, and how many make it to an ending, but it's been difficult to get feedback on these topics.

This month's article will show you how to add Google Analytics ...

View Post

Ren'Py 7.1.1 Released

I'm happy to announce Ren'Py 7.1.1. This is a bug release for Ren'Py 7.1, which improves the new android support and fixes a number of other issues.

Some of the more important bugfixes include:

  • A change to the History screen to fix problems with [[ in dialogue. (This requires you to change screens.rpy, see the changelog for details.)
  • The Android SDK uses a sufficient amount of memory on low-memory computers.
  • A problem with creating non-adaptive Android icons has b...

    View Post

Android Adaptive Icons in Ren’Py 7.1

Recent versions of Android (Android 8 and later) have changed the way that icons work, and the newest versions of Ren'Py have changed with it, to allow you to give your games proper Android icons. In this month's article, I explain how Android icons now work, give an example of an icon, and provide a template you can use to create your own.


View Post

Ren'Py 7.1 Released

I'm happy to announce Ren'Py 7.1.0. This release fixes issues with Ren'Py 7.0.0, and also includes a few new features:

  • Android support has been rewritten to use the modern gradle-based build system. This allows Android apps created using Ren'Py to be posted in the Google Play store again. This also improves them in other ways, like making the app smaller by splitting out support for different platforms.
  • There is a new "monologue mode", which allows you to use triple-quoted s...

    View Post

Visual Novel Reading Room (and Launcher)

This month's article is about the Visual Novel Reading Room I was lucky enough to be a part of at Animefest 2018 in Dallas, Texas. It covers some of the issues we had with it, and introduces the VNRoom Launcher, I put together to allow multiple Ren'Py games to run on one computer. 

This new launcher is useful for showing off Ren'Py games at cons and other events, and might also be useful for distributing multipl...

View Post

Python Tricks #1

Since right now I'm working on porting Ren'Py to the latest versions of Android, this month's article is a couple of small Python snippets that I've come up with in support of projects lately. Since these have the potential to simplify your projects, I thought I'd write them up and post them. I hope you find some of these examples useful, and thank you for your support.


View Post

Save on Quit

I was asked the other day how to make a Ren'Py game that saves on quit, and then automatically loads the save when the game restarts. Since it's a good question, I decided to write an article on it; when I realized the article would be full of hacks, I made a few changes to Ren'Py to make it better. You can find the new best answer in this month's article.

That's what I love about writing these articles, by the...

View Post

Ren'Py 7 Released

I'm happy to announce the release of Ren'Py 7, the result of over a decade of development since Ren'Py 6 was released. Compared to that release, Ren'Py 7 adds many features uses have long since come to consider core parts of the engine, such as ATL, Screen Language, OpenGL acceleration, support for the Android and iOS platforms, Translations, Accessibility, and so much more.

Thanks to everyone who created with Ren'Py during the Ren'Py 6 series, when Ren'Py and visual novels went from a tiny ni...

View Post

Selecting Images to Show

May's article, on how Ren'Py selects images to show, has been posted. Now that layered images are a thing (at least in the prereleases), I'd expect more complex combinations of image attributes to become a bit more popular. This article shows how you can omit some of the attributes, to make your script shorter and clearer as to what has changed.

So, what's up with the cat? He's Mickey, a neighborhood cat th...

View Post

Layered Image Conversion

Perhaps the biggest new feature of Ren'Py 7 is the new layered image system, which lets you build a sprite up from multiple layered of images, as you might export from a pain program. This is something many of you have been doing already, so this month's article is on how to convert a sprite defined using LiveComposite and ConditionSwitch to layered images.

As usual, this article requires the latest ...

View Post

Where the magic happens.

Over the past few weeks I've updated the desk in my office, where I work on Ren'Py and everything else I do. Since my generous Patreon supporters helped to provide this, I thought I'd give everyone a tour. I apologize if the image is a bit shaky - I had to use my camera's panorama mode to take it.

Around the desk are the four computers I use to develop Ren'Py.

• Eileen, the Linux workstation I use most of the time, is under the left-hand part of the desk.
• So's Mary, my M...

View Post

Ren'Py 6.99.14.3 Released

I've released Ren'Py 6.99.14.3, which fixes a few regressions introduced in 6.99.14.2, most notably one in screens that could cause problems by failing to propagate data through screen updates. (This could cause transforms to repeat, as well as other strange problems. It only manifested for displayables directly or indirectly inside for loops.)

It also fixes several other issues, and makes the AlphaMask displayable more useful.

Please see the 2018-04-06 03:45:40 +0000 UTC View Post

Automatic Speech Bubbles

This month's article once again comes from a request I had from a user on the Ren'Py discord, which was to have a text box that looked like a speech bubble, with a tail that pointed to the character that was speaking while they were on screen. It required adding a new feature, as that came out with 6.99.14.2, you can try it out now.

Even if yo...

View Post

Ren'Py 6.99.14.2 Released

I've released Ren'Py 6.99.14.2, a release that adds support for the Atom text editor to Ren'Py. Atom is a modern and approachable editor with support for a number of features, like code folding.

To try Atom, please go to the Ren'Py preferences, and select Atom as your text editor. The normal Ren'Py text editing features will then use Atom. Further customization can be done inside Atom itself, including switching between dark and light themes.

This release also includes a few new features...

View Post

Avoiding Framerate Glitches Caused By Image Prediction

This month’s article talks about framerate glitches in Ren’Py - what they are, what causes them, and most importantly, some ways in which you can make sure your players don’t see them. It focuses on image prediction, describes how image prediction works, why it might fail, and how you can help Ren’Py improve its predictions.

I'll admit, it's a bit long, and a bit of a mouthful of a title. But if ...

View Post

Ren'Py 6.99.14.1 Released

I've released Ren'Py 6.99.14.1, a release focused on improving Ren'Py performance (both perceived and actual) by improving image prediction. This is done in a number of ways, such as reducing unnecessary locking, reducing memory usage by reducing duplication and only storing non-transparent portions of the image in memory, increasing the amount of memory used for by the image cache, and more.

This release returns the framerate behavior to that in 6.99.13 and earlier, where Ren'Py will slow dow...

View Post

Title Screens

A while ago, I had a question about the best way to display title screens in a game. This is something that has changed over the life of Ren’Py, so I thought I’d provide an answer on what I think the current best practice should be. That's this month's article, available now.

Thank you again for sponsoring Ren'Py, and for being part of helping me provide Ren'Py for free to the world's creators.


<...

View Post

Ren'Py 6.99.14 Released

So, remember how 6.99.13 was supposed to be the last release before Ren'Py 7? Well, a funny thing happened - after a very productive month or two, we have Ren'Py 6.99.14 with many improvements.

As an important note, the first time you open a game in 6.99.14, it will open much slower as Ren'Py compiles all the Python expressions it encounters. The game will open faster the second and later times it is run, and will run faster once it is open.

Some of the improvements are:

  • The ...

    View Post

Multiple Dialogue Block Cookbook

A long-awaited feature that’s been added back into Ren’Py 6.99.14 is the ability to show multiple blocks of dialogue to the player at the same time. This feature was present in early versions of Ren’Py, but had to be removed to make way for the screen system. The new Say with Arguments syntax made it possible to re-add it, so it’s now back in Ren’Py.

Multiple dialogue blocks can’t work with Ren’Py right out of the box. This is because there are multiple ways of displaying two blo...

View Post

Merry Christmas

One of the nice things about having so many generous people sponsoring Ren'Py is that I get to commission artwork for the postcard every month from artists in the visual novel community. This postcard went out to sponsors in November, but today seems to be the right day to share it with the world.

What's in the box? Perhaps it's Ren'Py 6.99.14, now available as a prerelease from renpy.org!

Happy Holidays and Merry Christmas, e...

View Post

News From Your Website - Now in Ren'Py

How will you let the players of your game know about your next project? The one you haven't thought of yet?

Or when your game is updated, how will you let them know they should click the update button?

This month's article shows how to use some of the new features being added to Ren'Py 6.99.13.1 to solve these problems, by letting you include a screen in your game with text and an image that can be updated by upl...

View Post

Picking a winner

It's been awhile since I updated the Patreon, since I've been busy with 6.99.13's release. But now that Ren'Py is in a really good place, I've had time to write a new article for my sponsors. It's based on the second of the original two topics I suggested back in May, and describes a way to use Python to pick the winner of a game with multiple endings.

It's a bit more Python-focused that some of the previou...

View Post

Ren'Py 6.99.13 Released & Thank You

I'm happy to announce Ren'Py 6.99.13, the last in a series of releases that will culminate in Ren'Py 7. This release improves Ren'Py for creators of all experience levels. Some of the highlights of this release are:

  • The two games that are bundled with Ren'Py have both been remade. Both are now in the 16:9 aspect ratio and use modern Ren'Py programming techniques. The Tutorial has been rethought, and is now stru...

    View Post

Right-side Menus

How does this picture differ from the normal Ren'Py preferences screen? If you're very observant (or you guessed based on the title), you noticed that the navigation is on the right side of the screen. In our next article, I go through the set of changes that were required to move the menu from left to right.

As always, thanks to the sponsors that make all these articles possible. While some of these art...

View Post

Wiki-Like Glossary or Codex

Our next article is up! For the past week or so, I've been working on improving the support for hyperlinks in Ren'Py. It's gone from something that was really only useful for linking to external websites to something that games can use internally. (Or at least it will be once 6.99.13 is released. The last section is so new, you'll have to wait until tomorrow to get it in the nightly!) The new article covers how to use th...

View Post

Shuffling Choice Menus

Our next tutorial is up! This one is based on a question I was asked on Twitter, about how to make in-game menu choices appear in a random order. The answer takes us into writing a custom menu function, giving a bit more insight into how things work internally in Ren'Py.

Feel free to let me know if you have an idea for a tutorial topic. While I have a few ideas already, it's always nice to answer questions...

View Post

Character Customization Article and Update

The next article is available for you to read. This one is an extended version of the Character Object section of the new Ren'Py tutorial. By breaking it out of the tutorial, we're able to add more background information and go into a lot more detail. This version has coverage of many of the most important style properties associated with Characters, which should help you get a leg up on making dialogu...

View Post

July Postcard

While I work to finish up the new version of the Ren'Py tutorial, I thought I'd post a preview of the postcard we're going to send out to July's $10+ sponsors. The second card's art was done by Geckos, artist and coder for Brilliant Shadows. I've always thought of programming as a kind of magic, since it feels like in both cases you're using your mind to make something out of nothing. So this month's card tries to capture ...

View Post

Raspberry Ren'Py

Just wanted to share a quick screenshot of Ren'Py running on a Raspberry Pi. I took a couple days off from working on Ren'Py 7 to port Ren'Py to the Raspberry Pi 3. While it's not perfect yet, it's working, and even takes advantage of the Raspberry Pi's onboard video acceleration.

I'm not sure where this is going, exactly. The Raspberry Pi is quite limited compared to other hardware that runs Ren'Py - you will need to think about it when you're designing your game, to make sure it works well o...

View Post

The Mid-June Update

Just a quick mid-month update. The renpy.org website has been update with the list of sponsors, and the postcards are being printed and mailed out. 

On the Ren'Py side of things, I've been largely working on the tutorial game. That's a mix of coming up with tons of examples (260 right now), and while I'm in there, fixing a lot of little quality-of-life issues. I'd rather have Ren'Py be easier to use than have the tutorial expla...

View Post