winnitron / WinnitronLauncher

The official Winnitron launcher! The meat and potatoes of the Winnitron.
winnitron.com
MIT License
34 stars 7 forks source link

PICO8 Support! #45

Closed mrmwiebe closed 7 years ago

mrmwiebe commented 7 years ago

Okay, this is something i've been thinking about for a while because there's tons of great PICO8 games that are very arcadey. I would love to be able to launch individual PICO8 games fullscreen, but it's a bit tricky because right now exported PICO8 games export as .html files and you cannot tell HTML5 apps to go fullscreen without user interaction as it's a security thing.

So, I'm thinking it can be done in one of two ways:

Anyways, just putting this here for now but if there's anyone with any other ideas lemme know!

Ludonaut commented 7 years ago

Ha! I love this!

One of our professors actually approached me about this exact feature at the party last week. :tada:

If it helps, a quick search on the bbs turned up this guide on how to generate desktop builds of pico-8 games (via Electron).

I think it's a great idea, and if set up to just load plain pico-8 .html files like you suggested could save devs a lot of work and us 'tron builders a ton of build size and traffic (way less duplication, not every small pico-8 game needs to ship their own nw.js/Electron).

Re: The fullscreen thing: I'm not 100% sure but I think nw.js/Electron don't have the "no fullscreen without user interaction" restriction, so there's probably no need to use their kiosk modes.

aaronklaassen commented 7 years ago

@mrmwiebe @Ludonaut Ha awesome. My first thought was "I bet we could build an app using electron or something..."

mrmwiebe commented 7 years ago

Well, i have something very bare bones running with NWJS, but looking into Electron. I'm guessing/hoping they are very similar.

aaronklaassen commented 7 years ago

@mrmwiebe I was just speculating. You're already way farther along that me.

Ludonaut commented 7 years ago

Worth investigating: Maybe it's easier to just launch cartridges through pico-8 itself, like this notepad++ setup does.

Though that would require either a working install of pico-8 on the arcade machine or bundling pico-8 with the launcher (licensing issues probably).

mrmwiebe commented 7 years ago

I'm 95% sure I can get it to work with a NWJS/Electron app, and possibly even without native fullscreen, it just kiosk modes and then uses CSS and a custom HTML file to make it fullscreen. I'm hoping this means just having one executable and distributing it with the launcher which runs all the PICO-8 games without the builders having to purchase PICO-8. Fingers crossed!

mrmwiebe commented 7 years ago

HELL YEAH. PICO8 Support incoming. :D