Techno Monkey: Zoo Game Jam


#1

Techno Monkey

Megaman like game where you fight 6 robots.

Uses Arduboy2 library

Story
A meteor crashes in a zoo during the night.

An alien virus spreads to the residents in the zoo and causes them to mutate into
robot hybrids called Technoids.

Do to the outbreak, the zoo has been under quarantine.

It is a fight for survival inside.

Can you beat the opposing Technoids and survive?

Link to game: https://github.com/RetrobitCoder/TechnoMonkey/tree/master

Hopefully you guys enjoy playing this game.

The code could definitely be cleaned up. Have quite a few copy pasted code for the bosses. Still new to C++, so haven’t quite figured out how to use the inheritance stuff yet.

Didn’t have time for sound, and didn’t have time to put in a weapon change system, but hope it is still fun all the same.


[POLL] Game Jam vote!
Eried's Unofficial Repo :)
(Michael Gollnick) #2

:joy: I like the story


(Fernando Jerez) #3

I can compile with the Arduino IDE but after the ‘arduboy’ logo the screen goes black and nothing happens.
I’m testing in a arduboy clone but didn’t have this issue with other games

I’m doing something wrong? or may the source files are not correctly uploaded in github?


#4

Hmm I’m not sure. I’m currently at work so I don’t have my arduboy to check
it. I’ll check it as soon as I get home, but it looked like all the code
was there.


(Scott) #5

Works fine for me with a real Arduboy when compiled from the GitHub source.

Arduino IDE 1.8.2, Arduino AVR Boards 1.6.18, Arduboy library 4.0.0


(Fernando Jerez) #6

I have my Arduboy bricked :sweat: i think i ruined the bootloader uploading a bad HEX file. I will try to repair using a external ICSP programmer following the @eried guide.:muscle:

Until then i’m using a clone with a few modifications on libraries for the screen.

The IDE and arduboy library are the same (AVR boards is 1.6.17 but i can’t update :confused:)

I don’t know where’s the mistake, maybe some kind of hardware incompatibility but it’s the first time i have this problem and i tried lot of games in the same clone.

Don’t worry, I’m sure there’s some sort of black magic, i’ll try an exorcism on my clone and see what happens.:japanese_ogre:


(Fernando Jerez) #7

Solved!!!

in line 927 the ab.display(true) didn’t work with my modified libraries for SSH1106 and SSD1306 screen

Just replace for ab.display() and works fine!

exorcism works!


(Fernando Jerez) #8

funny game! lot of potential!!

I love the Hippo enemy screen

thanks for share!


(Scott) #9

Yes. In this case ab.display(true) (which is better written as ab.display(CLEAR_BUFFER) for clarity) isn’t required because loop() starts with ab.clear(), so the buffer is just being cleared twice.


#10

I forgot I had put that display(true) in there. This was my first time using the Arduboy2 library. I think I just put the clear() at the time just from the original library. Thanks for the catch. Sorry you had to go through my code. It is imo a mess, and it definitely be cleaned up by inheriting a general boss class, but I’m new to C++, so I haven’t gotten that far yet. Good to know there is a CLEAR_BUFFER definition.


#11

Fixed it in the source code now.
So for others using an arduboy clone it should hopefully work.


#12

Geez can’t believe there is 927 lines of code in the main file.
Definitely need to get more familiar with C++. I hate copy paste code
when it isn’t needed, and this code could have been cleaner without
needing to do the same thing for each boss with little change between each.


(Molly C) #13

I keep ending up back in the same boss battle after I beat them because I’m furiously tapping A when they die. If you change boss entry to B I think that will help.

Fun game. I like the graphics too. :smile:


#14

That’s a good point.
I updated the controls so now the B button does the selection.
README and info.json have also been updated to reflect change


(Molly C) #15

That was quick! :astonished:


(Molly C) #16

Just tried it out. Works great!


#17

Thankfully it was just swapping A_BUTTON to B_BUTTON, but it will still have that issue if you happen
to jump an attack when a killing blow hits, but it is pretty much the deadline so I’m going to leave it at that.


(Pharap) #18

Nice to see a game using classes for things instead of taking the C approach.

(Kind of a shame it’s still using defines instead of enum classes, but still, it’s clearly written.)