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.

Ads

#26 2017-05-01 11:07:20

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

I update this thread with two new screenshots shared via Twitter.

Here we can see the Lilian killing a group of enemies. It is still not very polished, but the idea is that these fights resemble those of Musou/Warriors type video games:

https://i1289.photobucket.com/albums/b506/Imanolea/SS220417_zpslydpjh5s.gif
https://twitter.com/Imanolea/status/856189107420237824


And here a first outline of the title screen. The letters emit a few small flashes, as in the title screen of Link's Awakening:

https://i1289.photobucket.com/albums/b506/Imanolea/SS290417_480_zpswuut9vsk.gif
https://twitter.com/Imanolea/status/859056084027416576

I hope you like it.

Last edited by Imanolea (2017-05-01 11:07:46)

Offline

 

#27 2017-05-01 12:39:24

tmk
Member
Registered: 2017-05-01
Posts: 63
Website

Re: Last Crown Warriors, new game project for Game Boy

Great, finally some quality looking stuff on GB! Is it going to be dual (mono/color) game or for Brick only? big_smile

Offline

 

#28 2017-05-01 13:11:53

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

Thanks tmk. I think that lately there is a lot of people that are also doing quality looking stuff for Game Boy.

The first version of the game is planned for regular Game Boy and it will have additional features for Super Game Boy. Dedicated graphics for Game Boy Color are being considered for future versions.

Last edited by Imanolea (2017-05-01 13:15:45)

Offline

 

#29 2017-05-01 17:37:33

Xephyr
Member
From: France
Registered: 2015-02-26
Posts: 59

Re: Last Crown Warriors, new game project for Game Boy

Your game looks really great so far!

Offline

 

#30 2017-05-02 07:23:21

tmk
Member
Registered: 2017-05-01
Posts: 63
Website

Re: Last Crown Warriors, new game project for Game Boy

Imanolea wrote:

Thanks tmk. I think that lately there is a lot of people that are also doing quality looking stuff for Game Boy.

Don't want to hijack your thread but the last time I checked only Tobu Tobu Girl looked/sounded awesome. And I somehow can't imagine playing it on Brick, my eyes would hurt too much from bluring/ghosting. smile

Offline

 

#31 2017-05-02 07:41:24

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

Thanks Xephyr!

tmk:
Yeah, Tobu Tobu girl is an awesome project. I think they are currently working on physical distribution. I hope I can try it out soon on the Game Boy. It would be a pity if the game sufffers from excessive ghosting. We will have to try it.

Yes it is true that it is important that all of us who develop for Game Boy periodically test our projects on a real Game Boy. Many times the emulator will not be completely faithful and the game may as you say not look good on the actual hardware later.

I, and the artist I work with, try to keep in mind this issue. Whether creating contrast between background and foreground graphics, making texts readable, avoiding high-speed scrolling... A subject in itself. In the end, it is a covert limitation that this system has.

Offline

 

#32 2017-05-05 07:50:43

Jonas
Member
From: Frankfurt, Germany
Registered: 2016-06-06
Posts: 112
Website

Re: Last Crown Warriors, new game project for Game Boy

Once more your game looks pretty amazing. From what you show on the screenshots, the game seems to be somewhat "Zelda-esque". Are you planning to include extensive storytelling  (like in the Zelda games) or do you mainly focus on action/fighting?

Offline

 

#33 2017-05-05 09:59:16

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

Hello Jonas, and thanks!

Last Crown Warriors will be purely action oriented. The mechanics of the game will be very similar to the Warriors/Musou games ones: we must keep control of a series of strategic points on a map defeating a lot of enemies. There is also planned a boss for each area.

Following this line, the game will also have several playable characters. Each with unique skills.

Offline

 

#34 2017-05-05 10:35:56

nitro2k01
Administrator
Registered: 2008-02-22
Posts: 249

Re: Last Crown Warriors, new game project for Game Boy

Imanolea wrote:

In Last Crown Warriors I have built a flickering system to prevent certain sprites from being permanently invisible, rotating in each frame the directions of the sprites of the enemies in OAM RAM. Curiously, this works, even though the X coordinate of the enemies is not being changed. So I suspect that the hardware takes into account something more than this coordinate when it comes to leaving out a sprite in a line.

http://i.giphy.com/3o7TKOUAQRuDIO2c24.gif

In that particular example, consider prioritizing hiding grass sprites (or whatever other low importance sprites may exist) before hiding enemies or the player sprite.

I also wonder what you mean by the second sentence. The 10 sprite limitation only applies to horizontal lines. This is because the screen is drawn one line at a time. If you change the Y coordinate to hide the sprite, the sprite is effectively dead and doesn't affect anything on screen.


