I got a notice about a new game from @NuSan and went to check it out when I see another game for Steam and for the Switch! I tried to dig a little and read about Zepto8??? Found the repo for it but not exactly sure what to do with it, the docs don't say much? Not so smart in that area, I guess...or it's not really meant to be used yet, lol
Bottomline, it looks like they have ported their PICO8 game over to Steam and even the Switch, which is really cool and something I'd love to try but not sure how/where to start. Zepto8 sounds like a thing that does that...maybe...?
I assume there will be some "extra" work to do to the PICO8 code to hook to the SDKs that the consoles require or something like that...BUT...I'm hoping it's not a total rewrite type of thing. If the answer is to just rewrite my game in another language then I might as well just start there, which I'm not too interested in doing at this point.
Zepto8 repo: https://github.com/samhocevar/zepto8
NuSan's ported game to Switch: https://www.nintendo.com/us/store/products/zebulon-a-lost-cat-switch/
If anyone's gone down that road or can point to a how-to or something, I'd appreciate any insight. I put my games up on Itch right now and that's good but making it easier for folks to find/play the game through Steam or even a console would be awesome.
Zepto 8 is an emulator for Pico-8's cartridge, so the goal is to directly play them without having to change your game's code
Of course, as Pico-8's code is not public, it's remade from scratch by us and so there will always be some unexpected differences and Pico-8's most recent features are not supported yet, but the more we work on it, the best it becomes!
With Zebulon, and our newly announced project PicoMix https://store.steampowered.com/app/3276220/PicoMix_by_NuSan/ we wanted to release some Pico-8 games on Steam and on Switch, so we worked on Zepto 8 a lot to improve it until it could play our games just about perfectly
Now to officially release a game on Switch, you need a company and to get validated by Nintendo, then to get some devkit and to go through Nintendo's testing, so that's not easy
Also, Nintendo's SDK and code is absolutely under NDA, so we cannot distribute it publicly, unfortunately
That's why the public state of Zepto 8 on github is a bit lagging, the emulator part is pretty up-to-date with what we are using, but the rendering part is not because it contain too much of Nintendo's SDK code. We need to clean all of that to make it available to everyone, but it takes times
We added some new features too, like shader filters, Steam's achievements and Steam input's support, and even a "wide" display mode on some games (this do require some slight changes to the game's code)
Right now, you can compile Zepto 8 on PC using Visual Studio by getting the code on github, and you can test your cartridges to see if they work well or not. But for other platforms, it's a bit too early I think
If you want to do some homebrew, there is another emulator, Fake-08 that is, I think, less advanced that ours, but that have instructions for lots of homebrew platforms, including the Switch so you might want to take a look
https://github.com/jtothebell/fake-08
Also I forgot to mention it, but you can totally put Pico-8 games on Steam already with the official version of Pico 8, there are already a good quantity of them, just export a Windows build like on itch.io, but the integration to Steam is minimal (no achievements or Steam's overlay)
So, firstly I'll just point out that uploading your game to steam doesn't require anything special to make it compatible. If you just want a game made in pico-8 to be playable through steam, all you need to do is export to each platform, then follow the instructions on steam's partner portion of the website to point steam's tools to your game and the information it needs. Beyond that it's just a matter of filling in some online forms for your game.
The only part that would need a port is steam integration, though there might be a way to handle that separately so that the steam executable runs pico-8 as a second process. Basically, steam has a c++ library and c interface for adding its own functions to games, which most commercial engines then have a wrapper around so that you can use those functions in the engine's chosen language.
Regarding zepto8, I took a look at the repo, and it appears to be expecting you to use either autotools on linux or microsoft visual studio on windows. If you have autotools, you need to point it at the file "configure.ac". If you have visual studio, you can point it at the file "zepto8.sln". From there I would recommend the next step be to build zepto8 as is and see if it's still compatible with your games. If so, then you can read up on how to attach steam's libraries (assuming you've paid the 1-time fee to put games on steam).
Lastly, about consoles. The first step to getting a game on a console is to look on the manufacturer's website for a game developer section so you can find out what their requirements are for games to be approved. Typically it's only after your game is approved that you then get access to the development kit, which will likely be in c or c++. From there you just find whatever documentation it includes and find the part where it tells you what to do.
Edit: the one time I forget to check if someone responded while I was typing, lol. Well, that makes half my comment unnecessary.
Hi,
I am adding a little word on what NuSan said earlier in the thread.
Zepto-8 works good for us as we are currently improving our Pico8 games ports and we try to get the code updated as we go. However, Zepto8 uses Kinc as a base for stuff like rendering and input management. We also developped modules for Kinc that allows us to integrate platform specific behaviors (such as steam SDK, Switch capabilities ...) that are not available in the official Kinc repo.
We still need to cleanup a lot of things before making a pull request to the main Kinc branch.
As this is developed in house for our game releases purpose (and there's only 3 of us) the focus is set on our releases but it's a part of the plan to give users access to the new implementations.
We are also thinking about partnerships with creators so we can publish others creators game compilations in the near future.
Concerning Fake-08, i second NuSan on that, it works out of the box as it is not using Kinc integration things that can get tedious if you go into details.
Thanks for all the insight. I'm exploring options and seeing what's worth it in the grand scheme of things. Given there's a good upfront $$$ cost for what I'm seeing, I'm not sure my games really qualify yet, lol.
But the partnership publishing @Jnat mentioned sounds like a neat possibility. I'll keep an ear out.
hi @morningtoast
The upfront cost is 100$ on Steam for each but is virtually zero on Switch when you already have the devkits
[Please log in to post a comment]