Enterprise Forever

:UK => Other topics => Topic started by: SlashNet on 2023.November.23. 19:24:36

Title: Graphical experiments
Post by: SlashNet on 2023.November.23. 19:24:36
Just wondering if it's possible to make a game with mixed interlace graphics mode.
For example, the even-numbered rows display a multicolor background picture (static or uses repeating graphics that can be animated by changing the LPT table), and the odd-numbered rows are used for a 4-color game screen.

Will it work to make normal gameplay speed?

On an LCD monitor the interlace mode should be displayed without blinking and the final picture looks pretty solid (you will see flickering in the emulator, it is better to use real hardware).

For better understanding I have prepared a test picture with the help of which you can estimate the approximate result.[attach=1]

Photo from real screen:
[attach=3]
Title: Re: Graphical experiments
Post by: geco on 2023.November.24. 08:04:20
Just wondering if it's possible to make a game with mixed interlace graphics mode.
For example, the even-numbered rows display a multicolor background picture (static or uses repeating graphics that can be animated by changing the LPT table), and the odd-numbered rows are used for a 4-color game screen.

Will it work to make normal gameplay speed?
If you set up the game screen (4 colour mode) to the same location in both part of interlace LPT, the game even should be faster, because the screen size will be the half of the original, if the set up is that even game rows in 1st block of the LPT, odds are in the 2nd block in interlace LPT then the game speed would be the same, or littlebit slower, but i think normal game speed can be reached.

The size of Video memory can be the limit of the attribute screen animations. By default your setup uses more than 32KB of memory, it can be 40KB also if we have LPB for each pixel line.
Title: Re: Graphical experiments
Post by: geco on 2023.November.24. 08:13:04
Without LPT animation we can easily try out, if i remember well the game what is used for test is Tenebra, we can test it on that game if you want, remove the game's original LPT, create our own with the picture, and that should be all required action.
Your idea works with even row attribute background, odd row attribute game screen.
Title: Re: Graphical experiments
Post by: geco on 2023.November.24. 09:53:04
For Tenebra we need:
6912  bytes for Speccy Attr screen
12288 bytes for the bckground Attr screen (if we use the same size 32*24, it can be bigger also)
6400  bytes approximately for LPT
sum: 25600 bytes of video memory
Title: Re: Graphical experiments
Post by: SlashNet on 2023.November.24. 12:07:28
Idea was came from gameplay video of Iridion "3D" for GameBoy Advance.

https://youtu.be/xeA3UnsBvtY?t=1645

There no any 3D. Just looped prerendered 3d animation at background and simple sprites at top.


Same effect with animated background used in My Day on the Highway for Commodore 64 https://youtu.be/cv2FWWNywsA

For some sideview scrollshooter I think will be easier make animated scrolling background using only LPT (even with parallax effect).
Title: Re: Graphical experiments
Post by: geco on 2023.November.24. 14:07:51
Yes, and for example for a My Day on the Highway type game even 4 color character mode can be used to save memory, and by interlace we can mix it with a useful graphics mode.
But let's try out Telebra 1st, what do you think?
Title: Re: Graphical experiments
Post by: SlashNet on 2023.November.24. 18:38:59
I used Tenebra to see how the monochrome graphics would look on a more colorful background.
And specifically chose a dark background and light sprites, so that the background would not so noticeable visible through the opaque objects on the top layer.

Tenebra is a turn-based game and won't have as much noticeable performance sag on it.
But because of its simplicity, it will be quicker to try out the visual effect. :)

Found another good example for animation using LPT: https://youtu.be/CR0MWpOK1RU?t=983
Title: Re: Graphical experiments
Post by: geco on 2023.November.24. 18:59:32
I think it would be better 1st to try it out on a simple game, some animation can be inserted into the background.
I think the last example is not good for LPT animation, or it can be used, but then we would have a fix picture, and we would loose the deepness/highness.
Title: Re: Graphical experiments
Post by: SlashNet on 2023.November.24. 19:31:13
Maybe it's implemented differently, but the "parallax effect" is used in these demos.

https://youtu.be/2fVjSLmclg4?t=70
https://youtu.be/kASIeFyY4X8?t=153


We can create the next animation using only the LPT modification, right?
https://youtu.be/CbKQ-OTcUvg

