Outrun style road demo MSX2

Page 16/19
9 | 10 | 11 | 12 | 13 | 14 | 15 | | 17 | 18 | 19

Par ARTRAG

Enlighted (6445)

Portrait de ARTRAG

05-01-2020, 18:48

Just a dull question... how much is it mandatory to use a bitmap mode? I mean that in screen 1 theoretically you can fit up to 64 tilesets in vram. Keep aside about 4KB for multicolor sprites and the PNT and you can still use 62 tilesets for precomputed tiles that can be switched in and out on multiple line interrupts.
Just brainstorming, but one can precompute the road and side items at different distances in different tilesets and use the line interrupts to select witch has to be seen a each line. The same line interrupt can be used to alternate background colors and override the 2 color limit of screen 1 tiles.

Par PAC

Guardian (5887)

Portrait de PAC

05-01-2020, 18:49

Metalion wrote:
syn wrote:

meanwhile on c64 :D https://youtu.be/qhO881r_itQ

Don't want to be picky, but they only use flat roads :)
Which is easier to use for the background scroll, because the horizon is fixed.

Meanwhile, on the MSX :

. V9938 version : the sprite engine for sideroad works (actually, it's been working even before I did the V9990 version). And I'm thinking about reverting to 16x16 sprites, although I have not decided yet.

Looks great. Probably I don't add nothing relevant but in order to make the MSX2 version more viable, how about adapting the game context to a suitable scenario than the opposite? I mean the game argument should be located in a desert or similar environment where the problem of sprites should be less problematic I think. Yes, this maybe is not your goal but at least can be a solution. Personally I wouldn't mind having a game like that.

On the other hand, is your engine able to implement elements such as mountains or clouds on the horizon/sky?

Par Metalion

Paragon (1204)

Portrait de Metalion

05-01-2020, 19:45

PAC wrote:

On the other hand, is your engine able to implement elements such as mountains or clouds on the horizon/sky ?

It's the 2nd item on the agenda (the 1st being for now : incoming cars and trucks).

In order to do it, I plan on making 2 screensplits :
. the first 48 lines of the screen will be screen5 (status bar)
. the lines between #49 and the first road rendering line will be screen4 (background)
. and after that screen5

The background being screen4, I will be able to scroll the background by scrolling the patterns. I will need to shift about 384 bytes, which won't be too heavy on the CPU (provided I have a fixed color table which means it would have only a 2 colors background).

Par wolf_

Ambassador_ (9823)

Portrait de wolf_

05-01-2020, 19:50

PAC wrote:

I mean the game argument should be located in a desert or similar environment where the problem of sprites should be less problematic I think.

In other words: Hyper Rally with hills, that's what I've predicted pages ago... ^_^ On MSX2 you'll end up with a better looking Hyper Rally. For more landscape features, you'll end up with a V9990, and possibly an R800.

But, we'll see. Hannibal

Par PAC

Guardian (5887)

Portrait de PAC

05-01-2020, 20:07

Metalion wrote:

The background being screen4, I will be able to scroll the background by scrolling the patterns. I will need to shift about 384 bytes, which won't be too heavy on the CPU (provided I have a fixed color table which means it would have only a 2 colors background).

Screen 4 is limited but you can get very good results with a good usage. Smile

Par KdL

Paragon (1336)

Portrait de KdL

05-01-2020, 20:55

I want an unusual Dodge Charger out of road !! Running Naked in a Field of Flowers

Par Metalion

Paragon (1204)

Portrait de Metalion

05-01-2020, 20:55

ARTRAG wrote:

Just a dull question... how much is it mandatory to use a bitmap mode? I mean that in screen 1 theoretically you can fit up to 64 tilesets in vram. Keep aside about 4KB for multicolor sprites and the PNT and you can still use 62 tilesets for precomputed tiles that can be switched in and out on multiple line interrupts.
Just brainstorming, but one can precompute the road and side items at different distances in different tilesets and use the line interrupts to select witch has to be seen a each line. The same line interrupt can be used to alternate background colors and override the 2 color limit of screen 1 tiles.

That was Grauw's idea when we first spoke about Outrun in that other topic. But he was talking about using screen4 tilesets. I think there's just too much possibilities to fit every one in 62 tilesets.
. The road is 384 pixels wide, and the camera moves by 8 pixels incréments (so already 48 entries)
. You have to compute every width for every case (flat road, hills, curves), and every transition

Par ARTRAG

Enlighted (6445)

Portrait de ARTRAG

06-01-2020, 12:37

Maybe, my idea was to use line interrupts to swap among tilesets and to "train" each tileset for represent all the possible views of the road a given range of distances. This can be done using vector quantization and e.g. k-means clustering.

You could sample the positions of the line interrupts on the Y (on the screen plane)

If you sample the positions of the line interrupts on the Y, e.g. each 2 lines, you have to decide which tileset to show in each vertical band 2x256 accordingly to the distance of the road seen in the band and the screen plane. Tiles should be trained to show two lines of screen. They should fit a tileset of 256 positions even without vector quantization. Each time you call the line interrupt you need to update up to 32 bytes in the PNT, because the same tile number in the two tilesets has different meanings. You should double buffer PNTs for this (up to 4 buffers if you sample Y each 2 lines).
Each line you should also swap the color table to allow moving lines on the road and replicate, in a SW manner, the complexity of screen 4 in the offroad objects (same as Bifrost or Nirvana on ZX spectrum, but guided by the line interrupts).

In theory you could also sample the positions of line interrupts on the Z (distance between the screen plane and the point on the road segment). I think that in this way you get quickly a mess. I would avoid this solution.
In both cases you keep representing the same distance used during training the tilesets even when hills or pits appear.

Anyway, if you want to compete with vespertino on the size and color of items off road this solution (one FG color each two lines in a 8x8 tile) could be too limited.

Par ARTRAG

Enlighted (6445)

Portrait de ARTRAG

06-01-2020, 13:00

actually even stripes on the side of the road are very difficult to render in this mode when in the far range

Par Grauw

Ascended (9343)

Portrait de Grauw

06-01-2020, 17:56

Screen 1 has only 4 sprites per line and limited colours though.

Page 16/19
9 | 10 | 11 | 12 | 13 | 14 | 15 | | 17 | 18 | 19