Blog: Gameboy Genius
"A journey of a thousand miles begins with one small step"
Old Chinese Proverb

Offline

 

#35 2017-05-05 11:39:51

Jonas
Member
From: Frankfurt, Germany
Registered: 2016-06-06
Posts: 112
Website

Re: Last Crown Warriors, new game project for Game Boy

Imanolea wrote:

Hello Jonas, and thanks!

Last Crown Warriors will be purely action oriented. The mechanics of the game will be very similar to the Warriors/Musou games ones: we must keep control of a series of strategic points on a map defeating a lot of enemies. There is also planned a boss for each area.

Following this line, the game will also have several playable characters. Each with unique skills.

Sounds sensible to me. Telling a convincing story would probably need a very long developing time without being too interesting from a technical point of view. I really look forward to playing your game (and also your other project, Rocket Man).

Offline

 

#36 2017-05-06 11:42:55

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

Thanks Jonas, I've tried to limit the scope of the game in order to be able to be able to finish it in a feasible in a feasible period of time.

nitro2k01 wrote:

Imanolea wrote:

In Last Crown Warriors I have built a flickering system to prevent certain sprites from being permanently invisible, rotating in each frame the directions of the sprites of the enemies in OAM RAM. Curiously, this works, even though the X coordinate of the enemies is not being changed. So I suspect that the hardware takes into account something more than this coordinate when it comes to leaving out a sprite in a line.

http://i.giphy.com/3o7TKOUAQRuDIO2c24.gif

In that particular example, consider prioritizing hiding grass sprites (or whatever other low importance sprites may exist) before hiding enemies or the player sprite.

I also wonder what you mean by the second sentence. The 10 sprite limitation only applies to horizontal lines. This is because the screen is drawn one line at a time. If you change the Y coordinate to hide the sprite, the sprite is effectively dead and doesn't affect anything on screen.

I mean that to avoid that the sprite of a particular enemy is left without drawing due to the hardware limitation of 10 sprites per horizontal line, I rotate the addresses in OAM RAM of these enemy sprites. That is, I do not change any attribute of the sprite and only change the address in which they are stored. And this produces a flickering effect by which the sprite that remains without drawing varies.

The point is that I am not certain about what condition takes into account the hardware when deciding which sprite to leave without drawing (in case that are more than 10 sprites in the same horizontal line).

Offline

 

#37 2017-05-06 12:21:07

ISSOtm
Member
From: Somewhere in Echo RAM
Registered: 2017-04-18
Posts: 160
Website

Re: Last Crown Warriors, new game project for Game Boy

Imanolea wrote:

The point is that I am not certain about what condition takes into account the hardware when deciding which sprite to leave without drawing (in case that are more than 10 sprites in the same horizontal line).

It depends on whether you use GBC features or not. From what I've seen from your screenshots, you use GBC. In that case, the first sprite in the table has the highest priority.
On a DMG or in compatibility mode, the horizontal coordinate instead serves as priority (the lowest coordinate being the highest priority), the tie breaker being the same as in GBC mode.

Source :

Pan Docs wrote:

When sprites with different x coordinate values overlap, the one with the smaller x coordinate (closer to the left) will have priority and appear above any others. This applies in Non CGB Mode only. When sprites with the same x coordinate values overlap, they have priority according to table ordering. (i.e. $FE00 - highest, $FE04 - next highest, etc.) In CGB Mode priorities are always assigned like this.


The French Lord Of Laziness.
Legend of Zelda and Undertale fan, I also tend to break Pokémon R/B/Y a little too much.

Twitter | Me on GCL | Discord : ISSOtm#9015 | Skype : isso.tm (I don't login anymore)

Offline

 

#38 2017-05-07 06:05:33

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

ISSOtm wrote:

Imanolea wrote:

The point is that I am not certain about what condition takes into account the hardware when deciding which sprite to leave without drawing (in case that are more than 10 sprites in the same horizontal line).

It depends on whether you use GBC features or not. From what I've seen from your screenshots, you use GBC. In that case, the first sprite in the table has the highest priority.
On a DMG or in compatibility mode, the horizontal coordinate instead serves as priority (the lowest coordinate being the highest priority), the tie breaker being the same as in GBC mode.

Source :

Pan Docs wrote:

When sprites with different x coordinate values overlap, the one with the smaller x coordinate (closer to the left) will have priority and appear above any others. This applies in Non CGB Mode only. When sprites with the same x coordinate values overlap, they have priority according to table ordering. (i.e. $FE00 - highest, $FE04 - next highest, etc.) In CGB Mode priorities are always assigned like this.

Right now the game don't uses any GBC feature and is compatible with the regular Game Boy (the byte 0x143 in the cartridge header is 0). The screenshot are taken from BGB, but from what I have been able to test the behavior that is shown in the .gif files is the same that happens in a real Game Boy.

