Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

bbbbbr

397
Posts
20
Topics
686
Followers
392
Following
A member registered Jun 08, 2019 · View creator page →

Creator of

Recent community posts

Great!

Would be awesome if you made a game for the system some day. If you ever decide to, happy to try and answer questions that might arise.

Thanks! It’s been a lot of fun learning the console!

Here’s a rather verbose answer. :)

The console is kind of a similar class to the Mega Drive and SNES. It has multiple background tilemap layers (and some bitmap layers), lots of colors, lots of sprites, dma for fast memory copy, a capable CPU, 16 bit bus and lots of memory. So kind of luxurious compared to the Game Boy/Color, and solid performance.

The tricky points are: Graphics memory access, Music and Emulators.

The main thing that was tricky and kind of annoying is the CPU takes priority over VDP for VRAM access. This is the opposite of the Game Boy, where the PPU (the GB’s VDP equivalent) has priority.

What this means is that if you try to write to graphics/VDP memory while the VDP is rendering, you’ll get “VRAM Snow”, speckly glitches all over the screen.

What’s worse is this seems to also apply to the VDP scanline counter that would normally be used to tell when it’s safe to write to graphics memory (without snow). So it required a workaround using a VBlank + timer based system that simulates a register indicating when it’s safe.

(Note, the above does not apply to the bitmap layers, which have dual ported VRAM, but I mostly use the tile based layers and sprites)

For sound, it’s (literally) more like a (casio) synthesizer, instead of having the usual chiptune type sound hardware. There is a built-in system for add-on sound hardware in cartridges, but the Flash Cart doesn’t support that. I haven’t done the sound yet so don’t know all the ins and outs.

And lastly, Emulation. Since it’s an obscure system the emulator support was limited and not very good when I started. Trying to use some interrupts or other features would crash or fail on some emulators, and there timing and speed problems. But I got lucky since the MiSTer core was being written about the same time and it’s been very accurate. And two software emulators improved a lot as well. There aren’t nice integrated emulator debugging tools such as in Emulicious and Mesen. I also wrote a few small test ROMs to help improve accuracy.

During the process I wrote a sparse GBDK-like compatibility layer which made porting Petris easier, though the layer took a lot of work and learning technical aspects of the system. It insulates the developer from the graphics access issues mentioned above. The code for that is open source which might make porting other GBDK based games easier (though would still require graphics changes and customization).

Ahhhh, so good!

Great style and fun to play!

(2 edits)

That works surprisingly well!

Great, cool that it was so easy to fix!

There seems to be a bug where if A is held down before entering the menu then it is still possible to interact with the board.

And then further it is possible to exit the menu with the palette remaining dimmed and play the game that way.

I can’t always reproduce it exactly, but the sequence in the video is roughly:

In the video A -> Start -> Left/Right -> Left -> Down -> Right -> A Released -> Left -> Right A Pressed + Released

Image

Fun game!

Enjoyed playing this! Nice work

Very charming and a little sad. Nicely made game

Very charming concept, I like it!

Hmm, is it possible to defeat the end boss?

I made it there with close to maxed out stats (healing/level maxed, shield maxed, sword one off maxed) and could only attack once before having to heal each turn until I ran out.

Tampering with the game memory it seems to require up to 30 attacks to beat it, which seems past what would be possible HP wise even if I stepped the sword up one more level.

(1 edit)

Ran into a freeze with the game today. Can’t say for certain that it wasn’t the console(1) but the game may have deadlocked when one of the enemies got into the doorway and the other blocked it from moving out.

  1. Gamebub, running from a mbc5 cart. It’s still rough around the edges as a device, so can’t be ruled out.

Image

Played some more and two quality of life features come to mind that would be nice to have:

  • An expert mode that allows the player to move 2x faster, and also removes the vsync()/wait_vbl_done()s between each monster step so that of monsters (esp multiple ones in a room) don’t slow down room traversal a lot.
  • An option to somehow skip past the first N levels if you’ve completed them, since when you get higher in level re-traversing them gets a little grindy. It could cost a small amount to add a little friction to it.

