Jump to content
IGNORED

Ultima V World Explorer (in ANTIC mode E)


Recommended Posts

Hi,
as promised - just a few month late - here's an update to the Ultima V Datafile Interpreter,
aka Ultima V Map Explorer

 

 U5_MapExplorer_v002_PAL_commands.thumb.png.296ad8032058f81e58b4c7caa37d113a.png

The above screenshot of the splashscreen shows the implemented key commands.

 


Changes include:

  • Description texts for all tiles (Look)
  • Reading of all signs in Britannia (Look)
  • Better Line of Sight code 
     
    (Best result is actually a simple recursive 8-way floodfill algorithm, but it’s just too slow  ? , so I made some compromises to have a faster ‘gameplay’)
  • Doors, including searching for hidden doors (Open, Search)
  • Cannon shooting! (Fire) 
  • Lots of bugfixes
  • Usage of expanded RAM. This means you need a machine with 128KB to use the program.

 

 


Massive thanks go the maintainers of the Ultima V internal formats wiki, which is my guide to the Ultima V data structures: https://wiki.ultimacodex.com/wiki/Ultima_V_internal_formats

 

You will need to copy your original *.DAT files from the MSDOS version of Ultima V onto these disks:

 

U5_Britannia_(Disk 1 of 2).atr

Disk1: U5_Britannia.atr  (bootdisk)
            BRIT.DAT   

  

U5_Towne_(Disk 2 of 2).atr

Disk2: U5_Towne.atr
            TOWNE.DAT
            KEEP.DAT
            DWELLING.DAT
            CASTLE.DAT


At first bootup, sector-indices for these data files will be created, which will take it’s time and involves some disk swapping. This is only necessary once, the created index will be referred top at consecutive boots.


For those who are not so much into disk swapping and won’t use a real floppy drive anyway,
I created a an alternative 360k “QuadDensity” version: (U5_Mapexplorer_MultiDisk_(Disk 1 of 1).ATR)

U5_Mapexplorer_MultiDisk_(Disk 1 of 1).atr


Just copy all the .DAT files mention above into this disk image; the program won’t prompt you for disk swaps anymore.

 

 

 

Big thanks again to TeBe (MP is really great fun!!), JAC (WUDSN)  & XXL (xBootDOS)!

 

 

Sourcecode in the attached zipfile

U5_Mapexplorer_v002_sources.7z

 

 

Have fun!

 

U5_MapExplorer_v002_NTSC_Road_to_Paws.thumb.png.5be858dcee3aed7b22ac1b27a8f6381e.pngU5_MapExplorer_v002_NTSC_Castle_British.thumb.png.6fd76d93d2b9171465dfe5df450f343b.png

 

PS: A map may come handy on your hikes through Britannia: https://wiki.ultimacodex.com/wiki/File:U5map.jpg

 

 

Edited by Atlan_Roland
  • Like 3
  • Thanks 2
Link to comment
Share on other sites

  • 2 months later...

Dear A8-Ultima fans,
 

I thought i'll do some WIP release for those interested ..  and before i take the code apart (again) for some restructuring.

It's still learning by doing, so please apologize if the code or my uploaded development folder looks a bit messy.

 

The main thing to see are the NPCs walking around! Never thought i'll get that far really :)

Following I paste the README.TXT i put into the development folder, which should explain the current state and how to use the program.

Have fun!

 

PS: I'll start a new thread in main forum if i should - hopefully - continue on, unfinished as it is yet i think it still rather belongs into the programming section.

 

U5_A8__r2021.thumb.gif.57b3929f7c755ae433931e053b242af5.gif

 

This is a Work in Progress Release of an Ultima V resource file interpreter, 
implemented in Mad Pascal.

 

You are able to walk or sail around Britannia; enter all Dwellings, Townes, 
Castles and Keeps; interact with the world and watch the NPCs doing their 
daily routines. 

 

For now the NPC have no individual graphics but are always symbolized by the 
same tile. (except when they go to bed).
The Avatar cannot interact with NPCs yet, but it's possible to block their 
ways with impassable objects to prevent their schedules or force them 
to find alternative paths.

 

I found no information on how the original U5 NPCs movement was implemented - 
some say it was scripted - so the NPCs will certainly take some different paths 
between scheduled positions compared to the original releases.

 

This is a rather rough WIP release concerning the NPC logic and there are 
definitely bugs included and some logics (e.g. idling at positions) are not
fine tuned yet, but for now it runs stable without breaking :)

 

Next steps will include refinement of this NPC logic and i'll try to implement 
some tile graphics import tool, creating an easy access for possible future 
tile graphics designers :)


