Ren'Py for Android: The Question Test

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 16093
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 for Android: The Question Test

#1 Post by PyTom »

arlogo.jpg
arlogo.jpg (22.39 KiB) Viewed 8228 times
After quite a bit of work, I'm happy to announce the first public demonstration of Android Ren'Py. This release consists of a test of "The Question", the small game that comes bundled with Ren'Py.

I'm looking for people who are willing to test this release on their devices. You can do this by scanning the QR code below, or clicking this link to download the file.

Image

If this doesn't work, it might be because your device is not set to allow non-market installs. You can fix this by going to Settings > Applications, and then checking "Unknown Sources."

Android Ren'Py requires Android 2.0 (Eclair) or later to work. It also requires hardware OpenGL support to run at an acceptable speed. It requires 16 MB free on the internal storage device.

The key bindings are:
- Touch the screen - Advance the game and make selections.
- Menu - Display the in-game menu.
- Back - Roll back.

There is one known issue, which is that the flash on some Android devices is very slow. This can cause unpredicted image loads to take a long time. This manifests on my device when going to the in-game menu for the first time - loading the background image takes so long, the transition doesn't have time to occur. I plan to attempt to address this at the Ren'Py level. (As opposed to doing something Android-specific.)

Other than that, please post about any issues or comments you might have.

This is the first of at least three releases of Android Ren'Py that I'll be making before it becomes fully operational.

1. The Question Test - The current release, with "The Question" baked in. I'm hoping this release will give me some feedback as to how well Ren'Py works on actual devices.

2. Developer Preview - This will include support for reading games off the SD card, so that developers will be able to begin testing with Android/Ren'Py.

3. Ren'Py Launcher for Android - This will come out a few weeks after 6.12 does. It will add support for choosing between multiple projects found on the SD card. Once this is out, Ren'Py for Android should be considered production-ready.

