Arduboy Magazine Volume 10

Sorry, we are late! :persevere:

@filmote has provided a tutorial on Steve the Jumping Dinosaur, Arduboy was at Gamestart & Portland Retro and Gaming Expo, and we talk to Arduboy developer @Pharap.

Issuu Link: Click Here

Shared Downloads Folder Link: Click Here

We are always looking for people to help with the magazine! DM us for more information on how you can help.

Are you an Arduboy Developer? You can feature in our Questions With Game Developers section! DM us if you would like to be interviewed for it.

9 Likes

This time I’m actually intentionally in the magazine, it wasn’t a fluke! :P

(Edit: Oh and I wrote one of the articles too.)

7 Likes

FULL PAGE TO ME!!! haha
I challenge anyone to join in on the Arduboy Adventure!

6 Likes

Hm. The magazine is great as usual, indeed. But I failed to find any e’mail contact to the magazine.
I find it impossible to not to reveal an address to any magazine’s editorial section, so I probably simply didn’t find the address.
What is it?

1 Like

I don’t think they have an email, just send @arduboymag or @Celinebins a PM to ask about lending a hand.

That’s supposed to be PM I think (unless it stands for Direct Message instead of Personal Message or something).


It helps to have an idea in mind though.
Like whether you want to contribute some art or an article or if you’ve got a game planned that you’d like to advertise/discuss.

Oh, surely I’m not good enough to contribute the 1-bit art, but I have many friends who love monochrome graphic, and I was just wondering - maybe the “Arduboy Magazine” would like to check it out.

As for me, my own monochrome pixel work isn’t very nice

So I suspect I wouldn’t even dare to suggest it.

STILL, I DO LOVE making the 1bit pixelating. :wink:

1 Like

Pharap:

PS: And actually I’m surely getting far too old, as everybody use facebook, twitter and whatever else - and I still use e’mail, hahaha. :slight_smile:

It’s not necessarily an age thing.
I know people in their 50s who use Facebook.
Also I’m in my 20s and I don’t use Facebook or Twitter ¯\_(ツ)_/¯.
(I do use forums, sometimes email and very rarely I remember to log into my deviantart account.)

Also quite a lot of people here are actually older than you might expect (or at least older than I expected).
Lots of people here learnt to program in the 80s and 90s going by this poll.

I’ve finally found the time to read volume 10, so sorry for the late response.
A couple of minor points regarding the Laying Pipes article by @filmote:


On page 17, the TinyURL given for the form to generate a .arduboy info.json file is incorrect. It has 24 appended to the end. The correct URL is
http://tinyurl.com/jkw9vpf


On page 21, the statement is given:

One nice thing about the #define directive is that it allows you to combine values together, like those shown below.

I’d just like to point out that when performing math in a #define, it’s a good practice to enclose the operation in parentheses (round brackets), otherwise you could end up with unexpected results which are hard to debug.

For example: From the example given in the article we have:

#define LARGE        3
#define CAT          10
#define CAT_LARGE    CAT + LARGE
int myLargeCat = CAT_LARGE;

The compiler preprocessor will just directly substitute the value for each #define before compiling the line, so the last line will end up as:

int myLargeCat = 10 + 3;

which will correctly assign the value of 13 to variable myLargeCat

However, what if we want to assign the value of 3 times CAT_LARGE, (which would be 13 * 3 = 39) to variable myLargeCatTimes3 ?
If we write

int myLargeCatTimes3 = CAT_LARGE * 3;

the preprocessor will blindly substitute the #defines to end up with

int myLargeCatTimes3 = 10 + 3 * 3;

The compiler will then use mathematical order of operations and perform the multiplication first, resulting in a value of 10 + (3 * 3) = 19 being assigned instead of the expected 39.

If we add parentheses to the #define for CAT_LARGE

#define CAT_LARGE (CAT + LARGE)

The preprocessor’s result will be

int myLargeCatTimes3 = (10 + 3) * 3;

and the compiler will then calculate the expected value 39.

Good point with the #defines … I have never been caught out myself but I can see how it could happen.

@MLXXXp maybe you should volunteer to proof read articles for the magazine - your attention to detail would be very welcome.

1 Like

If anyone wishes to have me do this, feel free to let me know.

1 Like

@pharap I suspect the real reason old source code tends to have short variable names is somewhat related to the reason the basic Unix commands are also really short - The PDP-11 had a stiff chunky keyboard - and that convention stuck around until autocompletion and intellisense magic made typing long descriptive names less of a chore.

Thanks Scott. It has been a struggle to get articles proofread. I will contact you directly about reviewing the second half of the Dinosaurs article.

@Celinebins please take Scott up on this offer for other articles.

It could equally be down to lack of memory and some early languages (like most on-board BASIC variants) only giving significance to the first few characters of a variable name. Either way single-letter variables should be generally avoided (with few exceptions), they’re a relic of the past.