The software is based on interpreting the original Ultima V for MS-DOS 
Datafiles, so these original copyrighted files are mandatory.
(If you don't own it yet, you can for example buy it very cheap at 
Good Old Games: https://www.gog.com/game/ultima_456)


No copyrighted Ultima V files are distributed with this open source release.

 

Main CHANGES from release 2021/09 to 2021/11:
- NPC schedules: schedules are read from original *.NPC files 
- NPC pathfinding: realtime pathfinding by using Preppies implementation of a wave propagation algorithm: https: atariage.com/forums/topic/296187-pathfinding/?tab=comments#comment-4352556

- DLI color interleaving for 'shades of blue'        (graphics)  
- Overview map ( 'L'ook - crystal ball )             (gameplay)

- A (better) Tile Management Systen (TMS)            (internal)
- Started using RAM under ROM                        (internal)

 
 
Requirements:
- 128KB of RAM minimum (Rambo/U1MB/...). 
  More RAM is fine (256KB/320KB/512KB/...) but makes no difference (yet).

- Joystick is supported for movement.

- Double density disk drive or compatible device 
  (SIO2SD/Fujinet/SIDE2 or SIDE3 w/ U1MB/SDrive/...)

 

Installation:
To create ATR containers with all the files needed a MS DOS/Windows Batch file 
'mk_disks.bat' in the root directory of provided zip:

Running it you can:
1) Change PATH to your MS-DOS Installation of Ultima V  
  (default is the default GOG install directory)
  
2) Create two 180K DD ATR disks  (#1: Britannia  #2: Towne) -> use this if you 
   want to create real floppy disks - sorry, no 90K or 130K support (yet) 
     Output are two file (in the same directory): 
     UltimaV_Britannia.ATR
     UltimaV_Towne.ATR
     
     The game is booted from disk #1
or 

3) Create a single 360K QD ATR disk        -> no disk switching necessary,
   most convinient option for emulators. 
   Output is one file (in the same directory): 
     UltimaV_360k.ATR
     
     
     
Controls:
Cursor Keys or Joystick for movement

Implemented key commands yet:
  B - Board             
  E - Enter                
  F - Fire          
  F - Fire          
  G - Get           
  K - Klimb
  L - Look 
  O - Open
  P - Push
  S - Search
  X - X-it

(add. development key commands, only active in townes)
  V - toggle Field of View  
  B - toggle double buffering
  C - view a gem (=minimap) 
  

  
A map might come handy when hiking through Britannia:

U5map.jpg

 

 
Thanks:
Thanks for all the A8 tools, software & help i found and got at the Atariage 8-bit programming forum;

especially Tebe (Mad Pascal rules!), JAC!, Flashjazzcat, XXL, Playermissile, Preppie, Dmsc, Gury, Einar(zx0), the ABBUC Team, & so many more!

 

Special thanks to the Ultimacodex.com for the U5 Internal formats wiki (https://wiki.ultimacodex.com/wiki/Ultima_V_internal_formats#TOWNE.NPC)
and to Brad of Ultima V Redux (https://u5redux.wordpress.com/)

 

 

Ultima_v003.zip

Edited by Atlan_Roland
  • Like 9
  • Thanks 3
Link to comment
Share on other sites

  • 2 months later...

Dear thread readers,

contrary to my last post i'd like to attach another WIP release 'hidden' here for anyone interested.

Content of the current release README.TXT and a zip of my development folder attached.

 

 

Ultima V Map Explorer for Atari 8-Bit, Release 2022/01: day & night cycles!
This is a Work in Progress Release of an Ultima V resource file interpreter,

implemented in Mad Pascal.

You are able to walk or sail around Britannia; enter most Dwellings, Townes, 
Castles and Keeps; interact with the world and watch the NPCs doing their 
daily routines. 

There is no real game yet, but as a challenge you could try to find a way 
on the tower of the Castle of Lord British.

 

Big news in this release is the introduction of a day and night cycles,
where the more difficult part was to correctly calculate light distribution 
of light sources. 
Yet again i could not find information on the logics of these calculations,
and there are some differences to the original, but in general it works ok 
for now.


Also i finally implemented a correctly working 8-way non recursive floodfill 
algorithm, that is fast and .. correct :)


In other news we now have more interactions with NPCs, it's possible to block 
their ways with impassable objects to prevent their schedules or force them 
to find alternative paths.

(But NPC still have no individual graphics or animations and are always 
symbolized by the same tileset)

I found no information on how the original U5 NPCs movement was implemented - 
some say it was scripted - so the NPCs will sometimes take some different paths 
between scheduled positions compared to the original releases.

Next steps will include even more refinements of this NPC logics and data 
structures and i'll try to implement some tile graphics import tool, 
creating an easy access for possible future tile graphics designers :)


A big future milestone would be to implement talking to NPCs..

 

--