Right now, the touch-based menus are a bit of a hack. (There's no preferences screen, for example - although most of the preferences screen is no longer necessary.) They'll be fixed at some point.

I'd like to thank everyone who contributed to "The Question", since this is kinda like a release of that game. I'd also like to thank Doomfest for contributing the Ren'Py for Android logo featured above. Finally, I'd like to thank android-sdl team, without whom this would have been way harder.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

Re: Ren'Py for Android: The Question Test

#2 Post by PyTom »

I've updated the package file to version 1.1. The code was incorrectly looking for 4 texture units, which is what the desktop version requires - the Android version can get away with 1.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Cato
Newbie
Posts: 14
Joined: Thu Jul 17, 2008 5:59 am
Contact:

Re: Ren'Py for Android: The Question Test

#3 Post by Cato »

Hi!

Unfortunately, the game does not start on my LG Optimus One (android 2.2). The loading screen appears, but that's about it.

I get the following output at the debug cosole:

Code: Select all

I/ActivityManager( 1350): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.renpy.thequestion/.MainActivity }
W/Flex    ( 1439): getString FLEX_OPERATOR_CODE OPEN
I/ActivityManager( 1350): Start proc org.renpy.thequestion for activity org.renpy.thequestion/.MainActivity: pid=13240 uid=10096 gids={1015}
I/WindowManager( 1350): Setting rotation to 1, animFlags=1
I/ActivityManager( 1350): Config changed: { scale=1.0 imsi=262/3 loc=de_DE touch=3 keys=1/1/2 nav=1/1 orien=2 layout=18 uiMode=17 seq=145}
D/PhoneApp( 1435): updateProximitySensorMode: state = IDLE
D/PhoneApp( 1435): updateProximitySensorMode: lock already released.
D/[brighthy_log]( 1435): [BRIGHTHY] Enter ACTION_CONFIGURATION_CHANGED
D/hs      ( 1694): service onStart : service has started
I/python  (13240): Trying to load libpython2.6.so
I/ActivityManager( 1350): Displayed activity org.renpy.thequestion/.MainActivity: 278 ms (total 6894 ms)
W/IInputConnectionWrapper( 1439): showStatusIcon on inactive InputConnection
I/libSDL  (13240): Physical screen resolution is 480x320
E/wifi    ( 1350): [android_net_wifi_getRssiHelper] rssi -36
W/Flex    ( 1350): getString FLEX_COUNTRY_CODE COM
W/Flex    ( 1350): getString FLEX_OPERATOR_CODE OPEN
D/StatusBarPolicy( 1350): [BRIGHTHY] curNetwork=26203 curHPLMN=26203
I/python  (13240): Using files directory: /data/data/org.renpy.thequestion/files
I/python  (13240): Private directory is /data/data/org.renpy.thequestion/files
I/python  (13240): Handing off to main.
I/python  (13240): /data/data/org.renpy.thequestion/files/renpy/display/pgrender.py:25: RuntimeWarning: import cdrom: No module named cdrom
I/python  (13240): (ImportError: No module named cdrom)
I/python  (13240): Traceback (most recent call last):
I/python  (13240):   File "start.pyx", line 42, in init start (/home/tom/ab/tq-android/android-sdl/jni/../jni/application/src//start.c:1109)
I/python  (13240):   File "/data/data/org.renpy.thequestion/files/main.py", line 157, in main
I/python  (13240):     renpy.bootstrap.bootstrap(renpy_base)
I/python  (13240):   File "/home/tom/ab/renpy-1000/renpy/bootstrap.py", line 235, in bootstrap
I/python  (13240):   File "../renpy/__init__.py", line 97, in import_all
I/python  (13240):   File "gldraw.pyx", line 38, in init renpy.display.gldraw (gldraw.c:15740)
I/python  (13240): ImportError: Cannot load library: alloc_info[271]:  1279 too many libraries when loading glenviron.so
I/ActivityManager( 1350): Process org.renpy.thequestion (pid 13240) has died.
I/WindowManager( 1350): WIN DEATH: Window{452c4220 org.renpy.thequestion/org.renpy.thequestion.MainActivity paused=false}
I/WindowManager( 1350): WIN DEATH: Window{45387600 SurfaceView paused=false}
D/StatusBarPolicy( 1350): [BRIGHTHY] curNetwork=26203 curHPLMN=26203
I/ActivityManager( 1350): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.renpy.thequestion/.MainActivity }
W/Flex    ( 1439): getString FLEX_OPERATOR_CODE OPEN

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

Re: Ren'Py for Android: The Question Test

#4 Post by PyTom »

You're the second person to report the shared library problem, which doesn't happen on my device. I need to figure out a solution for it.

(On the plus side, Ren'Py does seem to work on the Galaxy Tab.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

umemi
Newbie
Posts: 17
Joined: Sat Aug 16, 2008 4:56 pm
Contact:

Re: Ren'Py for Android: The Question Test

#5 Post by umemi »

Downloaded the application from the QR code and installed it, but the application will not run fully. The loading screen shows, sometimes a bit off center, but the application closes before anything else appears. Vid of problem in action. Running on an HTC Evo.

Also, I'm excited for this, PyTom. Completely stoked. Awesome effort so far! :D

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

Re: Ren'Py for Android: The Question Test

#6 Post by PyTom »

I think I have a fix for the shutdown problem. I have it working on my trunk right now, but it's getting a bit late, so I won't make a new release of the demo until tomorrow.

umemi - Thanks for making the video. I think I get the problem, although it's a little hard to understand since everything is mirrored around.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

Re: Ren'Py for Android: The Question Test

#7 Post by PyTom »

I've uploaded version 1.2 (3) to the same location. This should fix shutdowns caused by shared libraries, and also shutdowns caused by hardware lacking clipping planes. There was something of a fix to the loading screen, but I'm getting feedback that there may still be problems with the loading screen.

Feedback, and especially pictures of the loading screen on systems with problems, would be appreciated.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Cato
Newbie
Posts: 14
Joined: Thu Jul 17, 2008 5:59 am
Contact:

Re: Ren'Py for Android: The Question Test

#8 Post by Cato »

Hi!

Yes, now it starts correctly, great work! :-)

