Inspired by Bubble Bobble

This is my first article and I would like to share this demo with expectation of any support and comment to improve.
I made this demo based on this community’s lessons category.
please visit “(https://github.com/bongchul/bob14)” and give your advice as below issue.

I need change map process code(memcpy) if player got 100 point and 200 point …

From South Korea.

Thanks to all, I’ve made final demo with some bugs… however, please enjoy it.(you can bubble with B button)
The end of game, you will meet angry steve.(happy end hint is top floor. It is a safety zone to hide.)

bob31.ino.hex (48.0 KB)

3 Likes

Why are you using arduboy.boot() instead of arduboy.begin() ?
You sketch isn’t low on memory.

As you may recognized or not, I am not an expert programer. So just I want to save memory for the future various game stage extention. If you have time. Please give me a clue(C format) how can I to load new map when player have arrived some desiginated point. Thanks for your the first response :slight_smile:

You are using C++, not C.

There are several ways to do it.

I see you have already attempted it,
but what you have written won’t work because you are copying world2 into world1.
To do it that way you would have to copy world2 into world,
i.e. memcpy(world, world2, sizeof(uint8_t) * WORLD_WIDTH * WORLD_HEIGHT);.

(However, memcpy is inefficient, and there are better ways.)

You are better to look for more memory when you actually need it.

WARNING.

The code seems overwrite the bootloader. I have to burn the bootloader again with an old Arduino Uno (after so many years I finally put it to good use XD)…

In case someone needs the guide, I leave it here
https://www.arduino.cc/en/Tutorial/ArduinoISP

I think that is unlikely as the hex file does not contain data addressed beyond byte address 0x4445 and the bootloader is located at byte address 0x7000.

3 Likes

Nice, it’s shaping up pretty nicely. Keep it up!