Tutorial DJ taking requests!

Hey all!

I’m Dan, lead game designer at Move38, and I’ve been working on some new tutorials, which I just posted. They cover a topic I think is super important and not necessarily obvious to a new dev, so it was the first one I wanted to cover.

But now that I’ve done that, I want to throw it to you guys: what parts of development are you interested in seeing tutorials on? Are you looking for more basic “Hello World” type things, or maybe more advanced topics? Just comment here and I will add them to my list and try to make them as quickly as I can!

Thanks,
Dan

3 Likes

@danking222. Hi Dan!

I am just starting my journey in coding. I actually work for a Software Development Company in Seattle, but I don’t do development, I’m in the Professional Services Department assisting with Project Management. I’m very much interested in learning about how this code works so I can try out some game ideas I have been working on for Blinks, (not having any clue how to code, makes creating these games impossible).

One thing that would be really helpful to me would be to take the code for a game, or three, that already exists and break it down into pieces like you do in your tutorials. I especially find the code for Raid fascinating. I’d like to understand how all the different parts work together.

I also think having a tutorial on the process, beginning to end, of developing a game’s code. Likely, a simple game to start, would be very helpful. Then maybe working up to something like Raid.

Also, something about the limitations of Blinks and coding them. What isn’t possible? For example, what if I wanted to make it so the blinks automatically knew who’s turn it was and would be the correct player color when they clicked the blink. Say, for something like Connect Four. 1st player = Red. 2nd Player=blue. Blinks are all white until first player clicks, that blink turns Red. Now 2nd player’s turn. When he/she plays, the next blink that is clicked is blue. And so on. Could work in extra bonuses with double-clicks and/or Long presses, but that adds a whole other layer of complexity. Because I don’t have the background in programming, nor a full understanding of the capabilities/limitations of Blinks, I have no idea what can/cannot be done so designing a game for Blinks is more of a challenge than I originally considered.

Anyway, there are a few things I think would be helpful coming in as a complete noob.

Thanks so much!
Dawn

2 Likes

Hi Dan,

thank you for the verry helpful Tutorials !!! I am an non developer and have no experiance in it. So if you can do some roukie Tutorials too I will be verry happy with it. I like Dawn´s Ideea to see a Game in a step by step tutorial :slight_smile:

Thanks

Carsten

2 Likes

I thought of another idea last night! I think it’s my best one so far.

Take a game’s code, or create one, break it out into 3 - 5 lessons, covering the major aspects of the code (there may be the prerequisite of doing the ‘basics’ tutorials you’ve already put out there), then, for the final lesson, assign the task of, “take what you’ve learned and apply it to create a game that does X.”

Have a lovely day!
Dawn

1 Like

@WillowDreamer That sounds like a great idea! The posts in the Tutorials section do that somewhat, but it’s not as straightforward and streamlined as it could be. Thanks to all the recent posts, including yours and @Pratyan, I am actually working on this exact thing right now. I’ll make sure to post the update when it’s ready.

For now, I recommend you start with the “Basic Display Tutorial,” followed by the “Basic Button Inputs” tutorial. Those two should get you familiar with the basic functions of the library.

1 Like

@danking222
Hi Dan,

I have already gone through the Display and Timing tutorials. The Basic Button inputs is next. I took way too much time futzing around with changing colors and going between HSB/RGB formats. I’d never heard of HSB format before, so I was having fun with that. RGB I was already somewhat familiar with because, you know, life in general. RGB is a ‘thing’ you sort of just ‘know’ living in today’s world being a gadget tinkerer. HSB I knew what Hue, Saturation, and Brightness were because of my photography hobby, but I had never heard of it as a method of adjusting lights to create colors. I thought RGB was the only way to combine light colors. I don’t know why I thought that as it makes perfect sense now that I know about it. Anyway, I found it quite fascinating!

Looking forward to seeing your new tutorials. In the meantime, I’m going to keep going with what is already out there and “Fork” a game’s code, (not sure which one yet), to tinker with to see what happens when I change certain aspects of it.

Thank you so much for your help and hard work in teaching us noobs the coding basics!

Dawn

1 Like

Thinking of HSB, I have a question for you. In the HSB linked tutorial, it shows HSB as a range of 0 - 360. I found that the Blinks’ range is 0 - 255, making the numbering for the color wheel a bit awkward (putting about 23 numbers between the different colors on the color wheel). Figuring that out took some extra time as well.

I wondered why that is - using 255 instead of 360? Curiosity killed the cat, but satisfaction brought him back!

Also, you might want to make some clarification to that fact in your tutorial as well. Letting people know what numbers are Red, Green, Blue, and Yellow on the Blinks HSB range

Dawn

1 Like

Yeah, so HSB is really cool, and we use it much more than RGB in our games. But the 360 - 255 conversion can be a stumbling block.

The reasons we use 255 is because in computer science values always increase in powers of 2 - from 2 to 4, from 4, to 8, and so on. The numbers 0-255 (the range of a byte) represents 8 bits of binary data. As you get further along in your development experience, you’ll notice these numbers popping up all over the place.

As for a color guide, that’s something I generally like to leave to discovery. Honestly, I don’t even know the values off the top of my head, I usually futz around with it myself as I work. But I think it’s appropriate for me to add at least a rainbow guide to the HSB tutorial, yeah.

2 Likes

Hi Dan,

I can appreciate the fact that you want to let people discover certain things on their own. In this case, it’s a bit misleading given the information found in the link you provided. I was trying to use numbers above 255 and wondering why nothing was changing. I think discovery is great, at the same time, I think a rainbow guide to Blinks HSB range would be a great, clarifying addition. Here’s what I found:

I can tell you that it goes something like this: 255 / 12 colors = 21.25 per color.

0 = Red
21/22 = Orange (aka Red-Yellow)
42/43 = Yellow
64/65 = Yellow-Green
85 = Green
106/107 = Green-blue
127/128 = Blue-Green
148/149 = Blue
170 = Indigo
191/192 = Violet
212/213 = Magenta
233/234 = (not sure what this color is called?) Slightly lighter red?
255 = Red

1 Like

Hey Dan,

The thing that’s been slowing me down is how to send a signal at a certain pace across a series of blinks like Darkball does. It’s a very useful mechanic, and I’d love to see how you approach it

1 Like

Hi Dan,

I’m completely new to Programming. I’ve been figuring it out. I get the idea of how the flow works and the loop mechanics. What I really need is a list of commands and what they do. That way I can find the ones that fit my needs.
I did find the Arduino reference list, https://www.arduino.cc/search?q=&tab=reference and that’s been helpful, but there appears to be a lot of Blink specific commands.
For example I found this code in the astro game and don’t know what it does;
FOREACH_FACE(f) followed by an If Else statement.

Your best bet is probably too look at the blinklib header file:

You will find all functions available there.

About your specific question. FOREACH_FACE is just a macro. For example:

FOREACH_FACE(f) {
  // Do something with f.
}

Expands to:

for (byte f = 0; f < FACE_COUNT; ++f) {
  // Do Something with f.
}

Thanks!! I also found this link after digging around.