Graphic conversion for any 256x192 into MSX1 graphics (Source code in Blitz Basic).

Página 13/14
6 | 7 | 8 | 9 | 10 | 11 | 12 | | 14

Por zPasi

Champion (476)

Imagen del zPasi

15-07-2019, 11:56

alexito wrote:

Recently I discovered this upcoming game for Amstrad CPC called VESPERTINO they show fluid cars animations very impressive.

Wow if that's for real, I'm gonna have to get an Amstrad CPC! ;)

Por LeandroCorreia

Paladin (944)

Imagen del LeandroCorreia

15-07-2019, 12:19

santiontanon wrote:

Thanks!! But really, all the merit is yours guys, you are the ones that created the algorithm, I just ported it to Java hahaha

And interesting suggestion! Since my original code was for black and white images (the flag animation), I had not considered reusing blocks by just changing their colors! But I'm sure that that idea could be used to reduce the size of the video in the ROM even further! Thanks for pointing it out, I'll make a note for future versions. The more compression, the longer the videos that we can fit in a game Smile

It's a trick similar to the ones used on the first CD-ROM games. Just get an 8x8 block and if it can be substituted by a single color without too much loss, simply find that color and convert it to either a single color block or a whole 2x2 dithered block.

Por Grauw

Ascended (8516)

Imagen del Grauw

15-07-2019, 14:21

zPasi wrote:
alexito wrote:

Recently I discovered this upcoming game for Amstrad CPC called VESPERTINO they show fluid cars animations very impressive.

Wow if that's for real, I'm gonna have to get an Amstrad CPC! ;)

Their claim to 8-bit system supremacy is of course a challenge to us :).

I think the most impressive C64 and Amiga titles also came from the demo scene. I don’t think it’s that MSX2 can’t do this type of thing really, but rather that we don’t have a lot of demoscene-type developers like the Batman group around, who made the move from demos to games.

(Instead we’re just spending our time bitching on the forums here about what the MSX can’t do ;).)

So that’s why such a sweet animation by Santiago is really cool to see, more people should challenge themselves to push the boundaries :). Not necessarily by maxing out the CPU or anything like that per se, but by making the most effective use of the hardware tools we have at our disposal (screen 4 pattern mode, sprites, scroll registers, screen splits, VDP commands, MSX2+ 15-bit colours, overscan, etc.).

Por LeandroCorreia

Paladin (944)

Imagen del LeandroCorreia

15-07-2019, 15:44

Santi, about your comment on Vespertino compression, they could also have used quad-trees. Years ago, RicBit made an article about how he crammed a color screen into the Rambo game, and the techniques he used...

http://www.ricbit.com/mundobizarro/rambop.php

Por LeandroCorreia

Paladin (944)

Imagen del LeandroCorreia

15-07-2019, 15:57

BTW, back to the daydreaming about new MSX games, this video technology could be used to create games like Penguin Adventure, Kyle Petty's No Fear Racing (SNES), Acellebrid (SNES), Disney Sports Snowboarding (GBA) or Iridion 3D (Game Boy Advance). Smile

Por PingPong

Prophet (3460)

Imagen del PingPong

15-07-2019, 16:43

Quote:

I don’t think it’s that MSX2 can’t do this type of thing really, but rather that we don’t have a lot of demoscene-type developers like the Batman group around, who made the move from demos to games.

msx, as any other system have its limits: there is no magician developer that can override them.

Quote:

Instead we’re just spending our time bitching on the forums here about what the MSX can’t do Wink.

OK, let's say everithing is possible, but limits are here. I do not think that the impressive CPC game could even been done at 30 fps. MSX2 had higher res, and this allows for better graphics but we also had a 24KB of screen ram to move, with relatively the same cpu speed and a VDP that is not a blitter moster. Sometimes it is even slow than z80 on the same operation.

On the other hand pattern modes does not give the same graphics beauty of CPC graphics because of colour clash.
Maybe something could be done with the aid of hw sprites but i think it is too hard really

Por wolf_

Ambassador_ (9778)

Imagen del wolf_

15-07-2019, 16:48

Would a v9990 be up to it?

Por Grauw

Ascended (8516)

Imagen del Grauw

15-07-2019, 21:09

PingPong wrote:
Quote:

I don’t think it’s that MSX2 can’t do this type of thing really, but rather that we don’t have a lot of demoscene-type developers like the Batman group around, who made the move from demos to games.

msx, as any other system have its limits: there is no magician developer that can override them.

