Simply disappointed

Page 3/5
1 | 2 | | 4 | 5

By PingPong

Prophet (2563)

PingPong's picture

01-07-2011, 19:45

Well, it does make sense: indeed it's designed so that there will be exactly 8 sprites used on a horizontal line, never more.

yes

But if they would have used 2 sprites / enemy using overlap, they couldn't have had 3 enemies + 1 of them firing projectiles on the screen without absolutely horrible flicker, right?

the problem of flickering is somewhat overestimated.

for example: while having main charater and enemy is something to try to avoid, maybe it's acceptable to see some flickering in bullets that are usually smaller objects, on the screen for short periods of time. Of course they should be minimally visible.

in some games one can have 3 two color main charaters and use the 2 sprite slot for bullets. with 4 bullets / scanline they will be visible for 50% of the time, and you get 10 sprites/scanline.

Depends a lot from the game, of course, but generally is not sooo a big problem.

By hit9918

Paragon (1573)

hit9918's picture

01-07-2011, 21:24


But if they would have used 2 sprites / enemy using overlap, they couldn't have had 3 enemies + 1 of them firing projectiles on the screen without absolutely horrible flicker, right?

No, because there are no complaints about the Sega version. MSX2 got same sprite mass per scanline like NES and Sega Master System, this is with 16 color sprites in screen 2 style, 2 colors per scanline without the OR feature.

This somehow made me do a OR-table (complete table at the bottom), I think it does nicely help in hunting for the 3rd color!

This part

 |       XX      O|  7,8,15,
 |       X X     O|  7,9,15,
 |       X  X    O|  7,10,15,
 |       X   X   O|  7,11,15,
 |       X    X  O|  7,12,15,
 |       X     X O|  7,13,15,
 |       X      XO|  7,14,15,

is the C64 "two common colors, one individual color" sheme. So C64 can be done out of the box.

Search for "15," in the table. It is fun with grep. Interesting parts:

 |      X  X     O|  6,9,15,
 |     X    X    O|  5,10,15,
 |    X      X   O|  4,11,15,
 |   X        X  O|  3,12,15,
 |  X          X O|  2,13,15,
 | X            XO|  1,14,15,

One common color and two individual.
Color 15 is candidate for white with shiny sprites and black with comic border games.
Color 7 a candidate for the opposite.

I wonder how to get at the green pixels of rastan. The idea "1,14 is two shades of skin" fails when color 15 is white. Maybe rather green is a common color in this dragon game.

If you don't want to touch 7 or 15, how about 12:
| X XO | 1,12,13,
| X X O | 2,12,14,
| X X O | 4,8,12,
when 12 is green and 3 is another green, you get 3,12,15=white i.e. white spots on dragons.
and 1,13 are two shades of skin. when 1 is brownish, color 14 can make other red things with it and with color 15 white. And another 2 possibilities are left of two differen colors doing something with this color 12 green.

Maybe there is no concept, just puzzeling.

The complete table:
("O" is the resulting color of the OR operation)

 | XXO            |  1,2,3,
 | X  XO          |  1,4,5,
 | X    XO        |  1,6,7,
 | X      XO      |  1,8,9,
 | X        XO    |  1,10,11,
 | X          XO  |  1,12,13,
 | X            XO|  1,14,15,
 |  X X O         |  2,4,6,
 |  X  X O        |  2,5,7,
 |  X     X O     |  2,8,10,
 |  X      X O    |  2,9,11,
 |  X         X O |  2,12,14,
 |  X          X O|  2,13,15,
 |   XX  O        |  3,4,7,
 |   X X O        |  3,5,7,
 |   X  XO        |  3,6,7,
 |   X    X  O    |  3,8,11,
 |   X     X O    |  3,9,11,
 |   X      XO    |  3,10,11,
 |   X        X  O|  3,12,15,
 |   X         X O|  3,13,15,
 |   X          XO|  3,14,15,
 |    X   X   O   |  4,8,12,
 |    X    X   O  |  4,9,13,
 |    X     X   O |  4,10,14,
 |    X      X   O|  4,11,15,
 |     XXO        |  5,6,7,
 |     X  X    O  |  5,8,13,
 |     X   X   O  |  5,9,13,
 |     X    X    O|  5,10,15,
 |     X     X   O|  5,11,15,
 |     X      XO  |  5,12,13,
 |     X        XO|  5,14,15,
 |      X X     O |  6,8,14,
 |      X  X     O|  6,9,15,
 |      X   X   O |  6,10,14,
 |      X    X   O|  6,11,15,
 |      X     X O |  6,12,14,
 |      X      X O|  6,13,15,
 |       XX      O|  7,8,15,
 |       X X     O|  7,9,15,
 |       X  X    O|  7,10,15,
 |       X   X   O|  7,11,15,
 |       X    X  O|  7,12,15,
 |       X     X O|  7,13,15,
 |       X      XO|  7,14,15,
 |         XXO    |  9,10,11,
 |         X  XO  |  9,12,13,
 |         X    XO|  9,14,15,
 |          X X O |  10,12,14,
 |          X  X O|  10,13,15,
 |           XX  O|  11,12,15,
 |           X X O|  11,13,15,
 |           X  XO|  11,14,15,
 |             XXO|  13,14,15,

By JohnHassink

Ambassador (4125)

JohnHassink's picture

02-07-2011, 07:42

for example: while having main charater and enemy is something to try to avoid, maybe it's acceptable to see some flickering in bullets that are usually smaller objects, on the screen for short periods of time. Of course they should be minimally visible.
You're right about that, but if they'd given *all* enemies 2 sprites, it either would have gone
* 3 enemies at the same X line, and find a way around the flickety-flick
* do less enemies on the line, like, max. 2?

You can already see, at MSX2 Rastan Saga, that even if there are two enemies capable of shooting, that their A.I. doesn't even provide for them doing it in turns;
No, only removing the other 'shooting' one, or having the player near enough will entice them to throw (create) projectiles.
If you kill one of the enemies capable of shooting, they just wait in turns until the sprite layer is free.

You are right. PingPong, it does depend on the game. I totally agree.

And this may be my last comment on MRC for a long time, and I wish you all very well, and I hope that you believe it when I say that I love all of you. Because I really do. I really do. But I have to go. Until next time, MSX friends! Keep it alive!

By PingPong

Prophet (2563)

PingPong's picture

02-07-2011, 16:19

@hit9918: about color combinations.
on msx2 make no sense to worry about it.
msx2 vdp got palette that also affect sprites, so color 1 = black is not even true, if one wants color 15 as a sprite border just define color15 = black. that's all.

i give you an idea:
what about combining the sat reverse/no-reverse write with two banks of sprites without the OR color trick (two individual color on scanline), getting 8 sprites / scanline by writing
10 layer1 then layer2 (in reverse ordering),
20 layer2 then layer1
30 goto 10

this will allow 8 bi-colored sprites on scanline 8 flickering when needed.

By Manuel

Ascended (9830)

Manuel's picture

02-07-2011, 19:04

John: whatever it is you're leaving for, I wish you the best and good luck. I hope to see you back here soon. We love you too.

By hit9918

Paragon (1573)

hit9918's picture

02-07-2011, 21:45

@PingPong:
I know there is palette on MSX2! It is funny, by pure coincidence I ended up talking about color 3 and 12 being green like on MSX 1. My table was just about finding color number combinations to get 3 colors with the OR feature. Which is a puzzle when you dont want to waste multiple palette registers with the same color.


i give you an idea:
what about combining the sat reverse/no-reverse write with two banks of sprites without the OR color trick (two individual color on scanline), getting 8 sprites / scanline by writing
10 layer1 then layer2 (in reverse ordering),
20 layer2 then layer1
30 goto 10

this will allow 8 bi-colored sprites on scanline 8 flickering when needed.

Did I get this right, you mean flicker between two images, and the second SAT contains different colorbytes?

Now that you mention this, I imagine this works excellent with 2 overlaid sprites where the two colors got similar brightness! Both MSX 1 and MSX 2. Means getting 3 colors from 2 overlaid sprites.

But as you are about using only a single sprite, it must be some pixels flickering versus background like in dig dug. It does not need a color change, but a pattern change. dig dug moves exceptionally slow and I think there will be issues if the sprite moves normal speed.

But it might depend on the actual image: if you look at the GNG knight, there is only a little amount of brown pieces, maybe such small pixelmass could work with flicker. Same thing with some of the transparent pixels of the zombies.

By hit9918

Paragon (1573)

hit9918's picture

02-07-2011, 22:33

@PingPong, UPDATE: I was wrong, flicker color sprites also work with hi speed moves!
I'm glad you brought this topic back on the table. I'll do further tests.

By lionelritchie

Champion (439)

lionelritchie's picture

02-07-2011, 22:44

"On top of that, you can make the game harder for yourself easily by simply, how about, not using the continue option, as you can choose not to do with Aleste."

you cant. it's very hard to lose in both games.

of course it's laziness, it's not that they didn't know how to do better. but understand that they were arcade conversions. people bought them because rastan and scramble formation were the arcade games. so making them better would not make much more people buy them, having little work or a lot of work they would sell the same thing, people would just buy them anyway because they were conversions of good arcade games.

By hit9918

Paragon (1573)

hit9918's picture

03-07-2011, 01:21

colormix flicker sprites :

I assume two pixel categories: one is permenently on, the second is off every second frame. The flicker must have low contrast versus the background. (emulators: monitor hz must be same as MSX hz. further I need to go fullscreen mode or I'll get wobble by lost frames)

A major showstopper:

It got no problems with high speed, but with every speed that is not like 1 pixel per frame or 2 pixel per frame. like gradius bullets in an angle != 45 degree or a sine wave. Then the sprite will wobble like pudding.

At a speed of 0.5 pixel per frame, if flickerpixels are at the border of the shape,
they get strange fat (whether left or right border gets fat seems to depend
on the sync of the background scroller going 0.5 pixel/frame, very strange things going on here).
But inner pixels seem to work at speed 0.5 and speed 1.5 .

Further problem, 5th sprite flicker:

When flicker due to 5th sprite happens, and the sprite appears only every second frame, then it appears always in the same colormix state: it may get a solid shape losing all its lines.
Imagine all brown pixels of GNG knight turning gray, kind of a "lost pattern" effect.

On MSX 1 with spritesort for every sprite one knows whether it is a 5th sprite,
so one maybe could stop this effect (instead of "lost pattern", the flickerpixels become permanently transparent).

On MSX 2, if you make sure that 9th flicker is a rare case, you can ignore the issue.

When also toggling between two colors (of similar brightness) the result is really awesome, however under 5th/9th flicker, the thing turns into a wrong color. Which maybe is not as bad as "lost pattern".

In MSX 1 gradius where flicker happens often, I would tend to go just normal two-color sprites.

Third major problem:

It only works on black backgrond. So it excludes Rastan. On non-black background, the flickerpixels still look transparent and not like a second color.

Maybe the transparent pixels making the arms of the GNG zombies is one of the rare
cases where this can be really used. But only with a fix for 5th sprite flicker.

By PingPong

Prophet (2563)

PingPong's picture

03-07-2011, 11:20

@hit9918: i think is a good idea to open a new thread named "sprite flicker management techniques" where to discuss everything related to this issue. otherwise the knowledge will be spread into 20 different thread.

Page 3/5
1 | 2 | | 4 | 5
My MSX profile