Page 1 of 5

Metal Blast 2277 - Sega Genesis / Mega Drive - FREE release!

Posted: Mon Jan 08, 2018 9:38 pm
by SegaTim
In development "Metal Blast 2277" (or "Project C") for Sega Genesis. Run'n'Gun fusion "Contra: Hard Corps" and "Comix Zone" or "Boogerman" (art style). WIP.

Video: https://youtu.be/n9moE8HYudY

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Mon Jan 08, 2018 10:36 pm
by Chilly Willy
That parallax is really good. The foreground could use a little work, but it's just early progress.

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Wed Jan 10, 2018 3:50 am
by Miquel
Hope you like constructive criticism, because here it comes:

- I suggest to make main character more detailed or is going to be boring pretty fast.
- Putting a separated bar on top seems ugly nowadays.
- Palm trees on the closest plane could be a bit taller this way are more integrated into the trees on the other plane.
- Trees on the farthest plane could benefit from one more scroll just in the middle.

The sky + water line is very impressive, usually the lack of colors shows very poorly in this type of gradient, who have you done it?

Just out of curiosity: have you structured the game like this?
Sky + Mountains + Deep trees -> Plane B priority=0
Closest trees -> Plane A priority=0
Platforms -> Plane A/B priority=1
Main character -> Sprite priority=1

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Wed Jan 10, 2018 6:22 am
by Sik
My biggest grip is the walking animation, it's slow and the low keyframe count isn't helping so when you start running it feels like you're still standing. But I'm assuming it's early WIP and that it isn't the full-fledged animation.
Miquel wrote:
Wed Jan 10, 2018 3:50 am
Just out of curiosity: have you structured the game like this?
Sky + Mountains + Deep trees -> Plane B priority=0
Closest trees -> Plane A priority=0
Platforms -> Plane A/B priority=1
Main character -> Sprite priority=1
Huuuuuuh the background looks just linescrolled to me. Doesn't seem like there's any fancy layer priorities going on here.

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Wed Jan 10, 2018 9:30 pm
by Miquel
Sik wrote:
Wed Jan 10, 2018 6:22 am
Huuuuuuh the background looks just linescrolled to me. Doesn't seem like there's any fancy layer priorities going on here.
mmmmh... no, the trees on the bottom overlap with the ones on the top... unless is done with sprites. Which is not a bad idea since the other way you can't put tiles on top of (main) characters.

The overlapping is not notorious but as I said earlier it may be bigger for a better integration/impression.

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Wed Jan 10, 2018 9:49 pm
by SegaTim
Miquel wrote:
Wed Jan 10, 2018 9:30 pm
Sik wrote:
Wed Jan 10, 2018 6:22 am
Huuuuuuh the background looks just linescrolled to me. Doesn't seem like there's any fancy layer priorities going on here.
mmmmh... no, the trees on the bottom overlap with the ones on the top... unless is done with sprites. Which is not a bad idea since the other way you can't put tiles on top of (main) characters.

The overlapping is not notorious but as I said earlier it may be bigger for a better integration/impression.
Image

It setgfxplane B and setgfxplane A. Not sprites or Priority.

Image

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Wed Jan 10, 2018 11:01 pm
by Miquel
SegaTim wrote:
Wed Jan 10, 2018 9:49 pm
It setgfxplane B and setgfxplane A. Not sprites or Priority.
???
Are you saying that all the trees are done with a single plane?
Then I must go to the oculist because I see how they overlap.

To increment my astonishment the gif you posted uses priority. ???

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Wed Jan 10, 2018 11:45 pm
by SegaTim
Miquel wrote:
Wed Jan 10, 2018 11:01 pm
SegaTim wrote:
Wed Jan 10, 2018 9:49 pm
It setgfxplane B and setgfxplane A. Not sprites or Priority.
???
Are you saying that all the trees are done with a single plane?
Then I must go to the oculist because I see how they overlap.

To increment my astonishment the gif you posted uses priority. ???
No. B and A - planes. A - it top of a tree:

Image

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Thu Jan 11, 2018 1:47 am
by Sik
Welp.

Then yeah that's barely worth it, may as well add more overlap if going that way.

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Thu Jan 11, 2018 4:37 am
by Miquel
SegaTim wrote:
Wed Jan 10, 2018 11:45 pm
No. B and A - planes. A - it top of a tree:
You are right, no priority used (or all are 0). Good thinking! I didn't realize that you can do it that way.

And still you can use plane A with priority 1 to put tiles on top of characters, the only thing you have lost is the top portion of the screen. Nice!

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Wed Feb 07, 2018 10:55 pm
by SegaTim
First enemy and HUD:

Image Image

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Thu Feb 08, 2018 7:56 am
by mix256
SegaTim wrote:
Wed Feb 07, 2018 10:55 pm
First enemy and HUD:
Nice!
How do you handle the score-to-display conversion? I tend to try to avoid division and multiplications, I mean.
Are you doing it in asm or C, by the way? The 68000 got a BCD mode, I've read so I guess using that would be preferred?

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Thu Feb 08, 2018 10:57 am
by SegaTim
mix256 wrote:
Thu Feb 08, 2018 7:56 am
SegaTim wrote:
Wed Feb 07, 2018 10:55 pm
First enemy and HUD:
Nice!
How do you handle the score-to-display conversion? I tend to try to avoid division and multiplications, I mean.
Are you doing it in asm or C, by the way? The 68000 got a BCD mode, I've read so I guess using that would be preferred?
Thanks!
I use simple drawTiles on GFX plane Window +Priority function and Print text with HIGH Option TEXTPRIORITY - Sets the tile priority of text printed using the text printing commands. This command makes no difference in distinguishing priorities between tile planes A and B, but sprites that are shown over high priority text will be shown behind the text.

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Thu Feb 08, 2018 12:30 pm
by Miquel
mix256 wrote:
Thu Feb 08, 2018 7:56 am
Nice!
How do you handle the score-to-display conversion? I tend to try to avoid division and multiplications, I mean.
Are you doing it in asm or C, by the way? The 68000 got a BCD mode, I've read so I guess using that would be preferred?
3 options:
- Maintain both representations separately
- Use a formula developed by hardware designers
- (Or as you have said) use low level instructions

Re: Project C - WIP - Sega Genesis / Mega Drive

Posted: Thu Feb 08, 2018 1:53 pm
by mix256
Miquel wrote:
Thu Feb 08, 2018 12:30 pm
3 options:
- Maintain both representations separately
- Use a formula developed by hardware designers
- (Or as you have said) use low level instructions
Found out that 68000 ABCD only do byte as size,which will probably make the asm part just as complicated as in C. :)
So, this is what internet gave me:

Code: Select all

u32 BCDadd(u32 a, u32 b)
{
  t1 = a + 0x06666666;
  t2 = t1 ^ b;                   // sum without carry propagation
  t1 = t1 + b;                   // provisional sum
  t2 = t1 ^ t2;                  // all the binary carry bits
  t2 = ~t2 & 0x11111110;         // just the BCD carry bits
  t2 = (t2 >> 2) | (t2 >> 3);    // correction
  return t1 - t2;                // corrected BCD sum
}
https://stackoverflow.com/questions/476 ... mbers-mips
Freaking awesomeness.
Then for the score, I have a index-pointer on what digit to update so I don't have to update all digits each frame.

So, SegaTim, how do you do all of this? How do your text printing commands look when handling numbers?