Just played this for about half an hour, had a great time. Thanks for sharing it!

It’s very satisfying to fill up the mazes.

Den of Snakes relies on the synchronization behavior provided by the DMG-07 4 Player adapter device. The device collects the synchronous link input from up to 4 Game Boys and then packages and re-broadcasts that data to all connected consoles simultaneously.

So if you want it to work online then your device or service would have to emulate the specific behavior of the DMG-07. The documentation about the device is available here: https://gbdev.io/pandocs/Four_Player_Adapter.html

Den of Snakes does not work with two Game Boys and a single link cable. (it is open source and you are welcome to modify it to work differently if you’d like.)

However, if you want to find some other Game Boy homebrew that uses the link cable there are several in the GBDK gallery (link filter turned on): https://gbdk-2020.github.io/gbdk-2020-gallery/?linkOrMultiPlayer=true

For example my game Petris does work two Game Boys and a link cable. Perhaps it already works with what you are working on. (It is also open source and can be modified) https://bbbbbr.itch.io/petris

(1 edit)

Cool that you made it open source!

I did the easy port to MegaDuck :)

https://github.com/bbbbbr/Onitama-pocket-megaduck

Image Image

Can you be more specific about what kind of software you have in mind?

Very charming game! And important to read the directions :)

Seconding all of the above. :)

Only suggestion is to have more of the manual in the game. Maybe opcode notes and file list requirement details at the bottom or in a popup window, when selected respectively.

Solid game of Yahtzee! Controls and layout work well. :)

Fun little game!

I posted it here: https://bbbbbr.itch.io/megaduck-celeste-classic

Let me know if you’d like anything changed/added/removed.

(1 edit)

Awesome, thanks! I’ll make all that very clear and have prominent links at the top of the page.

By the way, if you want to increase discoverability for your game page on itch you might add the following tags: “Game Boy” and “Game Boy ROM”

Really nice port! Plays well, feels very crisp. And cool to see it fit in 32k.

Since you made the source available and indicated it was usable for ports, I’ve made the (fairly minor) changes needed to build and run it on the Mega Duck clone consoles (handheld and laptop).

Would you be interested in the source changes and hosting the Mega Duck build on your page here?

If not, and you don’t mind it being hosted elsewhere (on itch), is there a license that the source code is under and how would you prefer attribution?

Image Image Image

Cool, nice to see another ZGB based game! There’s a lot going on and it seems to handle it well.

What a delightful game! Great style and charming music. Played all the way through and enjoyed it.

Looks like this is made with some version of ZGB?

Your long term dedication to improvements and tweaks to this game is really cool to see!

Cool to see! I somehow missed this earlier.

I totally missed this. If you’re still seeing issues with the sound you can take a look at the “gb/sound” example in GBDK-2020.

It shows how to use wrappers functions to properly handle registers that have their bits swizzled on the megaduck.

Here: https://github.com/gbdk-2020/gbdk-2020/blob/a99fdde06fc84fa7a44ce84c772c6ed71e635079/gbdk-lib/examples/gb/sound/sound.c#L6-L35

Cool to see the digital rolling out! Congrats and looking forward to playing it.

One suggestion: Add a non-gbc lockout screen.

Right now if your emulator is set to force gbc mode, or if you put it into a DMG (or presumably GB Pocket or SGB) it will just show a blank screen.

I understand you all have reasons why you’ve chosen not to sell a ROM at this time.

But if you decide to make it available in the future I will gladly pay for it. Hope it will be considered after the game has been out there for a while.

I’ve bought your other digital releases and like to play on a mix of original hardware and emulators, but do not collect carts.

Cool to see! And somewhat rare- yours is one of maybe 15 or so gbdk games that uses the link port for multi-player.

Nice pics, the details came out well!

These are nice! I enjoy the topo map and temp gauge in particular.

Nice composition for the photos!

Thank you!

Fun little game! The controls and progression feel dialed in well.

Sounds good! It was my assumption that it should remain un-rotated. Thank you!