The software is based on interpreting the original Ultima V for MS-DOS 
Datafiles, so these original copyrighted files are mandatory.
(If you don't own it yet, you can for example buy it very cheap at 
Good Old Games: https://www.gog.com/game/ultima_456)


No copyrighted Ultima V files are distributed with this open source release!


Main CHANGES from release 2021/11 to 2021/01:

- FOV calculation: Correctly working fast 8-way non recursive floodfill algorithm

- Day and night cyles, including dusk and dawn phases.

- Mostly correct light shine calculation of light sources at night.

- Skyview display with correct moonphases of the two Moons, Trammel & Felluca.

- NPC schedule & pathfinding improvments.

- More world interaction, more commands ( I-gnite, V-iew a gem; ..)

- Lots of Bugfixes.


 
Requirements:
- 128KB of RAM minimum (Rambo/U1MB/...). 
  More RAM is fine (256KB/320KB/512KB/...) but makes no difference (yet).

- Joystick is supported for movement.

- Double density disk drive or compatible device 
  (SIO2SD/Fujinet/SIDE2 or SIDE3 w/ U1MB/SDrive/...)

 

Installation:
To create ATR containers with all the files needed a MS DOS/Windows Batch file 
'mk_disks.bat' in the root directory of provided zip:

Running it you can:
1) Change PATH to your MS-DOS Installation of Ultima V  
  (default is the default GOG install directory)
  
2) Create two 180K DD ATR disks  (#1: Britannia  #2: Towne) -> use this if you 
   want to create real floppy disks - sorry, no 90K or 130K support (yet) 
     Output are two file (in the same directory): 
     UltimaV_Britannia.ATR
     UltimaV_Towne.ATR
     
     The game is booted from disk #1
or 

3) Create a single 360K QD ATR disk        -> no disk switching necessary,
   most convenient option for emulators. 
   Output is one file (in the same directory): 
     UltimaV_360k.ATR
     
     
Controls:
Cursor Keys or Joystick for movement

Implemented key commands yet:
  B - Board             
  E - Enter                
  F - Fire                    
  G - Get 
  I - Ignite torch          
  K - Klimb
  L - Look 
  O - Open
  P - Push
  S - Search
  V - view a gem (map overview)
  X - X-it

  
Thanks:
Thanks for all the A8 tools, software & help i got and found here at the Atariage 8-bit programming forum!

 

UV_Britain_at_night.thumb.png.aa80be86f2a7453ae83576b84ebaf35a.png

Ultima_v004.zip

Edited by Atlan_Roland
  • Like 4
  • Thanks 3
Link to comment
Share on other sites

  • 5 months later...

I'm still working on the project, but don't feel it's "release worthy" yet.

But for those interested, attached my current development folder, including all sources, tools and a WIP version.


The latest milestone was the implementation of the U5 conversation scripts, which i'm happy to have achieved! :) 

It's now possible to use the (T)alk command to start a flawless conversion with (most) of the inhabitants you'll meet on your journeys!

 

So I hope there are some Ultima fans that are interested in what an 'Atari optimized' U5 port might have looked like 

 

So if you want to try it out:

> Start the (MS-DOS) script called 'mk-disks.bat' 

It will tell you'll need a set of original data files from the MS-DOS version of Ultima V.  -  copyright issues..
> Press 1 to change the path to a local installation. (As default the Path to the GOG version of U5 is already set)

> Chose 2 or 3 to let the script populate ATR images with all the needed files.

These disk images will be created in the same directory as the script resides in and are called

UltimaV_360k.ATR

or 

UltimaV_Britannia.ATR & UltimaV_Towne.ATR  for the two disk version.

 

image.thumb.png.e5e539a9956399e51540660dd9590bfd.png

 

 

The first run of the software will take its time, as an index for the imported map files need to be created. With the two disk version this will also include a fair amount of disk swapping. Consecutive starts will be much faster.

I tested this version with Altirra, and on real hardware with SIDE3, Fujinet and also a (minispeedy modded) 1050 drive.

 

 

Enjoy walking & talking through Britannia :)

 

 

README_v005.TXT

Ultima_v005.zip

Edited by Atlan_Roland
  • Like 6
Link to comment
Share on other sites

  • 5 months later...
On 4/18/2021 at 8:02 AM, Atlan_Roland said:

ULTIMAV_mode4_v0.01_Splashscreen.thumb.png.1a0ce506ce736d0a437cca35e194c6ce.png

 

Hello,
since I got back into Atari and discovered the excellent Mad Pascal compiler, I fell into programming again .. so here’s my first Atari program since Atari BASIC programs in the late eighties, also my first pascal program again after .. decades?

My target is Ultima V: I was envious in the late 80ies when I saw it at my C64 owning friends  - I was impressed by that open world RPG approach!; where I sat at home with my 800 XL without much access to software, fiddling around with some BASIC..

