Ren'Py Ultralight/GBA

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 15447
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Ren'Py Ultralight/GBA

#1 Post by PyTom » Sun May 07, 2006 3:41 pm

A long term, if low-priority, goal of mine has been to try to increase the number of platforms that Ren'Py games run on. One part of this has been to attempt to get games written in a subset of running on platforms that are too weak to run the full version of Ren'Py. I am calling this "Project Ultralight".

This weekend, I took the first steps in project ultralight, which were to define a bytecode language, write an assembler from text into that bytecode language, and to write a runtime targeting the Game Boy Advance (GBA), along with associated image conversion tools.

As of a few minutes ago, I have created a minimal working runtime. It can play simple VNs. It is still missing many features, such as variable support (Ultralight will only support integer/boolean vars), rollback, load/save, etc. Still, it is enough to run a simple demo consisting of the first part of Moonlight Walks.

It also supports speculative rendering, in which while frame n is being displayed, frame n + 1 is rendered in an offscreen buffer, ready for a quick DMA to the video buffer when the user chooses to advance.

I should note that I am writing this demo directly in Ultralight code, which looks something like:

Code: Select all

LABEL start

DRAW 1
TEXT 0 "Ren'Py Ultralight/GBA 0.1 - Press A to advance."
SHOW
PAUSE

DRAW 2
DRAW 0
TEXT 1 "It was the summer before I started college. I had\nspent the past two years studying, taking tests,\nand applying for admission."
SHOW
PAUSE
One of my next projects, when I get a chance, will be to write a converter from Ren'Py to Ultralight, so that game development for the Ultralight platform becomes practical. While I chose the GBA for the first version of Ultralight due to ease of development, it would be easy to port Ultralight to most systems.

License wise, I'm considering making Ultralight free for non-commercial use, and charging a fee for games sold, if anyone wants to use it commercially.

Still, I think what's working today is interesting enough that I'm posting it here. To play the demo, one needs a GBA emulator... I've been using Visual Boy Advance.

Enjoy.
Attachments
ultralight-gba-demo-0.1.zip
Zip file containing the .gba file that runs in emulators.

BIG OLD DISCLAIMER: I haven't tried this on real hardware. So if you try it on real hardware, and it breaks said hardware, that's not my fault.
(75.89 KiB) Downloaded 156 times
ultralight-gba-demo-0.101.png
ultralight-gba-demo-0.101.png (20.04 KiB) Viewed 4823 times
ultralight-gba-demo-0.102.png
ultralight-gba-demo-0.102.png (18.4 KiB) Viewed 4823 times
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
Quin
Regular
Posts: 117
Joined: Sun Nov 20, 2005 4:29 am
Location: Maine
Contact:

#2 Post by Quin » Sun May 07, 2006 4:27 pm

So is this mostly an exercise in "Let's see if this can be done", or do you intend it for actual use by game developers? And if it's the latter, is it being created specifically for use with emulators, or do you envision games somehow ending up on cartridges for use with actual hardware?

(Actually, it might not require a cartridge. I remember the original Animal Crossing for the GameCube would upload a mini-game to your GBA which would stay in memory, without any cartridge in the system, until you turned the GBA off. But in that case, it would require a GameCube game disc to be made, and I don't imagine that's feasible since I suspect the GameCube uses a non-standard disc size.)

User avatar
PyTom
Ren'Py Creator
Posts: 15447
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#3 Post by PyTom » Sun May 07, 2006 5:26 pm

Hm... My reasons for doing this are varied.

Foremost among them is that I wanted a proof-of-concept that games can be written in a Ren'Py like language, and made to run on small systems, like the GBA, Nintendo DS, PSP, and so on. At least the GBA and DS would have problems running full Ren'Py due to lack of memory. I'd suspect the Ren'Py -> Ultralight translation technology I will make will be able to support Ren'Py games running on things like mobile phones, tivos (over the web), flash plugins, etc. (I'm by no means commiting to actually getting Ren'Py running on any of these platforms, however.)

Right now, I regard ultralight as mostly a curiosity. While games can run on real GBAs with appropriate hardware (liker carts), I don't suspect many people will want to run the games that way.

The next generation handhelds change this somewhat. The NDS is capable of wifi booting. While it's currently not possible to use this to boot unsigned games (except on early-generation NDSes) without special hardware, I suspect that this limitation will be worked around one day, and then people will be able to run games on their handhelds.

