That was a requirement, for me, to have splore working as it is intended to, the problem is, there is no internet connexion, and I can't use my phone tethering as it wasn't in a location where I can use it.
The problem is, we can use splore for exploring folder, but you will have all the other part to be not working because, of course, no internet access.
After some quick test while using PICO-8, I finally found how it get data from lexaloffle servers, at least I found something, but there were missing informations.
The way ZEP have made that is in fact quite clever, as he used something similar as the way we save carts, all the data are transferred in the form of pictures, when PICO-8 request a new cart set from the BBS it receive a PNG file. The clever part is, it's not done the same way, but data about the cart is also stored in the picture in a similar way as it is done on the cart, it took me a couple of minute to figure how it is working.
As all my Pi (I manage to get 4 of them running during the convention) were to be connecter on the same network + a pocket chip on wifi, I took some standard network hub & wifi ap for that, nothing really fancy, but the tricky part was to make sure that everyone speak the same thing and especially that any device can connect without the need to spend hours in network configuration, especially because PICO-8 use hardcoded values to search for lexaloffle servers, so I had to trick it for that.
After some time spent on searching for a solution, I was going to use all the big tools for DNS/DHCP because haven't found a proper and simple tool, it was just when I read about dnsmasq which was the exact tool I needed for the job.
dnsmasq is a simple tool that provide:
- DNS cache and server
all of that using simple text file for the configuration (for those who have to install and configure a Bind server, you know how easy is it to configure this beast! :D)
So the next step was to install this tool on the Raspberry Pi that was to be used as the main server, and copy configure it to at least give proper name to my device that I was going to connect so I was able to remote connect on them without any hassle.
The last step was to make the offline BBS itself, it took me a couple of hour to have something that was looking like it's working, but hand't a PICO-8 to test, so I had to wait a little bit, and it worked on the first try.. :D
Where I was really impressed is my search is way more faster than the one the official BBS, but as my search is only done on cart name, I suppose that the official one, is going that on the full content of the BBS, including posts, that may explain the slight different in generating the answer.
My offline server also honour the "Featured" category, but with a really different algorithm. My server know how many times a cart has been requested by a PICO-8 and will use that metric for the featured list. Maybe not the best, but as there is no real BBS with the favorite star button, I can't use that.. ;-)
The other part of my offline BBS was to make a tool to dump the BBS, there are already some tools that you can find, but they way they get the cart is a bit clumsy and it does not work well, the one I've made was using my knowledge on how the BBS is working and use the same mechanism as what PICO use to get data from the BBS.
As a proof it is working here is a dump, in form of an HTML page, of the dump I've made just before the convention that has been used during the weekend:
In the end, that was probably not really needed as one of the game that run the most was Hug Arena, and the astonishing Alone in Pico.
But while crawling in the existing carts, i've also discovered some really nice demos like Cartoon Cat Karaoke
So for the moment I will not publicly publish the source for the Offline BBS, at least not without ZEP consent, the use of this tool need to make a dump of the BSS content (or it will be empty) and if dozen of people start to dump the cart list, the Lexaloffle server will suffer from that.
So I will consider giving the sources for people that ask me with a reasonable project like making a PICO-8 stand or any situation where it is justified, but will the requirement to not publish it.
If you have any question, don't hesitate :)
You "splore" games while online; exit splore, and at the command screen, save the .p8 files locally. Now they'll still show up in the local file browser part of "splore," whether you're online or not.
Favoriting can apply to those too, so you can bookmark your favorites there as well! :D
And you have to do that on all the device that will run PICO, if you have 2 that's still feasible but for 4 or 5 it's a no go.
And doing that you only have access to the cart you have run, it does not download them by default you have to run them.
Quite a tedious process in fact..
[Please log in to post a comment]