And just having the Pan Docs in mind, and in relation to what I said before, I do not understand why even without changing the X coordinate of the sprites, they are flickering. According to the documentation, only those who share the highest X-coordinate value of their horizontal line should be flickering. The thing is that the left side of screen sprites are also flickering. And again, I'm just changing his address in OAM RAM.

http://i.giphy.com/3o7TKOUAQRuDIO2c24.gif

I don't know if I've explained myself.

Last edited by Imanolea (2017-05-07 06:07:06)

Offline

 

#39 2017-05-07 06:32:59

ISSOtm
Member
From: Somewhere in Echo RAM
Registered: 2017-04-18
Posts: 160
Website

Re: Last Crown Warriors, new game project for Game Boy

Maybe that's in relation with how you make sprites look left/right ?
In my game I change the tile IDs and set the horizontal flip bit.

Player facing left :
https://puu.sh/vIm9S/a6843cb0e5.png
Player facing right :
https://puu.sh/vImbI/492d14215b.png

But another way is to change X coordinates and set the flip bit. If you did that, maybe that would explain ?
Otherwise I can't quite tell. Maybe it's a bug in your code that hides sprites ? tongue


The French Lord Of Laziness.
Legend of Zelda and Undertale fan, I also tend to break Pokémon R/B/Y a little too much.

Twitter | Me on GCL | Discord : ISSOtm#9015 | Skype : isso.tm (I don't login anymore)

Offline

 

#40 2017-05-07 08:36:08

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

I am the first to be surprised with this issue. I'm going to leave some evidence to help us identify this Game Boy mystery. Either the documentation is incorrect, or there is something we are not taking into account.

First this video in slow motion from BGB 1.5.3.

https://drive.google.com/file/d/0B5Etmv … sp=sharing

And then this revealing frame of the game running in a Super Game Boy. We can see how the sprite that remains unpainted does not have the highest X coordinate of its horizontal line.

https://drive.google.com/file/d/0B5Etmv … sp=sharing

Offline

 

#41 2017-05-07 09:37:06

gekkio
Member
Registered: 2016-05-29
Posts: 16

Re: Last Crown Warriors, new game project for Game Boy

OAM order is always significant. I'll quote some notes I wrote two years ago:

In my opinion it's easiest to think about two orders: sprite priority order and drawing order.

Sprite priority order is based on the sprite position in the OAM. Sprites with lower position have higher priority. Gameboy has a limit of 10 sprites per scanline, so when drawing a scanline, you simply select the first 10 visible sprites from the OAM data.

Drawing order depends on both OAM position and X coordinate. Sprites with small X coordinates have priority over sprites with large X coordinates. So, in practice you draw the sprites in descending X order. If the X coordinate is the same for some sprites, you use the OAM position order (low position is drawn last).

Note that this doesn't necessarily apply to CGB in CGB mode. Some practical examples can be found in my sprite priority test: https://github.com/Gekkio/mooneye-gb/bl … rity.s#L58

Offline

 

#42 2017-05-07 10:03:24

ISSOtm
Member
From: Somewhere in Echo RAM
Registered: 2017-04-18
Posts: 160
Website

Re: Last Crown Warriors, new game project for Game Boy