Or am I wrong?
Title: Re: Graphical experiments
Post by: geco on 2023.November.24. 19:57:08
Maybe it's implemented differently, but the "parallax effect" is used in these demos.
The problem is not the parallax, by that we could solve the deepness, the problem i think, but it can happen i am wrong, when the player moves up/down, the screen changes also, probably i am wrong, and we could solve it also.

We can create the next animation using only the LPT modification, right?
Or am I wrong?
No, you are right.

Could you please upload your interlace picture, i would play a bit, check how it works.
Title: Re: Graphical experiments
Post by: SlashNet on 2023.November.24. 20:15:45
The problem is not the parallax, by that we could solve the deepness, the problem i think, but it can happen i am wrong, when the player moves up/down, the screen changes also, probably i am wrong, and we could solve it also.
No, you are right.

Yes, it changes as the player moves up/down. But, as for me, it’s not entirely difficult (but also, of course, not that simple). :)

The roofs is always visible, the road is always "hide" behind the roof, and the visible width(height) of the building walls simply varies the number of lines displayed (like wall textures in Wolf3D).


Could you please upload your interlace picture, i would play a bit, check how it works.

You mean source image before processing in epimgconv.exe?

The conversion options seem to be the same as in the screenshot.
Title: Re: Graphical experiments
Post by: geco on 2023.November.24. 21:09:35
Yes, it changes as the player moves up/down. But, as for me, it’s not entirely difficult (but also, of course, not that simple). :)

The roofs is always visible, the road is always "hide" behind the roof, and the visible width(height) of the building walls simply varies the number of lines displayed (like wall textures in Wolf3D).
Aspect ration does not change?
There is other problem, for pixel scroll, we need to keep everything 4 times in the memory.

You mean source image before processing in epimgconv.exe?

The conversion options seem to be the same as in the screenshot.
I meant the EP binary, but i will create it :)
Thx
Title: Re: Graphical experiments
Post by: SlashNet on 2023.November.24. 21:23:06
Aspect ratio does not change?
I don't see it.

There is other problem, for pixel scroll, we need to keep everything 4 times in the memory.

But in the Sword of Ianna menu the water effects are shifting pixel by pixel (I understand that the 16 color mode has wider pixels)
Title: Re: Graphical experiments
Post by: geco on 2023.November.24. 23:33:06
But in the Sword of Ianna menu the water effects are shifting pixel by pixel (I understand that the 16 color mode has wider pixels)
Yes, and i use 2 pictures to be able to create water effect, if a line is moved by 1 pixel then that LPB points to the appropriate row of shifted picture, and if not, then LPB points to the appropriate row of non shofted picture.
Title: Re: Graphical experiments
Post by: geco on 2023.November.24. 23:36:35
Here is the Tenebra with background picture, looks cool (it does not flash for me on emulator, probably buffering settings)
I do not know if we change the LPT setting to set into the 1st interlace part even lines to background, odd lines to game, and 2nd part odd lines to background, and even lines to game then it will make positive effect on screen flashing or not.
Title: Re: Graphical experiments
Post by: SlashNet on 2023.November.25. 10:54:33
I do not know if we change the LPT setting to set into the 1st interlace part even lines to background, odd lines to game, and 2nd part odd lines to background, and even lines to game then it will make positive effect on screen flashing or not.

I think there's going to be a noticeable shivering of the picture.

Don't know if such interlaced mode will be any different from the usual (non-interlaced) interleaving of pictures but in different graphics modes. :smt017
Title: Re: Graphical experiments
Post by: SlashNet on 2023.November.25. 17:21:11
Tested on real EP (captured by the TV tuner, but looks the same when connected directly).

https://youtu.be/NLa2EwLd-i8

While on a small screen everything looks pretty good, on a large screen the picture still looks quite striped. :(
Title: Re: Graphical experiments
Post by: geco on 2023.November.25. 17:46:53
While on a small screen everything looks pretty good, on a large screen the picture still looks quite striped. :(
I guess it is because the resolution of the TV, it is able to show the "empty" game lines.
Title: Re: Graphical experiments
Post by: SlashNet on 2023.November.25. 18:47:33
I use Composite to HDMI converter and sometimes TV-tuner to view EP videosignal at LCD monitor.
Right now it's a standard b/w, but soon I'll make a color composite mod and see how the image looks.