I should also point out that a number of VNs have come out for the NDS. (Phoenix Wright is one, IIRC.) If more people want to make VN-style games for handheld platforms, I want to be ready to support them.

Mostly, however, I did this because it's fun. For someone like me, there's something magical about starting with a blank text editor page, and in a few hours, making something out of nothing. It's also fun programming directly on the bare metal. (Ultralight/GBA does things like synchronizing drawing to the vertical blank, something that's hard to do on modern hardware.)

It also gives me something to do while figuring out what to do with Ren'Py classic. While I have a few ideas (error recovery, DynamicDisplayable), by and large it's becoming more difficult to think of features that Ren'Py is missing that are still appropriate for VN engines. It's really new VNs (both free or commercial translations and Ren'Py original games) that motivate new features in Ren'Py. For example, the music changes in 5.5 were motivated by a desire to simplify the complex music system in G!MB.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

#4 Post by monele » Sun May 07, 2006 6:18 pm

Eee! Seeing this on GBA is so cute ^o^

User avatar
Quin
Regular
Posts: 117
Joined: Sun Nov 20, 2005 4:29 am
Location: Maine
Contact:

#5 Post by Quin » Mon May 08, 2006 7:26 pm

Fair enough... and thanks for the insight. I'm certainly not being critical; I just hadn't really thought of the GBA as a suitable platform for anything involving much text. (Isn't the resolution something like 240x160?)

I hadn't made the logical jump from GBA to cell phones or PDA-type devices -- similar situation, different hardware -- and the potential appeal of VN-type games on those devices.

And, yes, there are a few NDS games in the VN and VN-like category. Another game that reminds me of VNs is Lost in Blue; from what I've seen, it focuses on puzzles and resource management, but it has some rather VN-like screens. For that matter, I'm currently playing Tokimeki Memorial on the Game Boy Color... and that's even one step further back in tech.

Best wishes to you in this endeavor. I don't know if I'll be rushing to make a GBA version of my game when I release it... but it's really nifty to consider the possibility!

Ren

#6 Post by Ren » Mon May 08, 2006 7:43 pm

I'm currently playing Lost in Blue:3
Actually, it's more about finding food and building stuff most of the time, it gets vn-ish when you talk to the female character...soooo addicting!

Though, while i was playing it i thought that the drawings i'm doing wouldn't probably look so good, too much soft cell to be resized that much T_T;;

User avatar
lordcloudx
Eileen-Class Veteran
Posts: 1406
Joined: Fri Feb 17, 2006 12:47 pm
Completed: http://rd2k2-games.blogspot.com

#7 Post by lordcloudx » Tue May 09, 2006 12:39 am

hmm... I think it would siginificantly increase the attention that ren'py games are getting if they could be converted and played on the gba.

Weren't there lots of japanese visual novel type games for gba before? Silent Hill etc. (read about it in an old copy of EGM)
How do you make your games? I see. Thank you for the prompt replies, but it is my considered opinion that you're doing it wrong inefficiently because I am a perfushenal professional. Do it my way this way and we can all ascend VN Nirvana together while allowing me to stroke my ego you will improve much faster. Also, please don't forget to thank me for this constructive critique or I will cry and bore you to death respond appropriately with a tl;dr rant discourse of epic adequately lengthy proportions. - Sarcasm Veiled in Euphemism: Secrets of Forum Civility by lordcloudx (Coming soon to an online ebook near you.)

User avatar
mikey
Lemma-Class Veteran
Posts: 3249
Joined: Sat Jan 10, 2004 6:03 am
itch: atpprojects
Contact:

#8 Post by mikey » Tue May 09, 2006 2:51 am

It's certainly a step forward, a technical exercise the way I see it, but yes, it may contribute to even more platforms... it can't be a bad thing.

I'm not convinced it will make our games any more popular though. I'd say the people most likely to play them are PC gamers and other platforms are added bonuses (in simple terms of player numbers - this has nothing to do with the fact that any new player, if just one, is worth the effort). So I don't expect a huge rise in players, but then again, I'm not really in the GB players' community.

Since our games aren't exactly long, maybe compilations would be a good idea? Ren'Py Memorial Collection... :lol:

I agree that new Ren'Py features aren't strictly necessary, unless someone directly request them for a new game - maybe now's a good time to make solid tutorials and a library downloadable code snippets or inspirational/tech demos like Utsukushii Effects to give the flexibility of Ren'Py a bit of practical backing.

User avatar
PyTom
Ren'Py Creator
Posts: 15447
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#9 Post by PyTom » Tue May 09, 2006 9:32 am

Honestly, I don't expect Ultralight/GBA to contribute to any community growth in the near term. It's not like there is a huge community that downloads games, places them onto a quasi-legal linker cart, and then plays them on the GBA.

The DS (with Wifi booting) may change this, but the GBA port was mostly done as a proof of concept over a weekend for my entertainment.

(Oh, and I got rollback and skipping working Sunday night.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

joost@tiouw.com
Newbie
Posts: 9
Joined: Tue May 02, 2006 4:14 pm
Contact:

#10 Post by joost@tiouw.com » Thu May 11, 2006 2:52 pm

Depending on Nintendo, I would seriously look into releasing 1/2 commercial games for GBA/DS if Ren'Py would run on it.

User avatar
PyTom
Ren'Py Creator
Posts: 15447
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#11 Post by PyTom » Thu May 11, 2006 4:01 pm

http://www.warioworld.com/

is Nintendo's developer site, which has some information about what would be necessary to make official games for GBA/DS. One thing to note... official games require a minimum print run of 5000+ units.

If you're actually serious about this (which means actually getting a NDS license), Ultralight will be ported to GBA/NDS. But please note that I'd want a cut of commerical game revenues, on the grounds that if you're making money with Ren'Py, so should I. :-)

Ultralight is planned to be a more-static subset of Ren'Py, with things like string interpolation and many transitions disabled. (I'm still deciding if motion/animation will be supported...)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
rioka
Royal Manga Tutor
Posts: 1255
Joined: Fri Jul 16, 2004 12:21 pm
Completed: Amgine Park, Garden Society: Kykuit, Metropolitan Blues (art)
Location: somewhere in NY
Contact:

#12 Post by rioka » Fri May 12, 2006 10:00 am

With those kinds of publishing costs, maybe it would be better to just wait for more details on Nintendo's Virtual Console. Then all you have to worry about is being approved by Nintendo.

User avatar
Alessio
Miko-Class Veteran
Posts: 573
Joined: Fri May 07, 2004 9:40 am
Projects: GO! Magical Boy (2006), Angelic Orbs (soundtrack), Cyberlin (in progress)
Location: Finland
Contact:

#13 Post by Alessio » Fri May 12, 2006 10:13 am

I doubt there'd even be 5000 people willing to download our VNs for free, let alone if they'd need to buy some cartridge for it... :-)

