Pokitto Game Jam 4 on itch.io -- Cute Little Demake; and BTW maybe organizing an Arduboy jam on that site in the future is worth considering?

Here’s the link to the jam: Cute Little Demake - itch.io

Because itch.io has been created for indie devs, maybe organizing an Arduboy jam there in the future could bring some new people to the scene? Also, I am currently watching very closely the Game Boy Competition 2021 (Game Boy Competition 2021 - itch.io), and there are a few interesting ideas here for organizing such an event as well, for instance, they are using GitHub for doubling donations (anyone can add to the prize pool), and there are additional prizes for open-source entries…

3 Likes

I saw this jam starting soon: LOWREZJAM 2021 - itch.io. It’s for games that run at 64x64 and lower, so seems perfect for Arduboy entries, especially paired with the web emulator to have them on the itch.io website.

2 Likes

Nice idea! There are also these Nokia 3310-style game jams (84x48 resolution, simple sound and a limited color palette) which with each edition seem to get more and more attention: NOKIA 3310 JAM 3 - itch.io One can find there inspiration for making Arduboy games as well, I have seen someone submit a Gamebuino game, for example.

1 Like

Thanks @jan-kleks, there’s lots of inspiring entries that’d be great on the Arduboy.
I really liked ‘Buttons Trial’ (plays in browser) ~

I wonder if this could be recreated in @crait’s Circuit Dude as custom levels? Or perhaps someone would like to port it?

Edit: Even more material across all 3 game jams:

1 Like

Unfortunately I can’t see anything indicating it’s open source, so without permission from the author it can’t be ported, but it would be possible to make a game using the same mechanics and different graphics.

I threw together a proof of concept (no actual level loading or fancy sprites, just the mechanics and the state machine architecture, from scratch) in about two hours yesterday if anyone’s interested in getting something working.

1 Like

Looks fun, I will give it a try and implement a version of it. I like this types of games :slight_smile:

Go for it …I was thinking the same thing!

Are we now having an ad hoc Buttons Trail jam? :P

1 Like

Could be the go.

This is obviously an easy game to build - creating the puzzles would be tricky to make sure they are all able to be completed.

So much so that I’m half tempted to make a tutorial on it.
(Though I probably won’t get round to that unless there’s a particular demand for it.)

I was considering making a map editor like we did for Dark & Under and Dark Ritual.

After which you it should be possible to guarantee that the map is completeable just by brute forcing it.
Each tile has at most four paths you can take, and in a lot of cases those will be ‘game over’.
The difficult part would be detecting cycles, particularly since some solutions might actually contain valid cycles.
I think it the easiest solution would be to just put an upper limit on the depth of the tree (e.g. no solution shall be more than 512 moves).

1 Like

512 moves is a pretty intense puzzle.

Looking a the game, the biggest puzzle they can support is 13x6 unless the puzzle scrolls after that size.

I was thinking that the tiles would be 9x9 with a 1pixel gap between them which comes up to 129 x 59 pixels … just too big! I was planning on the tiles being an odd width and height as per the original so dropping back to 7x7pixels allows puzzles of size 16 x 8 for the more complex, later versions.

That makes the

And yet 256 seemed too small for some reason.

I’ve opted to purposely ignore what the original does so I don’t end up making something too similar, and so I’m not as tempted to copy the original’s puzzles.

At the moment I’m planning to have 8x8 tiles on an 8x8 (originally 7x7) grid, which will end up taking up 64x64 pixels on screen, leaving some room for some information or graphics either side, though I may end up widening it.

To be continued?


There aren’t any levels yet and my map loading code is untested, but if anyone wants a peek at my current code it’s here.

2 Likes

I have almost finished a first cut of the game.

Mine will be nearly identical to the original. So much so that I am trying to contact WanSou to beg his forgiveness.

2 Likes

I will upload today mine, I was lucky since a lot of it is done with code from a previous prototype. :slight_smile:

2 Likes

Would love to see the triple-whammy of your game, code and tutorial :slight_smile:

At the moment I definitely don’t have time to do a tutorial as well since I haven’t even had chance to finish the game yet. If I did do one, I think I’d be stuck over how much detail to go into.

I.e. whether to trim some of the more advanced things out to make it more accessible for beginners or whether to just explain what I did and hope someone finds it useful.

At any rate, my code is linked to in my earlier comment - that’s already there for anyone to do whatever with, and it’s fairly heavily commented.

1 Like

When you have time, a beginner’s guide would be great. I’d love to understand your code better… it’s honestly like a different language to me! :sweat_smile:
I guess the world of Arduino is C with a sprinkling of C++… perhaps your code is more pure C++ and OOP(?!)… the judicious application of this confuses the heck out of me!
Of course, I just hack code together and it may be as clear as day to everyone else…

1 Like

I am pretty sure @pharap is going to jump in with ‘its definitely C++ but the Arduino environment tries to dumb it down for beginners’ …

Technically programming languages are different languages.
They have syntax, grammar rules and semantics.

(Or do you mean different to what you’ve seen other people write?)

TL;DR: It's C++ with parts written in a C style.

From what I gather (though I’ve never seen anything that outright confirms this) they started out with C and then moved over to using C++, but a lot of the people who contributed to Arduino knew more about C than C++, so the result is a lot of C++ code written in more of a C style.

The things I can say for definite are:

  • Arduino code is compiled as C++
    • There are ways to intermix C with the C++, but the Arduino library itself requires C++
  • Arduino code relies on an implementation of the C standard library (for targets with AVR chips, it’s avr-libc), not the C++ standard library
  • .ino files are translated behind the scenes into a .cpp file, so if you’re using a standard Arduino setup then there will always be C++ involved.

I’ve never properly learnt C so I wouldn’t even class myself as a C programmer.
Or to put it another way, I do not write C code.

I learnt C++ in a desktop environment so I stick fairly close to ‘proper’ C++, but with a few concessions made because of the restrictions of an AVR environment. E.g. I avoid virtual functions and consequently I rarely have need for inheritance.

These days I tend to stay away from the term ‘object oriented programming’ for a number of reasons.

Should I take that to mean that you don’t know what this is?

For more info on this, have a look here:
https://www.learncpp.com/cpp-tutorial/the-hidden-this-pointer/

Technically it’s not required because the compiler can figure out when you’re referring to an object member, but I prefer to try to always use this-> because it makes it clear which functions/variables are members of the object.

The main reason I started always using this-> is because there have been times when I’ve seen code snippets (that don’t use this->) taken out of context and it’s not apparent from the snippet alone whether a variable is a member variable or a global variable, and the difference can be important.

A nice side effect is that the appearance of this is less jarring in those rare occasions where it’s actually compulsory.

The other reason I prefer this-> is because I don’t like naming styles that mandate giving member variables a special prefix like _ or m_. It feels like reinventing the wheel to me. (The wheel being this->.)


I’m not sure ‘dumb it down’ is a fair way to phrase it since you still need to be fairly intelligent to do even basic programming (unless you’re just copy and pasting things), but Arduino certainly tries to brush some of the unfortunate realities under the carpet.

In the process they’ve created a situation (-fpermissive) that can cause pitfalls for even very experienced programmers. The kind a beginner couldn’t even hope to fathom.

2 Likes

@acedent There is a great little tutorial on making a level based game here > arduboymag Publisher Publications - Issuu

Its starts in volume 7 and continues on for a few months.

(BTW its great because I wrote it, others might think it sux :slight_smile: )

3 Likes