So now -  decades later – I can find remedy with the power of Mad Pascal, by writing my own Ultima V port ;)
Of course port is a much too big word! It almost certainly will never reach the state of a full game.
What you can do is to explore the Lands – an Seas - of Britannia; visit it’s famous towns, mighty castles & picturesque villages!
Some basic interaction with the world is possible – rearrange your room, go eat out at one of the many taverns or maybe you care to play 'Stones' on the harpsichord? ;)
(See splash screen for the available commands)

As I’m in PAL land, I never had the possibility of mode F artifacting on real HW, like it was done in Ultima IV. Also I think that a more colourful approach would be nice:
so the idea to use ANTIC mode E  for the map viewport, with a 13x10 grid - widescreen! (The original is11 x 11).
A tile consist of 12x16 pixel. I converted them from the original assets – available on the net – from 16x16x4c down; and did some basic manual retouching.
I’m not good at graphics, so I guess there’s great potential left in the tile design if a real pixel artist would put his hands on that.
What I tried though is to make use of “PAL blending” to create a fifth color – grey - and used that for walls, rocks, mountain, ..
Another future possibility is to do some PM “augmentation” to the tiles, similar like it is now done for the Avatar tile. Adding red for torches, fires and the like would be an ideal candidate, since it would even look like by design should it flicker ;)

The text and info ‘console’ is layout below the map (instead as on the right side like in the original), using mode 2. I extended the displaylist from the standard 192 to 216 scanlines to make more room.. I could only test NTSC with Altirra, where it seems usable still.

The attached ATR is a 180K DD mydos disk using xBootDOS.
I did not include the original .DAT files that are needed by the program, since I guess that they are still under EA copyright:
You would have to copy them by yourself on the disk; I used the files from MSDOS version that GOG offers. The files currently needed are:
BRIT.DAT
CASTLE.DAT
DWELLING.DAT
KEEP.DAT
TOWNE.DAT

(the program will created index files at the first run and tell you if it misses a certain file)

 

 

I’ll be glad to share the sources and assets if there is interest!  (Just needs some clean up first as it grew in all direction while writing and learning)
 

Big thanks to @tebe, @jac!, @gury & @xxl for their development tools that I’m using, and the whole Atariage 8-bit forum for the tons of  information I’m getting from here! Thank you!

 


So, what do you think of the idea of doing an Ultima V engine in such a layout?

 

ULTIMAV_mode4_v001_map.thumb.gif.0c06c080c988c9d8d0138557b4a70556.gif


 

PS: I was looking for pokey conversions of Ultima songs, but could not find any..
maybe someone knows more about that?  Music would be a great addition!

 

 

ULTIMAV_WorldExplorer_v0.01.atr.7z 47.5 kB · 76 downloads

Very cool!

I was going to reccomend doing a P/M trick to get hires color, but your using Antic E/4/5 and not F/2/3. You can get 3 colors in F/2/3 by overlapping players and the background (You can get more, but then you are limited to vertical bars, so this is better.).

Link to comment
Share on other sites

Actually, i didn't put very much effort into the logo - just wanted to have some splashscreen at startup.

So the logo was done by loading a existing - googled -  UltimaV EGA logo into AGS ( Atari Graphics Studio by @tebe ) and it did the conversion all by itself.

Result is great, didn't do any touch up, just some color picking :)

 

Same goes to the Antic E tileset i'm using in the engine: mostly just automatic color reduction and downsizing 16x16 to 12x16 tiles the original EGA UltimaV tileset, with some minor manual touchup.

 

A reworked tileset by an talented hand would really improve the whole thing.

https://wiki.ultimacodex.com/wiki/Ultima_V_internal_formats#.22tiles.4.22_and_.22tiles.16.22

 

As I'm not a artist, I'd be very happy if someone is interested in creating graphics for an Atari UltimaV!  :) 

 

Edited by Atlan_Roland
Link to comment
Share on other sites

6 hours ago, Atlan_Roland said:

Actually, i didn't put very much effort into the logo - just wanted to have some splashscreen at startup.

So the logo was done by loading a existing - googled -  UltimaV EGA logo into AGS ( Atari Graphics Studio by @tebe ) and it did the conversion all by itself.

Result is great, didn't do any touch up, just some color picking :)

 

Same goes to the Antic E tileset i'm using in the engine: mostly just a automatic color reduction an shrinking from the original EGA UltimaV tileset, with some minor manual touchup.

 

A reworked tileset by an talented hand would really improve the whole thing.

https://wiki.ultimacodex.com/wiki/Ultima_V_internal_formats#.22tiles.4.22_and_.22tiles.16.22

 

As I'm not a artist, I'd be very happy if someone is interested in creating graphics for an Atari UltimaV!  :) 

 

If you hadn't told me, I wouldn't have known. :) 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...