User avatar
PyTom
Ren'Py Creator
Posts: 15447
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#14 Post by PyTom » Fri May 12, 2006 10:35 am

Actually, if you look at:

http://www.download.com/Dating-Sim/3150 ... ml?tag=dir

you can see that MW, GSK, and Sango all have over 5,000 downloads, while Summer Schoolgirls seems to have over 100,000! (Is that really right?)

MW actually probably has closer to 9,000 downloads, if you add in the mac version and downloads from the official site.

Now, that doesn't say much about how much a GBA game would sell, and I have my doubts. But it does show that many of our games have over 5k people downloading them for free.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
mikey
Lemma-Class Veteran
Posts: 3249
Joined: Sat Jan 10, 2004 6:03 am
itch: atpprojects
Contact:

#15 Post by mikey » Fri May 12, 2006 12:03 pm

PyTom wrote:Now, that doesn't say much about how much a GBA game would sell, and I have my doubts. But it does show that many of our games have over 5k people downloading them for free.
Well, a known site will always bring in people, add the game being free and you should have a popular download...

... unless you call your MW game Moonlight Walks instead of Milf Warrior ^_^... Anyway, we've been over this just for fun in the other thread, wanting to make our own mindless h-game, but it kind of proves the point - a catchy title, naked ladies... and you're there.

The more important figure is *maybe* how much feedback or response the title generates. Most of the players won't write, but every now and then the games will be mentioned on forums etc, so as far as my opinion on this goes, this is something that is maybe even a better indicator - of course having 100 000 downloads kind of speaks for itself...

Post Reply

Who is online

Users browsing this forum: Google [Bot], humanpencil