Bone Shakers (Unofficial Game Jam 4)

Bone Shakers is a racing game where skeletons ride unicycles around a dungeon race track. In part inspired by Super Mario Kart for the SNES. It was developed for the Unofficial Game Jam 4 where the theme was ‘Dungeons and Unicycles’

NOTE: The game runs smoothly on actual hardware but appears to run very slowly in the ProjectABE emulator (at least on my machine).

Arduboy package release:

Source can be found on Github here (GPLv3 license):

Go to the thread here to vote!

Let me know what you think!

13 Likes

This looks great! :smiley:

Runs slowly here too. I’ll look into it ASAP. :thinking:

very nice project and congratulations! In addition, the project takes only half of the space allocated for program space. :fu::fu::fu:

OMG this is so cool, I love pseudo 3D :exploding_head: Seriously man, thank you for your games. Gonna try it ASAP.

Yes pseudo 3D is amazing :wink:

I might try replacing the fixed point arithmetic with my library at some point.

Glad you guys appreciate the pseudo 3D effect! I was thinking about doing a textured 3D plane + sprites like this for a while so the jam was a perfect opportunity to actually try it out. My first attempt only ran at about 2-3 FPS so I wasn’t sure if it would be possible but after a lot of tweaking and optimisation I was able to get it to run smoothly.

I took a look at your library before I started but noticed it depends on Arduino libraries. I wanted to be able to develop the game partly in Visual Studio / Windows environment so I could use the debugger so I unfortunately had to rule it out. I don’t think it would take much to make your library cross platform but time was too limited for the jam so I just rolled my own thing. It could definitely make the render code more readable though.

2 Likes

I think the only part that actually depends on Arduino is the random function, which I’ve been meaning to remove or make separate for some time.

(And of course there’s the issue of making it use C++ libraries instead of C libraries, but I’m guessing that wasn’t an issue for you.)

I want to eventually make a general C++ version that will work on any system, but I’ve been sidetracked from that.

Awesome game! I’ve been on a V-Rally kick and this is very satisfying to play.

@Pharap:
So if I just drop in the headers for your library into my Visual Studio project and include them, first of all I get the errors with Arduino.h and random. These are easily fixed, but then there is this error:

c:\projects\boneshakers\source\boneshakers\fixedpoint\fixedpoints\sfixed.h(117): error C2027: use of undefined type ‘SFixed<7,8>’
1>c:\projects\boneshakers\source\boneshakers\fixedpoint\fixedpointscommon\sfixedcommon.h(21): note: see declaration of ‘SFixed<7,8>’
1>c:\projects\boneshakers\source\boneshakers\game.cpp(8): note: see reference to class template instantiation ‘SFixed<7,8>’ being compiled

This is with a SQ7x8 type defined to instantiate the SFixed<7,8> template. It seem that MSVC compiler won’t let you define the constant types within the template. You can get around this by turning them into functions that return a SFixed() type but it isn’t as pretty.

I’ve also thought about making an endless road type racing game like Out Run and other arcade games. I believe V-Rally on the gameboy was that style too? Maybe for the next game… :thinking:

V-rally has laps and you progress to more difficult levels.

Did you set the compiler to be C++11 compatible?

This looks like a bug in MSVC, I can’t see any reason why that line would cause an error.

This was with VS2017 so should be C++14 compatible I think? Yeah, might just be an oddness of the MSVC compiler. Perhaps there is a workaround (other than making them functions like I mentioned)

Did anyone notice the colour LED is used as a starting light when the race begins? I thought it worked quite well :grin:

3 Likes

You. The starting lights being the LED is the kind of feature that I like to be used on the Arduboy. Good job!

When using the .arduboy file the display brightness is near black (unplayable) anyone else has that problem?

Compiling from the source plays nicely though. Need to play it some more to not end up as 4th :sweat_smile:

Edit:

Nevermind, I forgot I had set Arduino micro and ssd1309 flags on my upload shortcut :blush:

1 Like

I hadn’t noticed as I ran this on the emulator. But I love the use of LEDs and have used them myself. But why am I praising your game :slight_smile:

2 Likes

It was the first time I actually thought of using the colour LED and now I’m thinking about how else it could be used! I could make use of it in MicroCity, e.g. flash red when there is a fire outbreak.

3 Likes

@FManga Did you find out why ProjectABE was running it slowly?

Looks like your code is hitting a Chrome bug. For some reason it runs at 3fps while Firefox runs it at 60fps. I haven’t been able to find the exact cause or how to work around it, yet. :confused: