Grauw’s RPG in development

Страница 15/25
8 | 9 | 10 | 11 | 12 | 13 | 14 | | 16 | 17 | 18 | 19 | 20

By Grauw

Ascended (10583)

Аватар пользователя Grauw

09-05-2018, 00:33

Grauw wrote:

Another thing I found out is that, as you might know line interrupts can be set well beyond the bottom display line, up to line 234 at 60 Hz and 255 at 50 Hz. But the actual limit depends on the vertical adjust register. At 50 Hz, this actually means that an interrupt on line 255 does not fire if the user has adjusted the screen too far upwards. Must also be a little bug in VGMPlay then.

I did some further testing, conclusions:

  • The maximum line number is different for display height 192 and 212.
  • It matches up with the last line of the top erase time - 1.
  • Adjust doesn’t affect the maximum line after all (was an openMSX bug).

Maximum horizontal interrupt line:

  • 60 Hz, 192 lines: up to line 234
  • 60 Hz, 212 lines: up to line 244
  • 50 Hz, 192 lines: up to line 255 (actually: 258)
  • 50 Hz, 212 lines: up to line 255 (actually: 268)

Test program, hangs as soon as the line interrupt works:

10 VDP(10)=0     ' +2 for 50 Hz, +128 for 212 lines
20 VDP(19)=&H00  ' changing this in &H10 increments has no effect
30 FOR I=255 TO 0 STEP -1
40 PRINT I
50 VDP(20)=I
60 VDP(0)=VDP(0) OR 16
70 I$=INPUT$(1)
80 VDP(0)=VDP(0) AND 239
90 NEXT

Well, at least there’s no VGMPlay bug then…

By Manuel

Ascended (18794)

Аватар пользователя Manuel

08-05-2018, 21:23

Can you please put the details in yet another ticket? Thanks!

By Grauw

Ascended (10583)

Аватар пользователя Grauw

08-05-2018, 21:24

Way ahead of you Smile.

By Manuel

Ascended (18794)

Аватар пользователя Manuel

08-05-2018, 21:27

By Grauw

Ascended (10583)

Аватар пользователя Grauw

08-05-2018, 22:49

May be… the 10 line offset suggests we’re seeing an alternating 212-line and 192-line display height, and if they set a split at some line which openMSX thinks shouldn’t get a split, it might cause this effect.

Given that the maximum interrupt line doesn’t change with the vertical adjustment, I thought maybe IL wasn’t affected by vertical adjust, but it is and openMSX emulates that correctly. But I did notice on my real MSX that the top lines repeat when the adjust is 7 while overscanning (except for the last), openMSX doesn’t do this.

I think this could be explained by the VDP resetting its internal line counter up to seven lines later than usual (so the first few get an old value), rather than immediately after top erase with an offset. Which would explain the maximum interrupt line not changing.

In other words, vertical adjust changes the line on which the line counter is reset, rather than the value the line counter is reset to.

By Grauw

Ascended (10583)

Аватар пользователя Grauw

27-09-2020, 21:36

I added a little drop shadow underneath the player, as you can see here.

It tries to achieve a translucency effect by flickering it on and off every frame, it looked kinda nice in the emulator yesterday evening, but now that I tried it again, also on my turboR (on IPS flat panel display w/ OSSC), the flickering bothers me.

I also tried an alternating checkerboard pattern, but in motion you start to notice the pattern. Also when you blink your eyes. I think it may work if there is low contrast, to achieve some inbetween-colours, however probably that too doesn’t work well in motion, and only for small surfaces.

I think flickering for translucency works best if the effect itself has a “sparkly” nature to it (like the “mana shroud” effect).

By Manuel

Ascended (18794)

Аватар пользователя Manuel

10-08-2019, 15:07

I'm glad you're having fun, but I don't see the added value of the drop shadow. It seems an unimportant polish detail, whilst there apparently is still a lot to do for the game engine... Tongue

By Grauw

Ascended (10583)

Аватар пользователя Grauw

10-08-2019, 15:15

A bit harsh Manuel Smile. I work on what I want to work on, that’s how my motivation works. And I need to do some small things to get started back into the development of this, and this is one of them.

The value of the drop shadow is that it grounds the player (I think someone commented on it earlier).

I like to share experiences and get feedback.

By Manuel

Ascended (18794)

Аватар пользователя Manuel

10-08-2019, 15:14

Don't forget I started with: "I'm glad you're having fun!" Smile

I just remembered what Ronald Pieket Weeserik wrote in his interview:

Quote:

Make a game. Finish it. Polish it.

But anyway, yes, having fun is the number one thing.
For me it is too, but part of that fun comes from others having fun with my creations Smile And for that you need stuff that can actually be used Smile

Anyway, enjoy!

By Grauw

Ascended (10583)

Аватар пользователя Grauw

10-08-2019, 15:46

1. For me fun works differently, I get it from the development process, trying out new things and learning, and discussing it with others.

2. Additionally, doing some small things now has the function of me getting back into the code of this project, which I haven’t worked on for a couple of months. If I immediately start with something complicated now as you say I should, I will just get frustrated and fail.

3. This took me an hour at most. So I honestly don’t think you can say I’m wasting time. All you’re doing is discouraging me from sharing my findings.

4. I disagree with your assessment that this is polish. This flickering drop shadow is maybe small in size, but it’s part of the things I learn so I can decide whether and how I should use them. Graphics are currently one of the biggest chunks of work that needs to be done, and I’m not very experienced with it, so I need to learn a lot there.

All in all, despite starting with “glad you’re having fun”, I don’t need passer-by admonitions telling me I’m working on the wrong things and should get moving already.

Страница 15/25
8 | 9 | 10 | 11 | 12 | 13 | 14 | | 16 | 17 | 18 | 19 | 20