At one point, I got the following error message, however I could not reproduce it a second time:

Code: Select all

D/StatusBarPolicy( 1350): [BRIGHTHY] curNetwork=26203 curHPLMN=26203
D/PhoneWindow(17230): couldn't save which view has focus because the focused view org.renpy.thequestion.SDLSurfaceView@44e73cf8 has no id.
I/ActivityManager( 1350): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.lge.launcher/.Launcher }
E/wifi    ( 1350): [android_net_wifi_getRssiHelper] rssi -52
I/python  (17230):   File "/home/tom/ab/renpy-1000/renpy/bootstrap.py", line 254, in bootstrap
I/python  (17230):   File "/home/tom/ab/renpy-dev/renpy/main.py", line 310, in main
I/python  (17230):   File "/home/tom/ab/renpy-dev/renpy/main.py", line 93, in run
I/python  (17230):   File "/home/tom/ab/renpy-1000/renpy/execution.py", line 259, in run
I/python  (17230):   File "/home/tom/ab/renpy-1000/renpy/ast.py", line 347, in execute
I/python  (17230):   File "/home/tom/ab/renpy-1000/renpy/exports.py", line 569, in say
I/python  (17230):   File "/home/tom/ab/renpy-1000/renpy/character.py", line 679, in __call__
I/python  (17230):   File "/home/tom/ab/renpy-1000/renpy/character.py", line 634, in do_display
I/python  (17230):   File "/home/tom/ab/renpy-1000/renpy/character.py", line 450, in display_say
I/python  (17230):   File "/home/tom/ab/renpy-1000/renpy/ui.py", line 216, in interact
I/python  (17230):   File "/home/tom/ab/renpy-dev/renpy/display/core.py", line 1590, in interact
I/python  (17230):   File "/home/tom/ab/renpy-dev/renpy/display/core.py", line 1937, in interact_core
I/python  (17230):   File "/home/tom/ab/renpy-dev/renpy/display/core.py", line 1667, in android_check_suspend
I/python  (17230):   File "/home/tom/ab/renpy-dev/renpy/loadsave.py", line 167, in save
I/python  (17230):   File "/home/tom/ab/renpy-dev/renpy/display/core.py", line 1360, in get_screenshot
I/python  (17230): TypeError: take_screenshot() takes at least 2 arguments (1 given)
I/python  (17230): While running game code:
I/python  (17230):  - script at line 30 of /home/tom/ab/tq-android/the_question/game/script.rpy
W/ActivityManager( 1350): Activity pause timeout for HistoryRecord{45298818 org.renpy.thequestion/.MainActivity}

glamsam8
Newbie
Posts: 18
Joined: Thu Aug 05, 2010 1:49 am
Contact:

Re: Ren'Py for Android: The Question Test

#9 Post by glamsam8 »

Yes! So excited :)
This works perfectly on evo 4g,
Start up was also pretty fast

mikael120
Newbie
Posts: 2
Joined: Sun Dec 05, 2010 9:29 pm
Contact:

Re: Ren'Py for Android: The Question Test

#10 Post by mikael120 »

on the HTC Hero it loads and works but after a little while it just crashes.

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

Re: Ren'Py for Android: The Question Test

#11 Post by PyTom »

mikael120, is there any chance you can use adb logcat to get a dump of what's going wrong?
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

mikael120
Newbie
Posts: 2
Joined: Sun Dec 05, 2010 9:29 pm
Contact:

Re: Ren'Py for Android: The Question Test

#12 Post by mikael120 »

PyTom wrote:mikael120, is there any chance you can use adb logcat to get a dump of what's going wrong?
yes I can, however I doubt it will help you much:

Code: Select all

I/ActivityManager(  124): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10100000 pkg=org.renpy.thequestion cmp=org.renpy.thequestion/.MainActivity }
I/ActivityManager(  124): Start proc org.renpy.thequestion for activity org.renpy.thequestion/.MainActivity: pid=8338 uid=10094 gids={1015}
W/InputManagerService(  124): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@44199b78
I/WindowManager(  124): Setting rotation to 1, animFlags=1
I/ActivityManager(  124): Config changed: { scale=1.0 imsi=242/2 loc=en_US touch=3 keys=1/1/2 nav=3/1 orien=2 layout=18 uiMode=17 seq=64}
I/ActivityManager(  124): No longer want com.android.settings (pid 8187): hidden #16
D/ConnectivityService(  124): getMobileDataEnabled returning true
I/ActivityManager(  124): Process com.achmyr.android.froyo (pid 8152) has died.
I/ActivityManager(  124): Process com.google.android.apps.listen (pid 8097) has died.
I/ActivityManager(  124): Process com.google.android.apps.uploader (pid 8207) has died.
I/ActivityManager(  124): Process com.theonion.onn (pid 8133) has died.
I/ActivityManager(  124): Process org.koxx.forecast_weather.v2 (pid 8105) has died.
I/ActivityManager(  124): Process android.process.acore (pid 7784) has died.
I/ActivityManager(  124): Process com.android.vending (pid 8007) has died.
I/ActivityManager(  124): Process com.keramidas.TitaniumBackup (pid 8244) has died.
W/PackageManager(  124): Couldn't clear application caches
I/DeviceStorageMonitorService(  124): Running low on memory. Sending notification
I/ActivityManager(  124): Start proc com.imdb.mobile for broadcast com.imdb.mobile/.StorageIntentReceiver: pid=8366 uid=10089 gids={3003}
I/ActivityManager(  124): Process com.google.android.googlequicksearchbox (pid 7979) has died.
I/DropBoxManagerService(  124): Usage (4) > Quota (0)
I/ActivityManager(  124): Start proc android.process.acore for content provider com.android.providers.contacts/.ContactsProvider2: pid=8375 uid=10001 gids={1015, 3003}
D/WifiService(  124): acquireWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=android.os.Binder@440c2e38}
D/WifiService(  124): releaseWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=android.os.Binder@440c2e38}
I/ActivityManager(  124): Process com.alphonso.pulse (pid 8275) has died.
I/ActivityManager(  124): Process com.imdb.mobile (pid 8366) has died.
I/ActivityManager(  124): Process com.cooliris.media (pid 8120) has died.
I/ActivityManager(  124): Process org.jtb.alogcat (pid 8228) has died.
I/WindowManager(  124): WIN DEATH: Window{442f85e0 org.jtb.alogcat/org.jtb.alogcat.LogActivity paused=false}
I/ActivityManager(  124): Process com.huffingtonpost.android (pid 8283) has died.
I/ActivityManager(  124): Process com.google.android.voicesearch (pid 7899) has died.
I/ActivityManager(  124): Process android.process.media (pid 8195) has died.
I/ActivityManager(  124): Process android.process.acore (pid 8375) has died.
I/ActivityManager(  124): Low Memory: No more background processes.
D/WifiService(  124): ACTION_BATTERY_CHANGED pluggedType: 2
I/ActivityManager(  124): Start proc com.google.android.apps.listen for content provider com.google.android.apps.listen/.ListenProvider: pid=8387 uid=10118 gids={1015, 3003}
I/ActivityManager(  124): Process com.google.android.apps.listen (pid 8387) has died.
I/ActivityManager(  124): Low Memory: No more background processes.
I/ActivityManager(  124): Process android.process.acore (pid 7754) has died.
I/WindowManager(  124): WIN DEATH: Window{440aafb8 com.fede.launcher/com.fede.launcher.Launcher paused=false}
I/ActivityManager(  124): Low Memory: No more background processes.
I/ActivityManager(  124): Process com.google.process.gapps (pid 7747) has died.
W/ActivityManager(  124): Scheduling restart of crashed service com.google.android.gsf/.gtalkservice.service.GTalkService in 5000ms
I/ActivityManager(  124): Low Memory: No more background processes.
I/ActivityManager(  124): Process com.google.android.apps.listen:remote (pid 7816) has died.
W/ActivityManager(  124): Scheduling restart of crashed service com.google.android.apps.listen/.ListenService in 11312ms
I/ActivityManager(  124): Low Memory: No more background processes.
I/ActivityManager(  124): Start proc com.google.process.gapps for service com.google.android.gsf/.gtalkservice.service.GTalkService: pid=8396 uid=10044 gids={3003, 2001, 1007}
I/ActivityManager(  124): Process de.stohelit.audiobookplayer (pid 8146) has died.
W/ActivityManager(  124): Scheduling restart of crashed service de.stohelit.audiobookplayer/.playback.PlaybackService in 18617ms
I/ActivityManager(  124): Low Memory: No more background processes.
I/ActivityManager(  124): Process de.stohelit.folderplayer (pid 8140) has died.
W/ActivityManager(  124): Scheduling restart of crashed service de.stohelit.folderplayer/.playback.PlaybackService in 27283ms
I/ActivityManager(  124): Low Memory: No more background processes.
I/ActivityManager(  124): Process cmupdaterapp.service.UpdateCheckService (pid 7856) has died.
W/ActivityManager(  124): Scheduling restart of crashed service cmupdaterapp.ui/cmupdaterapp.service.UpdateCheckService in 36774ms
I/ActivityManager(  124): Low Memory: No more background processes.
I/ActivityManager(  124): Process com.android.inputmethod.latin (pid 7769) has died.
I/WindowManager(  124): WIN DEATH: Window{442c70e0 InputMethod paused=false}
W/ActivityManager(  124): Scheduling restart of crashed service com.android.inputmethod.latin/.LatinIME in 41452ms
I/ActivityManager(  124): Low Memory: No more background processes.
I/ActivityManager(  124): Start proc com.google.android.apps.listen:remote for service com.google.android.apps.listen/.ListenService: pid=8404 uid=10118 gids={1015, 3003}
I/ActivityManager(  124): Process com.google.process.gapps (pid 8396) has died.
W/ActivityManager(  124): Scheduling restart of crashed service com.google.android.gsf/.gtalkservice.service.GTalkService in 48195ms
I/ActivityManager(  124): Low Memory: No more background processes.
I/ActivityManager(  124): Start proc com.google.android.apps.listen for content provider com.google.android.apps.listen/.ListenProvider: pid=8414 uid=10118 gids={1015, 3003}
I/WindowManager(  124): WIN DEATH: Window{4428c270 org.renpy.thequestion/org.renpy.thequestion.MainActivity paused=false}
I/ActivityManager(  124): Start proc de.stohelit.audiobookplayer for service de.stohelit.audiobookplayer/.playback.PlaybackService: pid=8422 uid=10099 gids={1015, 3003}
I/WindowManager(  124): WIN DEATH: Window{442d0e88 SurfaceView paused=false}
W/WindowManager(  124): No window to dispatch pointer action 0
W/WindowManager(  124): No window to dispatch pointer action 1
I/ActivityManager(  124): Process org.renpy.thequestion (pid 8338) has died.
I'm not exactly an expert in android development, but something tells me that the reason it crashes is because the app uses up to much memory. The HTC Hero has a total of 256MB, and only about 90mb of that is usable by the running apps.

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py for Android: The Question Test

#13 Post by jack_norton »

Probably you saw this already: http://developer.android.com/reference/ ... ivity.html
it would have been a big change for you I suppose? I mean, easier to port?
follow me on Image Image Image
computer games

User avatar
PyTom
Ren'Py Creator
Posts: 16093
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:

Re: Ren'Py for Android: The Question Test

#14 Post by PyTom »

Hm... I would have made some things easier. But at the same time, if it's just coming out now, that means it won't be in the majority of android phones for another two years or so. So it's probably better that this was announced today, once major programming has been done, rather than a month ago... when I would have been raging about not being able to use this. :-)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Ren'Py for Android: The Question Test

#15 Post by jack_norton »

Cool then :D when I saw it, I immediately thought about you and another friend who just finished porting his lib to android! :)
follow me on Image Image Image
computer games

Post Reply

Who is online

Users browsing this forum: No registered users