Welcome to the sponsor-exclusive content for the Ren'Py Patreon. Sponsors like you ensure this page exists. Thank you.

_images/vnroom-1.jpg

Animefest 2018 Visual Novel Reading Room link

Animefest is an anime convention that takes place in Dallas every August. Perhaps due to the concentration of visual novel developers that live in the area, it has a high amount of visual novel-related content. I’ve gone a few times already, in 2013, 2014, and 2016, so when Ayu from Sakevisual told me she was working with the con to organize a visual novel reading room, I was happy to be a part of it.

We had a wide range of games from developers around the world, though all of them had some sort of local connection - at least one of the creators came from the Dallas area. You can see each visual novel we had there on this page. I’m proud to say all of them were made with Ren’Py, which is also going to be important for the rest of this story.

The con gave us a room to ourselves, the executive boardroom. It was a bit off the beaten path of the con proper, to the point where attendees had to pass through the hotel’s buffet restaurant to get to us. That wasn’t a bad thing, though, as we were away from the business of the main part of the convention, and some promotion, signage, and the offer of free snacks was enough to get people to sit down.

For Friday, the first day of the con, we simply set up our laptops, running a single game on each one. While we were fairly busy, that did lead to some disappointment for readers, as we had a few examples where a guest wanted to play a certain game, but the laptop with that game on it was taken by someone else.

Toward the end of that day, we came up with the idea that it would be nice to have every game on every laptop. I volunteered to put together a launcher based on the Ren’Py Launcher, so we could put every game on every machine we had. After we closed the reading room on Friday, I went up to my hotel room - and promptly passed out. It had been a long couple of days, after all.

Thankfully, my exhaustion was temporary, and over the course of Friday night and Saturday morning, I was able to throw together a project I call the VNRoom Launcher. By 10:20 in the morning on Saturday it had started working reasonably well, which was good, since 10:30 was the time we had to start setting the room back up.

The VNRoom Launcher link

_images/vnroom-4.jpg

What the VNRoom launcher does is allow the player to select from a list of visual novels, showing a screenshot and background from each one. When the player clicks on a game, it drops out of fullscreen, shows a launching animation, and then waits for the game to quit. Once the game quits, the launcher comes back to allow the player to select another game.

The VNRoom launcher shows how you can distribute multiple games together with a single copy of Ren’Py. Its major limitation is that it can launch only Ren’Py games, and it will launch all of the games with the same version of Ren’Py. (But it will respect script_version.txt, which controls compatibility between versions of Ren’Py.) While it’s suitable for use in visual novel reading rooms, it might also be usable for other purposes. One use that was suggested to me would be to launch multiple games that are distributed in a collection, but don’t share anything in common.

If you’d like to try it, you can download the VNRoom source code from:

https://patreon.renpy.org/_static/vnroom.zip

Unzipping this will create a directory named game. You can move that into an unzipped version of the Ren’Py sdk, at the same level as renpy.app, renpy.exe, and renpy.sh. Once the game directory provided exists there, Ren’Py will prefer it to the launcher, and running the appropriate script will start VNRoom.

Since most of the games we demoed are commercial, I haven’t included them. To add them, place them at the same level as renpy.exe and the new game directory. Here’s a directory listing with the vnroom launcher and the games added to it.

_images/vnroom-2.png

Customizing the VNRoom Launcher link

It’s pretty unlikely you’ll want to use the same games as we had in the Animefest 2018 Visual Novel Reading Room. So, you’ll probably want to customize the VNRoom launcher. This is done by editing the script.rpy file. At the top of it, you’ll see a screen named launcher, which has a series of buttons of the form:

textbutton "Backstage Pass":
    action Launch("backstagepass-1i-pc")
    hovered ShowBackground("backstagepass.png")
    tooltip "Lights, camera, romance!"

textbutton "Corona Borealis":
    action Launch("Corona Borealis")
    hovered ShowBackground("Corona Borealis.png")
    tooltip "Just a summer job, or will it turn into something more?"

Each of these corresponds to a visual novel to launch. The button itself controls the name that’s displayed in the launcher. The most important, and only truly required property, is action. The Launch action determines the name of the directory containing the game that is launched when the button is clicked.

A useful property (and one that I think makes the VNRoom launcher look really nice) is the hover property. This runs ShowButton action when the mouse hovers over a button, changing the background. The backgrounds live in the game directory containing VNRoom itself, and should be 1920 by 1080, though the image will be scaled as required.

The tooltip property is optional. If present, it takes text that is shown at the bottom of the screen when the button is hovered.

These buttons are the basics of the VNRoom launcher. It’s basically just a Ren’Py project, so all the customization of screens and styles that you’d do to other games apply to it. You may also want to look at the launch label in the script, which could be reused to launch Ren’Py games in other projects.

The Rest of the Story link

_images/vnroom-3.jpg

“The Stick”. We only had the one.

Once the VNRoom launcher was given, it took about an hour to get it installed on everyone’s laptop. That’s partially simply because all the games together lead to a very large zip file - over 2 gigabytes. That takes a long time to copy over USB 2, so if I was doing this again I would have brought a USB 3 flash drive.

The visual novel reading room stayed full all day Saturday and Sunday, even after the con gave us a trio of laptops that had been used for registration to add to the ones we brought. It was completely dead on Monday, but that’s likely because it was a work day, a half day, and the fourth day of the con.

I think the visual novel reading room was a great success, and I’m happy to have been a part of it. I’d like to thank Ayu for organizing it, Animefest for having us, and everyone who helped run it and provided the games for us to show off.

If you have the opportunity to do this at your own con, I’d recommend it. While arranging the space and the availability of computers can prove difficult, there’s something wonderfully motivating about being in the same room as players and other creators.

Thanks for your support!