Gameboy Development Forum

Discussion about software development for the old-school Gameboys, ranging from the "Gray brick" to Gameboy Color
(Launched in 2008)

You are not logged in.


#1 2020-05-22 08:24:00

New member
Registered: 2020-05-14
Posts: 3

Saint Seiya (under development)

Dear all,

It's been a while I've been following this forum, without posting as I wanted to have some material to talk about.
I have been working on a Saint Seiya game project for some time now (GBDK) and I would like to show my progress to all of you while sharing my difficulties:

- Rom 0 is full:
I have to optimize my messy code to make some space.
I'm using BGB, but how to know the actual space of Rom 0?

- Music implementation:
I didn't use GBTplayer because of the above so I did a home made player on bank 2.
There I face the problem that delay() would slow down my music as I couldn't use interrupts as a counter as it would switch bank while beeing in another bank and screw up everything.
I'm digging the idea of memorizing the actual bank in the interrupt in order to comeback to it while my interrupt is over. Couldn't find how though.

- My code is a total mess: really have to sort it out cause while not working on the game for a while, it's a nightmare to understand what is what.

- Balance in the damage dealt: kind of not enough or too much, got to adjust this to make the game more strategical.

- Narrative to be added: yeah, no storyline or dialogue so far...

After solving some main issues, it would be my pleasure to share a beta version with you.
Well I hope this will get going well and that you guys would enjoy it.

Last edited by Shamurgh (2020-05-22 08:26:50)



#2 2020-05-22 08:44:59

From: USA
Registered: 2019-06-06
Posts: 59

Re: Saint Seiya (under development)

I do have a few suggestions that might help with freeing space in bank 0.

Look for functions that are usually run when you already have a specific memory bank open for something else and try moving those functions into those banks.

You can also put GBT player in any bank. I have GBT player and all my music and sound functions in the same bank on my game. You just have to make sure that is the active bank when you run gbt_update or change songs.

I am looking forward to seeing more of this game. I never got into Saint Seiya, but had been wanting to give it a chance once I clear other things off my backlog of things to watch.

Last edited by Ardis (2020-05-22 08:45:19)

Also known as Arvex in other places.

Interceptor (Demo)



#3 2020-05-22 15:46:07

Registered: 2020-02-13
Posts: 306

Re: Saint Seiya (under development)

1. there are several ways to figure out, how much memory do you have free in banks. i use some python utilities from PinoBatch: … shows you the graphical representation, and this one: … / in text

2. of course you can use interrupts with player and whatever other code in banks. the main thing you should do is to switch the bank back, before leaving the interrupt. there are several approaches, the most common - is tracking the bank number in some variable and make some kind of stack. you may have a look how this is done in ZGB framework: … kManager.h (and BankManager.c) and Stack.h

your interrupt routine will be something like this:


void timer() {
    gbt_update(); // in bank 2

3. organize your code. ZGB library is a good example to follow; use BGB debug messages to debug your code:

Last edited by toxa (2020-05-22 15:50:47)



#4 2020-05-26 14:15:00

New member
Registered: 2020-05-14
Posts: 3

Re: Saint Seiya (under development)

Thank you both for your replies, thank to you, I actually managed my way out!

Here's a preliminary version of the game, hopefully you'll like it as it is: …

Some Hints:
- If you are tired of fighting Cassios: you can press "B+UP" or "B+DOWN" to change your opponent.
- Just max you right arm full of Cosmo to blast the enemy out.
- The goal is to reduce the life of the head of the opponent to 0.
- Be careful as he can do it as well.
- Hyoga's special attack is not totally working.




Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson