Scrolling world map for an RPG

Here you can ask questions or provide insights about how to use efficiently 6502 assembly code on the Oric.
User avatar
Hialmar
Flight Lieutenant
Posts: 381
Joined: Tue Mar 04, 2014 11:25 am
Location: Toulouse, France
Contact:

Scrolling world map for an RPG

Post by Hialmar »

Hello everyone,

I want to do a 4th Tyrann in memory of Maximus.

He started this game a long time ago but it ended up in limbo.

The goal was to make something like Ultima IV. A world map which allows to walk between towns and dungeons. Dungeons will be in 3D using the code from Tyrann 3 and the combats will be turn by turn like in the Tyrann games.

I have started to look at the code from TOL and from Oricium.
TOL is way too complex for me so I am more inclined to start from Chema's code.

If I missed other such code please tell me.

Thanks a lot guys.
Hialmar
CEO and Silicium member.
User avatar
Dbug
Site Admin
Posts: 5361
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Scrolling world map for an RPG

Post by Dbug »

I'm not sure how Oricium map is organized, but it's probably optimized for quick display, and the maps are not that large so they don't have to be complex.

TOL on the other hand has massive maps, so (as far as I remember) it's made a reusable tiles made of multiple tiles, like trees, roads, etc... so a larger map can be stored more efficiently, but obviously that brings complexity.

Generally speaking you need to figure out the type of world you want to display, how large it is, and the level of detail, then from that figure out what works memory wise.
User avatar
Chema
Game master
Posts: 3289
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Scrolling world map for an RPG

Post by Chema »

Dbug wrote: Mon Jan 19, 2026 6:46 pm I'm not sure how Oricium map is organized, but it's probably optimized for quick display, and the maps are not that large so they don't have to be complex.

TOL on the other hand has massive maps, so (as far as I remember) it's made a reusable tiles made of multiple tiles, like trees, roads, etc... so a larger map can be stored more efficiently, but obviously that brings complexity.

Generally speaking you need to figure out the type of world you want to display, how large it is, and the level of detail, then from that figure out what works memory wise.
Indeed. The method used in Oricium is quite simple: a map 256 characters wide (alinged to a page, each row starts at the begining of a page, making accesses quicker). Each byte contains a character code. It is TEXT mode for speed, so there are not too many tiles (redefined characters) available. I chose to change between standard and alternate sets every other row to have more tiles available.

You can always generate the map on the fly, but the tileset will always be quite reduced.

Then you have to paint your sprites on top of that, which require more characters....

If you choose hires, you can have a look at the source of SkoolDaze, but scrolling at a decent rate will be difficult. In this case, you draw the tiles yourself, so you can have up to 256. It is a similar technique, anyway. And I did the same for Blake's 7.

You can always use 12x16 or 18x24 or any other combination for tile size.
User avatar
Hialmar
Flight Lieutenant
Posts: 381
Joined: Tue Mar 04, 2014 11:25 am
Location: Toulouse, France
Contact:

Re: Scrolling world map for an RPG

Post by Hialmar »

Thanks both for your input.

I will start with Oricium code and if I end up missing space or characters I will switch to Hires.

About the size of the map, as I am only starting I will start small.
Hialmar
CEO and Silicium member.
User avatar
Dbug
Site Admin
Posts: 5361
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Scrolling world map for an RPG

Post by Dbug »

Remember that if you do the map in TEXT mode you only have 96 characters per charset, and only 64 are usable in the ALT charset if you want to keep the entire 40x28 TEXT area usable.

If you can handle having the top of the screen in HIRES, for example so show some graphics, logo, game information, etc... then you can also use the 96 full charset in ALT mode.
User avatar
Hialmar
Flight Lieutenant
Posts: 381
Joined: Tue Mar 04, 2014 11:25 am
Location: Toulouse, France
Contact:

Re: Scrolling world map for an RPG

Post by Hialmar »

Ah yes it could be a good idea. Thanks.
Hialmar
CEO and Silicium member.
User avatar
Chema
Game master
Posts: 3289
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Scrolling world map for an RPG

Post by Chema »

Oh, and btw it is possible to have smoother scrolling by changing the tileset with rotated (or pre-rotared) versions of the graphics. That is what is done with the background star field in Oricium, and can be extended to all the graphics to get a (say) 2 pixel scroll.

I was never able to implement that because you would also need to shift the sprites themselves which needs more tiles (to have empty space to shift the pixels to) and I simply ran out of them.

