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 :)
I wasn't originaly planning making this cart. For a presentation about PICO-8 (that didn't happen in the end) I wanted to have a cart that was running in background while the audience was entering the room and waiting for the talk to start.
I really like the Hello World cart from ZEP and its music and selected this one, as a nice Hello World is good way to great people.
As I was boring trying to find things to say and what to show on stage, I started to play adding things to the original hello world cart, and playing with it playing with it, it ended in something that could be use for more than just a playfield, so I didn't stop adding thing to it and added what is the most essential to a demo/invitintro: a scroller.
So yes this cart is based on the Hello World cart and music, I hope ZEP will not take my pico-8 licence because of that.. ;)
And the block text effect is also from the invitintro for the second jam, there is a small change, but the base is that,
The moving logo use nearly the same code as the starfield.
I do like the final result, it's a simple but nice looking graphical art ;)
Edit: Run it on PICO-8 for the best result, on the HTML version it seem to be a bit slower on some effect than on the real thing
(This demo look really nice on a Pi attached to a CRT!!)
So as I said in my previous blog entry, I'm making a Pico-8 stand for (retro) conventions, and the most important thing to do for such an event is something that make you visible, and nothing is better than a flashy logo for that.
As my stand is about Pico-8, the logo has to be Pico-8's!
I've resume working on the logo today on the electronic side and mais small PCBs to support the LEDs that will be used to illuminate the logo:
These PCB are incredibly small: 6*9 mm, yes they are really really small :)
They are intended to fit into one of the sandwitch layer of the full logo, that's why they are so tiny.
I've just ordered them so I should not get them before about 2 weeks, I hope less but it's unlikely.
As soon as they are there and mounted I will show you the result on the logo :)
Next update will be about the Raspberry Pi light Pico-8 OS :)
Long time ago I had a project of the demake of a specific game on retro hardware (this project is not dead yet, I just lack time to work on it)
And a few days ago, I crossed some data for that project and my brain told me
- Why not see if it's possible with Pico-8?
My answer was quite simple:
- Challenge accepted!
It's not a game perse, but I'm currently more advanced than on the original project, there is no cartridge for now, as the code is a mess and it's basically just testing some of my original ideas, I have a lot of things to do before I could say "it's a playable game" right now I've just tested the level generation, so nothing really fancy for now.
So, I present you the first moving picture of PPPPPPPP:
(the starfield come from the same effect in the tweetjam, I used it to test the transparency)
As I already says in a topic in the Pico8 forum, I'm going to make a Pico-8 stand for a French retro-gaming convention during Fall (at least this one, but I hope to be able to deploy my stand in more locations!)
My goal with this stand is to allow people to discover Pico-8 and I will also run a simple jam for the interested people.
The stand will be made from Raspberry Pi (I have a few of them) connected to CRT monitors (or whatever is available) potentially two CHIP as soon as there is the update that include Pico-8 also connected on CRT or other screen, depending on the availability (hopefully the people that organise that even can lend monitors, that's really handy! :D) and my Picade with a rPi3.
Basically all of the Pi/CHIP will be connected together on a private network (I want this stand to be autonomous, because some convention can't provide an internet access, so I want them to be able to run without an internet access.
So on that network, either a computer, or one of the "Pico computer" will also have an offline BBS that will allow splore to work as if it were online.
I've found how the BBS is working and it's not really hard to make it work using DNS spoofing, but I really hope that ZEP will provide at some point a way to have our own offline BBS (at least an option in the config file to change the BBS address for such uses)
The best would also to directly submit a cart from Pico-8 that would be marvellous, but I may ask too much there :)
Anyway, all the Pi (and I will see for the CHIPs) will run a specialised version of Linux that boot directly into Pico-8 and will provide a way to upload cart to the offline BBS, need to check for that.
Anyway, I'm going back to the original goal of this blog entry.
There is something that all good stand need: a stunning logo, and the Pico-8 logo is a really stunning one because it's blocky and colourful! And how to make it even better? make it shine in the dark using LEDs.
I've been working on that for a few weeks now, and I've finally done the mechanical part, as I have access to a laser cutter, I had great fun today with it, and cut what will be the shiniest Pico-8 logo!
The video is not showing the final version of the electronics for the logo, I've just tucked a ws2812b ribbon on the back to check if the light guide was working well and...yeah as you can see, it works really well! The LED are just driven a 50% then are not even at full power, I let you imagine what it would be at full power.. (and there is still the plastic protection in the front, which is opaque :D
The final version will be using the same sort of components, so it's close to what it will be.
So I will use the variant of ws2812b with RGB+warm white, as it makes better white than mixing R+G+B, an ESP8266 using NodeMCU as firmware, and that's all.
The funny part is that I've especially choose the ESP8266 because it's cheap, but mainly because it's a Wifi chip use NodeMCU because it's a Lua interpreter!
You may ask yourself, "but for what Wifi would be needed for just a logo?"
Simple, it allow you to either:
- update the firmware without the need of a cable
- you can change settings while it's running, like for exemple changing the colour pattern, so we can do funny thing one the logo is set!
If Pico-8 start to have some sort of networking features, we can even think about controlling the logo using Pico-8.. Wouldn't that been fun? :D
So yeah the next step for that part of my project will be to build the electronic for it, (which is basically, fitting it inside) but I'm waiting for some components before I can go further, and make the full application that will run on it, right now, it's just a collection of small test to make sure that it was possible to make that :)
And for the logo, I will put the dxf file somewhere (maybe on github) for people that would want to cut their own, and if ZEP allow me, as it's his logo after all, I may be able sell for the price of the material and the time taken to build it if you don't want it as a kit without LEDs it can also be cun in smaller size.
ZEP if you read this do you have any objection about that? (anyway I'm not even sure that anyone would want a Pico-8 logo at home.. :D
Anyway, that's all for that blog post, next time I will put more on the firmware running in the logo or on the electronic part and a "behind the scene" about the internal of it :)
Nothing really serious there, it's basically just some test converting famitracker music to Pico-8, I hope to have a working tool soon :)
Edit after a few release: Ok I also have a good fun doing some stupid thing with it :D
(the conversion in this cart was done by hand, and I though that some people would like to play with it)
15/05/2016: New Turbo version with more Unicorn inside!
15/05/2016 a bit later: Another new version, Super Turbo, with even more Unicorn!
17/05/2015: Super Turbo Alpha Plus: What is new? Some new Unicorn, especially I've added my music debugger as a demo, up will show or hide it, down will change the note display mode. Have fun! (I've also changed a bit the effect/instruments to sounds better)
Version Plus+ Correct a silly mistake in the music debug function (see the other thread)
20/05/2016: All hail to Low Definition! With this version you will enjoy the Low Definition Remix of the original Cart! Bonus, you can swtich between the original resolution and the new shiny LD using UP/Down Keys. Also include more Unicorn with one new track and some stuning visual and sound effects!