Wip game 'Cactusman loves diamonds'

WIP title screen, to give an indication of the game’s vibe.

Still needs a lot of work, will share the process here.


Haniwa faced cacti are best cacti.

Time for a little ‘paper prototype test’ if you have paint, ur welcome to draw ur path on this level image below:

How would you grab all diamonds as fast as possible?
(Spikes and slimes kill you. Slimes move horizontally. When slimes touch a diamond it breaks.)

Im currently thinking of making the levels 2 screen sizes high.

1 Like

I guess it would depend on if the slimes have set paths or not…

@crait Thanks for the feedback. I still doubting if slimes will have fixed horizontal only paths, or if they will move around freely. But this type of details I can only answer with playtesting. Waiting for a Arduboy to arrive to tweak gameplay. But still enough to do before that stage.

Btw anyone here living in Amsterdam with an arduboy that we could borrow for coding/testing?

If you’re going to go with random movement, in my experience the best way to handle random movement is to make the creature move in a single direction for a set number of steps/over a set number of frames, wait a while, and then do the same in a (possibly different direction).

Moving in a fixed pattern is generally cheaper but also less of a challenge for the player unless you let the creature attack the player when the player is in the creature’s line of sight. It depends on other factors though, like whether or not the player can fight back and how much damage the player can take.

My solution. I don’t know if it’s the quickest, but it’s probably one of the safer options since it minimises potential slime contact.
Note that the cyan path has to be the player’s first path because it’s the only gem in risk of being destroyed by a slime.
Also I’m making assumptions that the slime at the bottom moves out of the way enough for that to be a viable path, otherwise the player would have to backtrack up to the top left.

1 Like

Thank you for the feedback!

I’ve chosen to make the game with 12x12 sprites to have more of the level in your screen. But this also forces me to use a boarder less white on black background sprite style.
I’m considering doing the next game in a 16x16 sprite size, with a line boarder sprite style with white as a fill/background color.
Bit hard choice but will stick with this for now I think.

12x12 Tiles means you’ll have left and right padding of 4 pixels and top and bottom padding of 2 pixels.
(Just in case anyone else is too lazy to work that out.)

@Pharap why would there be left and right padding? I understand the vertical padding of 4 total pixels (wherever you put them) because the bits are stored vertically in the buffer. But each tile could just be 12x16 pixel images?

I think he means that the screen is 128×64 and 12×12 tiles can fill area of 120×60 which leaves 4 pixels to both sides and 2 pixels to top and bottom. If the game world is scrolling, then that doesn’t need to happen.

1 Like

128 does not divide evenly by 12, so as @Tomin kindly pointed out, there would be 4 pixels left over each side. Whether that’s padding or whether the world overflows the screen is a different matter, but the uneven division still stands.

Also, rectangular tiles would be very irregular (if you’ll excuse the awful pun).

Oh I meant the tiles would be 12x16 but only drawing 12x12 since images need to be multiples of 8 vertically.

Rectangular tiles would be irregular haha. Could be interesting though.

For me the choice was between 16x16 (preferable) or 12x12.

Because initially I wanted to create a game that would fit in 1 screen, I choose 12x12. Now the idea is to make levels that are 2 screensizes tall. So it will have some boarders on the left and right of the screen.

1 Like

Animation of the player character. Quite head breaking to fit in 12x12 pixels :scream: :slight_smile:

And the enemy animation


It’s still cute, though!! It’ll look great on the Arduboy’s tiny screen.

Worked on some more animations. And did some more brainstorming on the gameplay, as a result we came up with the power up coin, which will give you a limited special ability, needed in the harder levels!


I decided to re-do the art. Going for 16x16 sprites with white backgrounds.

This means the levels will no longer fit in a 2 screen layout, but the camera will follow the character around.

Waiting longer then expected for the hardware to arrive. So we can’t start coding yet.

If anyone in Amsterdam could borrow their device for a long weekend, that would be great help.

If you know JavaScript, you can write the code using the Arduboy JavaScript simulator that @mrboggieman made. That’s what I did for a few games when I didn’t have a unit.

You can also use Proton Arduboy Simulator as well, it allows you to write C and C++ code and run it on Windows (for quick testing and debugging without needing an Arduboy) as well as Arduboy without changing any of the code. It works well on Visual Studio 2005, 2008, and 2015 Community Edition, according to the thread.

1 Like