I also needed more tiles because I had to run at 25 fps and cannot dynamically change the graphics of the sprites on the fly (it was noticeable and horrible) so had to use a second set of tiles. Maybe a more efficient drawing routine and racing the beam to get some extra cycles could do, but seems too tight.

The real limitation I see here is that we only have 96 tiles per charset. And they are used up rather quickly. Else we could have our own version of Cobra (speccy)!
User avatar
Hialmar
Flight Lieutenant
Posts: 381
Joined: Tue Mar 04, 2014 11:25 am
Location: Toulouse, France
Contact:

Re: Scrolling world map for an RPG

Post by Hialmar »

Thanks for the info. I will think about it but yes it could be hard with so little tiles.
Hialmar
CEO and Silicium member.
User avatar
Symoon
Archivist
Posts: 2547
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Scrolling world map for an RPG

Post by Symoon »

I recall DrPsy made a scrolling map based on chars in the Forumactif forum. Couldn't find it back, it was called TextMovingMap2.zip and around late 2018 or January 2019.
User avatar
coco.oric
Squad Leader
Posts: 795
Joined: Tue Aug 11, 2009 9:50 am
Location: North of France
Contact:

Re: Scrolling world map for an RPG

Post by coco.oric »

I recall DrPsy made a scrolling map based on chars in the Forumactif forum. Couldn't find it back, it was called TextMovingMap2.zip and around late 2018 or January 2019.
Hello, i think this link is about the scrolling but from Retroric !
https://oric.forumactif.org/t637p25-cod ... bleur#7982
coco.oric as DidierV, CEO Member
Historic owner of Oric, Apple II, Atari ST, Amiga
User avatar
Symoon
Archivist
Posts: 2547
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Scrolling world map for an RPG

Post by Symoon »

Thanks Didier!

Actually DrPsy made the assembler version, which is also available in the thread, in two versions.
Here's the video
https://www.youtube.com/watch?v=Q_1C6xmVwWo&t=4s


There are even moving waves in the 2nd version, which don't appear on the video.
jsk
Pilot Officer
Posts: 84
Joined: Mon Jun 29, 2020 10:11 pm

Re: Scrolling world map for an RPG

Post by jsk »

Oricium is impressive.

But, you know, I think you can actually have 4 charset? ;-)

But they can only be used in different regions.

-------------------
Text 25 lines using normal TEXT-charset & ALT
...
...
... * <- here switch to graphics mode!
--------------------
Now we're in graphics mode and the last
3 lines of text use the graphics charset
So we have one more graphics chartset and alt charset
* Last text-screen lcoation switch to text mode
(Or at first HIRES 8 rows)
---------------------

Of course, this is limited, but it means you can have some
Advanced animations in the bottom.
Chema wrote: Fri Jan 30, 2026 8:49 am Oh, and btw it is possible to have smoother scrolling by changing the tileset with rotated (or pre-rotared) versions of the graphics. That is what is done with the background star field in Oricium, and can be extended to all the graphics to get a (say) 2 pixel scroll.

I was never able to implement that because you would also need to shift the sprites themselves which needs more tiles (to have empty space to shift the pixels to) and I simply ran out of them.

I also needed more tiles because I had to run at 25 fps and cannot dynamically change the graphics of the sprites on the fly (it was noticeable and horrible) so had to use a second set of tiles. Maybe a more efficient drawing routine and racing the beam to get some extra cycles could do, but seems too tight.

The real limitation I see here is that we only have 96 tiles per charset. And they are used up rather quickly. Else we could have our own version of Cobra (speccy)!
User avatar
Hialmar
Flight Lieutenant
Posts: 381
Joined: Tue Mar 04, 2014 11:25 am
Location: Toulouse, France
Contact:

Re: Scrolling world map for an RPG

Post by Hialmar »

Thanks a lot. Laurent/retroric said that he wanted to help with the game.

This will be an awesome start.
Hialmar
CEO and Silicium member.
User avatar
Chema
Game master
Posts: 3289
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Scrolling world map for an RPG

Post by Chema »

jsk wrote: Fri Feb 06, 2026 9:49 am
Now we're in graphics mode and the last
3 lines of text use the graphics charset
So we have one more graphics chartset and alt charset
* Last text-screen lcoation switch to text mode
(Or at first HIRES 8 rows)
---------------------

Of course, this is limited, but it means you can have some
Advanced animations in the bottom.
Did you notice the radar at the bottom? 😉
Post Reply