Learning arduboy the hard way

Does anyone have any recommendations for books or websites or other resources that might help someone starting out programming for the arduboy?
Craits resources and the side runner lessons were great, but using c++ for gaming on a handheld is such a specific use case, I’m having a hard time even knowing where to look to get better. Things like collision detection, scrolling through sprite sheets in memory, players lives, etc. Are very specific to a gaming platform and I guess getting more practice with logics like that is what I’m looking for, if anyone knows of anything that could be helpful.

All the best Arduboy-specific information is here on the forum.
If you can’t find the information you want, you’re best off just asking,
we have a lot of experienced programmers who are able to answer questions about almost anything.

Collision detection isn’t Arduboy specific, it’s a general problem,
so there are plenty of online resources about checking for and resolving collisions.
For example, I searched “collision detection” and one of the first results was this article by Mozilla.
Granted, the code is in JavaScript, but the theory is more important than the code.

Sprite sheet handling is a bit more specific.
Typically the functions of the Sprites class that’s part of the Arduboy2 library are used for drawing sprites, and that expects data in a specific format.

Handling something like maintaining player’s lives is a much more general problem.
The best solution to that is to just make sure you understand the language and core programming concepts (i.e. variables).
Knowing the best/most appropriate option for implementing a feature like that is something that only comes with experience.


All that said, I maintain a repository of links to information I find particularly useful,
so you might find some of the stuff in that useful:


Also, please remember that there’s no quick way to become an experienced programmer, just as there’s no quick way to becoming an experienced musician or an experienced carpenter.
All skills worth learning take time and effort.

1 Like

There are lots of resources in general on game design. I don’t have any I can recommend but when I was younger I read every game programming book I could find.

Actually you’ll find that many programming concepts can be switched between platforms. There are several games people have made porting from one system to another. In fact, when we created the Tetris Microcard, we were using C++ code designed for use in OSX, but we stripped down the basic functions to what we needed and it still worked on the micro controller.

One of the awesome things about Arduboy is if you learn to code efficiently for this device, the tricks you learn can save you performance on larger applications as well, but would otherwise be ignored because you have so much extra resources.

My suggestion for you would just to go head first into some book or maybe even online course that looks interesting to you. Because really, for gaming design I don’t think you can go wrong. What is most important is you pay attention to what your goals are and if you are satisfied with your progress.

Pushing yourself to try to program things that you aren’t sure if you can, that is the best way to learn.

3 Likes