Catacombs of the damned! (Formerly Another FPS style 3D demo)

Catacombs of the damned!
This is more or less a finished game now, maybe needs a little bit of tweaking so feedback welcome!

Arduboy3D.hex (77.4 KB)

98% PROGMEM usage and 91% RAM usage so quite near the limit!

10 Likes

I am super impressed! Wonderful job.
On my first run I got to floor 3 with a score of 281. This sure feels like a full game. And could be even more if you could store things on a flash chip :wink:

2 Likes

This was one of the games I was secretly hoping would come to fruition, but my only explanation for how nice it actually turned out is that you must secretly be some sort of wizard, yourself :thinking: not that it even needs said but awesome work!

1 Like

Wonderful game… but I cannot figure out how to climb the ladder… ?

You can only climb the ladder down to progress to the next level. The ladder going up is the start of the level

3 Likes

Do you have enough space left to have the floor and ceiling color change on some floors? Would probably help making the floor appear to change? We already have randomly generated floor but that might be cool… Maybe it’s a bad idea… I dunno.

I can almost see a weird shopkeeper at the entrance of each level selling stuff you can buy with the gold you find in the levels lol

2 Likes

Just escaped the catacomb!

2 Likes

Some difficulty Tweaks and we have a winner! Lol. There might be too many life potions found in the levels, wasn’t really that hard to beat it. But I sure enjoyed my time on it.

Using different patterns on different levels is a really good idea!

Congratulations! I think you beat my best score :slight_smile:

I actually added more life potions recently because I thought it was too hard. Currently the life potions restore your health to full but maybe they should be +25% life instead to balance it out more?

Should have enough space but I’d have to carefully select the best combinations of dither patterns. The current one (suggested by @Pharap) is my current favourite combo. You can experiment with different dither patterns in the build in one of my previous posts. Suggestions welcome!

1 Like

I like the idea a lot.

Any could do really the more variation the better I guess.

1 Like

The problem is that only a handful actually look good.
Some combinations just distract from the gameplay and hamper the gameplay experience.
Variation is good, but not if it ends up making the game ugly or hard to play.

1 Like

Badass game sir! really nice. I wonder if inversed screen would look better

Maybe, or that could be one of the variations for the level. A darker level could make it look like if the lighting was lower and making it harder to see maybe? Spiders could spit venom that blinds the player for a short time?

1 Like

I tried inverting the colours and trying different dither patterns but I think it was making things harder to read.

Here is a new build:

Arduboy3D.hex (78.4 KB)

  • Added simple animations for the enemy types
  • Health potions now give you +25 instead of fully restoring your health

Usage is now at 99% PROGMEM so I would say this is done now unless anyone finds a bug! I’ll package this up into a .arduboy file and post a release soon.

11 Likes

I tried this game out last night, awesome game though i tend to get lost in it lol.

2 Likes

This game is a serious achievement! This really deserves more credit! @jhhoward Put it into a full release and I’ll put it up on the main page!!

6 Likes

I agree, as it is, it’s already a full working game. And plays great!

2 Likes

I’ve packaged up the game as version 1.0 and made a release on Github with the .arduboy format. Also updated the thread title and opening post to reflect the details of the full release.

There’s a GIF in the opening post now that you can use for the main page :slight_smile:

7 Likes

You wish. :slight_smile: In my experience (though perhaps things have improved lately) AVR GCC almost never does this type of optimization for array/pointer accesses… so most C code dealing with rending/buffers is “fast” but there is usually still HUGE room for improvement by dropping to assembly and using the Z+, Y+, X+ type instructions in a tight sequence (esp unrolled).

Also often you run out of registers… typically you’re doing something like reading from a sprite and then writing to TWO different buffer locations (to deal with non-even 8 pixel offsets)… and this chip only has two 16-bit registers that C will EVER give you itself (in my experience). It holds one of them for itself ALWAYS (frame pointer? I forget.). So now you’re short a register and even if TWO of those pointer/array accesses were fully optimized the 3rd will always be terribly SLOW.