Not if you’re stuck in a negative thought pattern rather than a creative one. That way you will never get the good ideas necessary to do what the Batman group does. The CPC also has limitations, but those demoscene guys are thinking about what they can do with it, rather than what they can’t.

The point of gathering a deep understanding about the inner workings and both the capabilities and incapabilities of the system is to know how to overcome the limitations. Using that knowledge just to bitch about it is a waste of time and just spreading negativity for no good reason.

PingPong wrote:
Quote:

Instead we’re just spending our time bitching on the forums here about what the MSX can’t do Wink.

OK, let's say everithing is possible, but limits are here. I do not think that the impressive CPC game could even been done at 30 fps

Talking about the rotating car animation, that’s totally feasible at 60 fps.

E.g. consider the following data format for delta frames composed of runs of changed bytes:

<vram address> <count> <bytes>

And the code to render a run of bytes looks as follows:

    inc c
    outi  ; change VRAM address
    outi
    dec c
    ld b,(hl)
    inc hl
    otir  ; pump bytes

The cost of each run is 56 + 23 × count cycles, and 3 + count bytes.

Let’s say the animation we’re rendering is 64 pixels high and has 4 runs per line, each run updating 8 bytes (16 pixels) in average. Seems reasonable for that car. This would take 61440 cycles to render in total, or almost exactly 1 frame at 60 fps. (Amstrad CPC is PAL btw so Vespertino’s animation is 50 fps.)

Additionally, the code is not even optimal; the otir can be unrolled, or replaced by RLE (jump into 128x out (98h),a) for better space efficiency and probably comparable or better performance.

Furthermore, if one frame takes longer to render, as long as this is compensated for in the next frame, that’s okay. Oh, and do this in screen 6 instead of screen 5, and you get double the horizontal resolution (three times that of the CPC) for the same performance.

Lastly, since we have 16 colours at our disposal in screen 5 and the 3d model only uses 4, we can OR two frames together and then draw at only 30 fps and show every 2nd frame with a simple palette swap.

THIS, ideas like the palette swap, is thinking with a can-do mentality, with the MSX’s strength in mind. THIS is what you need to achieve cool effects like the Batman group does. Really the problem lies not with the MSX, but in the minds of some developers who seem to have an inferiority complex about it.

I recall some C64 game mentioned a while back (Flimbo’s Quest), praised for its parallax scroll. That game was very cleverly made by demoscene developers, but really the same technique is also possible on MSX. Why there are several examples of it on C64, yet nobody has done smooth 60 fps parallax scroll in screen 4 on MSX yet, I don’t know… It will look totally awesome.

Por PingPong

Prophet (3460)

Imagen del PingPong

15-07-2019, 21:10

It is easy to throw some ideas on a paper with a bunch of calculations on z-80 T-States.
Different is made a true game with all the things we need.
When i will see something decently comparable like CPC game i will trust your considerations.

For example i can tell that you can do screen 8 256x212 pixels at 4fps doing some simple math:

the z80 could push around to 220KB / seconds to VRAM, and because a screen 8 picture is 54KB i can say you can do a full video animation at 4FPS.
In reality things are different, my math does not take in account the time needed to load or decrunch picture data from a media so forget a video at 4FPS in screen 8

Por Grauw

Ascended (8516)

Imagen del Grauw

15-07-2019, 22:09

And it’s even easier to not have any ideas at all and just complain about every little inconvenience the MSX has over and over.

Screen 8 256x212 FMV has absolutely nothing to do with Vespertino or the feasibility of such a car animation (or even the racing gameplay itself, which I did not discuss). Of course the MSX doesn’t have the bandwidth to push raw 54K at any decent framerates. Neither does the CPC. That’s why you don’t do that. Instead you play to the system’s strengths, using demoscene type tricks (animating with splits, patterns, palettes, sprites, etc.) to show something big and smooth.

The Batman guys very carefully built this car select screen. The amount of colours of the car model, its height, the duration and cycle of the animation, the movie shutters not showing behind it, none of this is a coincidence. They put things together that are not too costly to do for the Z80 in a way that it looks very smooth and slick.

I think I gave a good description of how such an animation can be done (I think this is the technique they use, they’ve described it before). Crunching the numbers on paper is a great way to judge the feasibility before building something. In this case it is quite a simple example too. If you want to dismiss this as “some ideas on paper with a bunch of calculations”, well…

Página 13/14
6 | 7 | 8 | 9 | 10 | 11 | 12 | | 14