MultiGameHack still applicable? Or one game per blink?

Hi, it’s been awhile since I’ve been active, but I’m hosting a game night soon, and I’d like to get set up so that I can share a few different blinks games easily. I have 12 blinks, and I’m thinking I’ll beta-test your instructions as well, and print out the pdfs for Mortals, Fracture, Berry, and Bomb Brigade (maybe WHAM too :slight_smile:

I’m wondering what the best way to do this is, with the latest code – (also, I’m not really sure how to update my blinks to use the latest code – is it just a matter of updating my AVR directory, and then uploading one game to each different blink?)

I’ve gone forward on the assumption that is correct, and attempted to install the latest Fracture (from games-in-active-development , but I get an error: sin8_C was not declared in this scope. I can’t find a definition for that function anywhere in the blinks-SDK github repo, or in any of the games, so I’m clearly missing something, but I can’t find where it is. I will keep looking / reviewing, but I thought I’d post this here in case someone knows the issue and solution.

Thanks much for any tips,

Hi @eegorebulbous!

Catching you up to speed. Just posted a new Release Candidate here. It includes 12 launch title games, for which we’ll be posting the rest of the PDF instructions on the Kickstarter update (seems like it should be a thread here as well, so we’ll put links on the forum as well).

You’ve got it! replace your Arduino/hardware/Blinks-SDK/avr folder with the latest release candidate (note: the folder will need to be renamed avr. Additional note: “Blinks-SDK” can be anything, but I find this to be a clear name for the parent folder.

Placing a single game on each Blink and labeling it with the game it knows is what we’ve done with all of our dev-kit Blinks and then we use the one with the Serial Port connector on top as the one we like to develop and experiment with (typically that has been the ZenFlow Blink for us… but you can choose anyone you’d like, the Serial Port is just a good reminder of which one we were messing with)

Our latest games do rely on some features of the new API (v0.9.5 & v0.9.6 are compatible, anything before v0.9.5 should be updated), so you will need to update all of your Blinks.

One such addition to the SDK is sin8_C, a particularly nice sine function that saves lots of space. It accepts a value between 0-255 (representing degrees 0-360) and then returns a value 0-255 (representing the path from -1 to 1). This is typically quite convenient, especially given that each LED can display from 0-255.

Let us know now the updating goes, looking forward to hearing how you enjoy the latest suite of games. (btw, brightnesses have been tuned to the commercial Blinks, so you might want to adjust them ever so slightly with the Dev Blinks, we’ve found that the commercial Blinks require values between 64 or even 128 and 255, while the Dev-Blinks can get away with dimmer values (this is because of the difference in diffusion)


So I thought it was going really well – I downloaded the latest release candidate, installed it, ran the Arduino app, and found all 12 games in the Examples03 folder there, installed all 12 of them, each to a different blink (figuring this would update the API version on all of them too – correct me if I’m wrong about that, maybe there’s a different step I need to take to update the API). The only issue I had was I got a warning on Puzzle101: Low memory available, stability problems may occur.

I assume that’s expected, it’s just a bigger game or whatever.

In any case, after updating them all, the only one that I can get to do anything at all is the one I installed
Fracture on – it blinks red twice rapidly, then pauses for a second, then repeats. none of the others will even respond to the reset by connecting the screw to the bottom left pin hole – I tried pulling the battery out of one to confirm it was good. It’s a little low at 2.99 volts, but seems like should be ok still – it also did not light up when I screwed the top back on, which has happened in the past when I replaced a battery. I’m at a loss as to what to do next, any suggestions would be appreciated :slight_smile:


So right after posting this, I remembered one thing I did different with Fracture – I uploaded it without using the programmer. The rest I did with the programmer – I’ve now started uploading them without, and they’re coming back to life 8)

So it looks like I’ve got some hardware issues. I wasn’t able to get my Fracture blink to go into game sharing mode. I initially thought perhaps it was just a bug in this version of the Fracture game, but then I tried installing a different game to that blink, and it still won’t go into sharing mode. When I long press the button, it just starts flashing red twice in rapid succession, then pausing for about 1 second, then repeat.

I’ve also got some of the blinks that have ports that are not working for sharing the code at least (I assume this means they’ll also not work properly for playing games, but I’ve yet to test that.) – I’m testing each side individually by checking to see if I can share a game through each side of each blink. I remember a post awhile back about some issues you had early on, these are alpha blinks I’m using so I’m thinking that may be relevant – was there a way to update the firmware, or was it a hardware issue? I’ll post again once I have figured out which faces aren’t working.

I can’t speak for the second part of this post… But the double red blink sounds like the low battery indicator. If the battery is low, the tile wont behave like normal, so I’m assuming that it wont load any games either that are being shared by other tiles.

This is from the 0.9.4 Release Notes:

Battery Monitor
If your CR2032 voltage drops below 2.4v the Blink will signal with 2 red flashes that it needs a new battery. It won’t allow you to continue playing with that tile and so you can either replace the battery or play with one Blink down. We made the decision that it is more important for you to be playing with reliable Blinks with reliable brightness and communications which do not perform as reliably once the battery has dropped below 2.4v. Note: This is around 95% of the total battery life, as the end of the battery’s life drop voltage quickly.

Thanks for the feedback there – I tested the battery and it was at 3.2v, but it was a super cheap off brand battery – I decided to swap in a different brand, and it works – whether that was the battery or the fact of replacing I’m not sure, unfortunately I tossed the old battery into a bag of them before I thought about it, so testing that would be difficult now. In any case, that blink now is accepting a game too.

I’ve found that voltage is only a mediocre tell for battery life. The Blinks FW might be a little aggressive w/ its battery meter, but did this to make sure that Blinks have enough juice to run reliably.

The error codes to know are:
2 Red Blinks = Low Battery
3 Red Blinks = Failed Download (you’ll see this if game transmission fails or is cancelled)
4 Red Blinks = Stack Overflow (haven’t seen any of these yet, but that just means we aren’t exploring far enough! :grin:

I find that low bat Blinks can sometimes boot up and run their own game, but fail to enter game transmission. I am not exactly sure of the reason for this, @bigjosh might have a good idea, but ultimately, if I see a low bat warning, I swap.

Thanks for that :slight_smile: – and it appears they’re working / transferring the game properly, and working properly – I’ll be giving them a more thorough test with newbs tomorrow night, so I’ll let you know how it goes. I did go through the instructions for the 4 pdfs from your recent update, and I’ll be posting feedback shortly in a new topic.