@Imanolea : I am also pretty confused. Although maybe the SGB has different rendering priorities from the DMG, since it's running on a SNES.
(Yet your first recording was on DMG. So I'm even more confused.)
I guess the answer is somewhere in the PPU. Maybe you should take this to the hardware board.

@gekkio : this is from a DMG, SGB, or CGB in DMG mode. So in theory your notes should be correct, but for some reason the rightmost sprite is redrawn, and sprites to its left aren't.
So... even though this sprite flickering shouldn't work, it does. (Also shoutouts to BGB for emulating this correctly big_smile)

(Makes me think... maybe you should ask the BGB developer, then ?)

Last edited by ISSOtm (2017-05-07 10:04:12)


The French Lord Of Laziness.
Legend of Zelda and Undertale fan, I also tend to break Pokémon R/B/Y a little too much.

Twitter | Me on GCL | Discord : ISSOtm#9015 | Skype : isso.tm (I don't login anymore)

Offline

 

#43 2017-05-07 10:22:49

gekkio
Member
Registered: 2016-05-29
Posts: 16

Re: Last Crown Warriors, new game project for Game Boy

ISSOtm wrote:

So in theory your notes should be correct, but for some reason the rightmost sprite is redrawn, and sprites to its left aren't.

Sorry, I'm a bit confused. Which of the GIF animations are we talking about in that case?

I was mostly trying to answer this:

I rotate the addresses in OAM RAM of these enemy sprites. That is, I do not change any attribute of the sprite and only change the address in which they are stored. And this produces a flickering effect by which the sprite that remains without drawing varies.

When selecting which 10 sprites will be visible on a scanline, only OAM addresses matter. When deciding which sprite pixel wins when there's overlapping sprites, X coordinates and OAM addresses matter.
So, when you keep everything else the same but shuffle the OAM addresses, different 10 sprites will be drawn.

Offline

 

#44 2017-05-07 11:02:42

ISSOtm
Member
From: Somewhere in Echo RAM
Registered: 2017-04-18
Posts: 160
Website

Re: Last Crown Warriors, new game project for Game Boy

Ok, I misread you.


The French Lord Of Laziness.
Legend of Zelda and Undertale fan, I also tend to break Pokémon R/B/Y a little too much.

Twitter | Me on GCL | Discord : ISSOtm#9015 | Skype : isso.tm (I don't login anymore)

Offline

 

#45 2017-05-08 04:21:29

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

Well, mystery solved then. Thanks @gekkio and @ISSOtm. The X coordinate of a sprite does not affect the 10 sprites per horizontal line limitation (its address in the OAM RAM does), but is significant in the drawing priority when the sprites overlap.

This is what I originally thought, I think my confusion with this issue was based on a misunderstanding with this particular part of "The Ultimate Game Boy Talk".

https://youtu.be/HyzD8pNlpwI?t=37m31s

For the next time I will create a thread dedicated to the issue.

Offline

 

#46 2017-05-08 04:55:38

ISSOtm
Member
From: Somewhere in Echo RAM
Registered: 2017-04-18
Posts: 160
Website

Re: Last Crown Warriors, new game project for Game Boy

I will update the Pan Docs on the wiki, since they state

Only 10 sprites can be displayed on any one line. When this limit is exceeded, the lower priority sprites (priorities listed above) won't be displayed.

Which is incorrect in the DMG's case.

Thanks Imanolea for pointing this out, and gekkio for, well, giving the answer tongue


The French Lord Of Laziness.
Legend of Zelda and Undertale fan, I also tend to break Pokémon R/B/Y a little too much.

Twitter | Me on GCL | Discord : ISSOtm#9015 | Skype : isso.tm (I don't login anymore)

Offline

 

#47 2017-05-08 10:16:43

nitro2k01
Administrator
Registered: 2008-02-22
Posts: 249

Re: Last Crown Warriors, new game project for Game Boy

I should try to clarify my point. When an enemy walks in the grass, the grass around the enemy's feet is its own sprite, correct? If you detect more than 10 sprites on a line, consider making the code hide only unimportant sprites like the grass sprite instead of rotating through all the sprites on that line.


Blog: Gameboy Genius
"A journey of a thousand miles begins with one small step"
Old Chinese Proverb

Offline

 

#48 2017-05-08 10:56:15

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

Yeah @nitro2k01, you are right.

It is still in development but I will try to remember that kind of thing. Right now the protagonist's sprites for example never rotate and are kept in the lowest address of the OAM RAM. I will most likely remove the grass of the game, but it seems to me a good advice and I will keep it in mind for this or other possible complementary sprites of enemies. It is better not to show an impact sprite than to have the enemy disappear.

Thanks.

Last edited by Imanolea (2017-05-08 11:18:16)

Offline

 

#49 2017-05-08 11:01:27

ISSOtm
Member
From: Somewhere in Echo RAM
Registered: 2017-04-18
Posts: 160
Website

Re: Last Crown Warriors, new game project for Game Boy

Imanolea wrote:

It is better not to show an impact sprite than to have the enemy disappear.

Personally, I agree.


The French Lord Of Laziness.
Legend of Zelda and Undertale fan, I also tend to break Pokémon R/B/Y a little too much.

Twitter | Me on GCL | Discord : ISSOtm#9015 | Skype : isso.tm (I don't login anymore)

Offline

 

#50 2017-10-08 17:54:58

Imanolea
Member
From: Bilbao, Spain
Registered: 2014-05-17
Posts: 54
Website

Re: Last Crown Warriors, new game project for Game Boy

It's been a while since I last wrote this thread. So I'm going to post here the progress.

Lilian dodging and attacking: https://twitter.com/lightgamesgb/status … 7415532544

Lilian running: https://twitter.com/lightgamesgb/status … 8520601601

Character and scenario selection screen: https://twitter.com/lightgamesgb/status … 7409997824

A post about how the selection screen has been made: https://t.co/aW10EEfbxf

I hope you like it. At the moment the game is going well, I hope to have a demo ready in November.

Last edited by Imanolea (2017-10-08 17:56:56)

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson