How can you tell if a game is joiplay compatible?

BOT OVERLORD

Newbie
Jul 4, 2019
66
17
I use joiplay like many other people but it's hard to tell if you can play a game until you download it which is pretty annoying for me on my slow internet. What are some ways you can tell the game is compatible?
 

262177

Well-Known Member
Oct 26, 2017
1,558
1,259
Not a joiplay user myself, but you might want ask kin-kun as the user is going through the gargantuan task of repackaging RPG Maker MV games in order to make them joiplay and Linux-compatible.

You've probably seen the thread, but if not, it's here.
 

kin-kun

Active Member
Modder
Jul 10, 2020
963
2,304
I try to include a JoiPlay package. At the same time I often re-compress the assets so it is better the phone/slow internet anyways.

If I don't include a JoiPlay package it is usually because it won't play nicely. For example Mira or Succubus Farm I've stopped providing those packages.

That said, I was able to alter assets in Town of Passion to avoid the black box issue.
 
  • Like
Reactions: Argonaut zerobrous

taler

Well-Known Member
Oct 5, 2017
1,491
1,138
Are you not talking about renpy? Basically all renpy games are compatible with very few exceptions.
 

262177

Well-Known Member
Oct 26, 2017
1,558
1,259
Mostly curious on what makes it joiplay-compatible (or not) exactly as I'm a complete newbie when it comes to Android but interested in tech details here, and if you can tell that directly from looking at the thread.

Probably not all that easy unless as taler stated we're talking about ren'py games. I don't think ren'py uses a shitload of libs (most of which your game won't even use, hello RMMV/RMMZ) and it seems to be easily portable to Linux and Android.

Also wipe all that crap in locales unless you need it, seriously. The deployments for non-web versions are absolute overkill with swiftshader cache and especially locales for the Game.exe file... when you should only really need en-us. They do compress nicely but that's still a lot of bloat when extracted, and those two folders (again except for one locale as fallback) are completely useless unless I'm mistaken.

I just use the engine here. Fuck all that bloat.
 

kin-kun

Active Member
Modder
Jul 10, 2020
963
2,304
So for RPG Maker MV/MZ JoiPlay is creating a web view and playing through that.

Seems stupidly simple and every game should play correct?

Well no, not exactly. The first issue is the NW.js APIs are actually re-implemented in with Java/c code backing the calls for things like file writes, since NW.js doesn't run on Android natively.

Second, some games (Summer Memories for example) expect a mouse and have controls setup for that. As you move from point A on the screen to point B, the movement calls mouse move hundreds of times allowing the game to track where your mouse is. Using a touch screen, you jump from point to point without those mouse updates, so the game may not play correctly.

Third, there's an issue with image size. WebGL2 defers to the GPU for textures. Most desktop GPUs can handle textures up to 8192x8192 but most Android phones can only handle 4096x4096. If you exceed this limit in either direction, then the image will become a black box. And it isn't a total pixel count, a 1x4097 image will show up as a black box on Android.

Fourth, there are issues with certain plugins and performance. In particular fog overlays seem to slow down rendering to a crawl.

If you look at one of my RGA packages (or the changelog JoiPlay notes) you'll see it really is a zip file with some special extras. In particular there's a config file for JoiPlay and a set of dummy files to prevent Android indexing. I had to reverse engineer things from the export function of JoiPlay to get enough information to start making packages.

Also note, a backup of JoiPlay creates a zip file with a password. I haven't dug into that any further.
 

262177

Well-Known Member
Oct 26, 2017
1,558
1,259
kin-kun Thanks for the detailed explanation!

I'm really not too savvy on NW.js so this helps a lot. Hopefully OP won't be too drowned in the details if they're interested in the deeper aspects as well, but you made it pretty straightforward, so thank you for taking the time to post this. :)
 

Belzeebub$

Dare To Do
Game Developer
May 18, 2020
633
884
Guys, I have a question...- can we play qte - quick time event - in joiplay if yes how. Please help anyone..... Thanks in advance
 

Velsomnia

Well-Known Member
Jul 29, 2017
1,027
787
Qte you would usually program the on screen keyboard for, when you run a game that tiny arrow at bottom center is a pop up keyboard of sorts that can be programmed with the top menu which is the tiny arrow at the top of the screen. And oddly on another thing I have found that some games will run and just mess up sometimes. For instance in Succubus Connect the game runs fine and even the first full screen scene will play with zero lag. However every major gallery scene from that point on will black screen and only show text. Oddest thing I've ever seen.
 
  • Like
Reactions: Komdot

kin-kun

Active Member
Modder
Jul 10, 2020
963
2,304
Qte you would usually program the on screen keyboard for, when you run a game that tiny arrow at bottom center is a pop up keyboard of sorts that can be programmed with the top menu which is the tiny arrow at the top of the screen. And oddly on another thing I have found that some games will run and just mess up sometimes. For instance in Succubus Connect the game runs fine and even the first full screen scene will play with zero lag. However every major gallery scene from that point on will black screen and only show text. Oddest thing I've ever seen.
See above:
Third, there's an issue with image size. WebGL2 defers to the GPU for textures. Most desktop GPUs can handle textures up to 8192x8192 but most Android phones can only handle 4096x4096. If you exceed this limit in either direction, then the image will become a black box. And it isn't a total pixel count, a 1x4097 image will show up as a black box on Android.
If you're seeing black screens instead of images, it is likely that this is the cause.
 

Velsomnia

Well-Known Member
Jul 29, 2017
1,027
787
See above:


If you're seeing black screens instead of images, it is likely that this is the cause.
I figured it was but it's odd that the first scene plays perfectly but not any of the next ones, they should all be exactly the same size and resolution so why doesn't the first scene black screen as well?
 

DavidLi99

New Member
Jun 16, 2019
8
1
Any way to play summertime saga on joiplay? It crashes every time even tho it's a renpy. I want to play it in joiplay because of the mods that windows version provides
 

Meloned

Active Member
Mar 22, 2023
816
396
Hi guys is there a way to play a game like Loli photo? The game.exe of it doesnt seem to work whatever i do, any tips or other apps that i can do to make the game work?