Smooth Scrolling?
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Smooth Scrolling?
I hope this isn't too stupid a question, but has there being any thought given to the practicality of a smooth (1 pixel at a time) map scrolling option rather than the game's 1 tile at a time scroll?
Re: Smooth Scrolling?
I think that, given the number of "walk" frames the characters currently have, with the screen scrolling smoothly, they would look like they're moonwalking.
Re: Smooth Scrolling?
Yeah, I didn't mean that the scroll should be slower or anything, just that the intermediate positions would be shown. I agree that the walks are limited but they would still occur once per tile (assumption on my part) and just as fast as at present (which already doesn't give you very long to observe how they actually move). I just notice that I find the jerkiness quite tiring on the eyes, and I can't play as long as I might otherwise.
Part of my interest is because I am looking at U7 (or a close facsimile) to use as an example to develop an engine for the GBA. Similar GBA games tend to scroll by the pixel.
But so far I haven't worked out how the rendering works in Exult so I don't know how practical my notion was (in Exult).
Part of my interest is because I am looking at U7 (or a close facsimile) to use as an example to develop an engine for the GBA. Similar GBA games tend to scroll by the pixel.
But so far I haven't worked out how the rendering works in Exult so I don't know how practical my notion was (in Exult).
-
- Site Admin
- Posts: 731
- Joined: Thu May 14, 2020 1:34 pm
Re: Smooth Scrolling?
Smooth scrolling in exult would require a substantial rewrite of much of the engine so it's not going to happen.
-Colourless Dragon
-Colourless Dragon
Re: Smooth Scrolling?
I don't want to question your know-how on exult's inner workings, but I would think that the main problem with this is that in U7 the frame rate is the same as the speed at which the game world runs.
But shouldn't it be possible to have an extra "mini-loop" in the main game loop that makes NPC's "slide" from one tile to the next every time they move? At a 1 pixel movement and tiles being 8 pixels across, this would mean increasing the new framerate to 8 frames per "game-tick", but tweaking the drawing algorithm a bit should make this work.
You would also only require one new variable for all the NPC's in the world, since every moving NPC will have "travelled" the same amount of pixels every frame (together with the NPC facing and position, this would make clear where between two tiles to draw the NPC sprite).
Since the Avatar is always centered, a little bit of extra work would be required to make the world "slide" right for Avatar movement.
So, the way I think it works, I believe that it should be doable and that it could be a major cosmetic improvement, but maybe I actually have no idea and what I'm saying is completely over the top...
But shouldn't it be possible to have an extra "mini-loop" in the main game loop that makes NPC's "slide" from one tile to the next every time they move? At a 1 pixel movement and tiles being 8 pixels across, this would mean increasing the new framerate to 8 frames per "game-tick", but tweaking the drawing algorithm a bit should make this work.
You would also only require one new variable for all the NPC's in the world, since every moving NPC will have "travelled" the same amount of pixels every frame (together with the NPC facing and position, this would make clear where between two tiles to draw the NPC sprite).
Since the Avatar is always centered, a little bit of extra work would be required to make the world "slide" right for Avatar movement.
So, the way I think it works, I believe that it should be doable and that it could be a major cosmetic improvement, but maybe I actually have no idea and what I'm saying is completely over the top...
Re: Smooth Scrolling?
Hmm, I forgot about running, chariots and moving horizontally.
Okay, I guess this is more complicated than I thought. But I guess it would work for NPC's that ONLY move horizontally or vertically and ONLY one tile at a time... well, it was fun for a moment
Okay, I guess this is more complicated than I thought. But I guess it would work for NPC's that ONLY move horizontally or vertically and ONLY one tile at a time... well, it was fun for a moment
Re: Smooth Scrolling?
Damn... in the above post, I mean that:
I forgot abount running, chariots and moving DIAGONALLY...
okay, okay, I'm going to sleep already... it's almost 3 AM over here...
I forgot abount running, chariots and moving DIAGONALLY...
okay, okay, I'm going to sleep already... it's almost 3 AM over here...
-
- Site Admin
- Posts: 731
- Joined: Thu May 14, 2020 1:34 pm
Re: Smooth Scrolling?
For a second time: Smooth scrolling in exult would require a substantial rewrite of much of the engine so it's not going to happen.
It's not just a simple as changing the rendering loop in Exult. If it were I would have done it long ago. Exult's main problem is it doesn't really have an idea of individual game frames. Things are controlled using a timer based system and attempting to change that is likely to cause you all types of pain.
-Colourless Dragon
It's not just a simple as changing the rendering loop in Exult. If it were I would have done it long ago. Exult's main problem is it doesn't really have an idea of individual game frames. Things are controlled using a timer based system and attempting to change that is likely to cause you all types of pain.
-Colourless Dragon
Re: Smooth Scrolling?
Colourless Dragon: Well, you ought to know. Shame, but thanks for a definitive answer.
Re: Smooth Scrolling?
Okay, it's definitely not going to happen in the near future. But, I see our releases having the following goals:
1.0: Ability to get through the complete plots of the games, even if the mechanics are fairly rough.
1.2: (Coming soon) Major code cleanup and bug fixes. Playability is as close as possible to the originals. (I just played BG and SI all the way through without cheating, and had far fewer problems than when I played the original games.)
1.4/2.0?: Modernize engine: Put all constants in data files; rewrite savegame format so you can have more than 1024 shapes; possibly support more than one map and/or maps of different sizes. So maybe we could redesign the game loop as Colourless suggested.
Of course, one challenge during a rewrite is to keep the game small and fast enough so it can still run on small devices like the Zaurus.
1.0: Ability to get through the complete plots of the games, even if the mechanics are fairly rough.
1.2: (Coming soon) Major code cleanup and bug fixes. Playability is as close as possible to the originals. (I just played BG and SI all the way through without cheating, and had far fewer problems than when I played the original games.)
1.4/2.0?: Modernize engine: Put all constants in data files; rewrite savegame format so you can have more than 1024 shapes; possibly support more than one map and/or maps of different sizes. So maybe we could redesign the game loop as Colourless suggested.
Of course, one challenge during a rewrite is to keep the game small and fast enough so it can still run on small devices like the Zaurus.
Re: Smooth Scrolling?
> Of course, one challenge during a rewrite is to keep the game small and > fast enough so it can still run on small devices like the Zaurus.
Hmm... I somewhat disagree to such a coding/maintenance approach:
I think that once you accomplish the goal of porting a certain application
to a small device like the zaurus, you should plan the next one with
superior limits in mind.
It's ok for version 1.0...1.1...1.2...1.X to mantain such a compatibility, but
probably a from-scratch or new-engine 2.0 version should aim higher and
think to the future (when, for sure, said small devices will be improved
and more powerful)
Just my couple eurocents
Hmm... I somewhat disagree to such a coding/maintenance approach:
I think that once you accomplish the goal of porting a certain application
to a small device like the zaurus, you should plan the next one with
superior limits in mind.
It's ok for version 1.0...1.1...1.2...1.X to mantain such a compatibility, but
probably a from-scratch or new-engine 2.0 version should aim higher and
think to the future (when, for sure, said small devices will be improved
and more powerful)
Just my couple eurocents
Re: Smooth Scrolling?
Trying to write small fast apps that can run on a Zaurus is aiming higher. Well at least the Zaurus users should agree here.
-
- Site Admin
- Posts: 1310
- Joined: Thu May 14, 2020 1:34 pm
Re: Smooth Scrolling?
I agree!
You said, the future should be the aim. Well it is! If you can run Exult on PDA, then you are properly aiming the future. Best now if you could even play Exult on a cellphone!
Artaxerxes
You said, the future should be the aim. Well it is! If you can run Exult on PDA, then you are properly aiming the future. Best now if you could even play Exult on a cellphone!
Artaxerxes