While I finally have an arrival date for my dev kit, on Monday, I’m still trying to get my head around the unique and unforeseen challenges that Blinks pose, that are not immediately obvious.
In a video (The Aw Shux / Doorscape game video on Youtube) Dan King, in the opening minutes explains that “Each Blink is Independent”. I feel like I am starting to grasp that.
One blink knows it’s game, and can teach that “Game” to all other blinks. Rather, one blink knows it’s program, and can teach only those lines of programing to all other blinks, no more, no less.
Almost as if Setup holds the strategy, and Loop holds the tactics.
Setup and Loop form a coding Mullet. Business in the front, party in the back. Beyond this, this arrangement forces the issue on “Top-down programing” to indeed be Top-Down.
Say I put a line of code in Loop that wants a blink to make a random number [This assumes the additional line for “Randomize” to counter using the same seed is in place] The execution of that code will [barring any conditional otherwise] execute once, per blink, … Uniquely.
Each blink that encounters ““Make A Random Number”” in Loop will make it’s own random number and not the Same instance of the same number. It is very likely, and I’d think probable [given what we use those numbers for] that duplication will occur, out of coincidence and not influence.
Pretty much all lines of code, within loop are going to be executed by a blink on their own and coincidence over influence holds here as well.
Everything under the sun that one blink would like to know about, or tell to another blink, has to be sent*, that can only be done, at relative effort, compared to items generated internally, or preordained in setup. The information given or gained here, then can only be used / fed to the instructions that reside in “loop”. Some of these items while “fun to have” are ultimately harder than others. Color information** and or sending information to a blink, that while connected, is not an immediate neighbor***.
Is this pretty much the case?
*Sent as a value of 0-63 which is a finite, and I can only assume these values probably get assigned in multiples, that 63 feels like a lot, but once under the hood, get allocated immediately, for everything.
**At a premium of bits / bytes that ultimately make it prohibitive.
*** I can imagine that, this is it’s own can of worms too. Are some multiple number N of additional bits and bytes required for each N number of blinks that ultimately send, but do not “use” that information directly, themselves? … Basically, does each Blink charge a toll for information that passes through?