Jump to content
IGNORED

Ultima V World Explorer (in ANTIC mode E)


Recommended Posts

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

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

@Atlan_Roland

 

Amazing job so far! I would actually post in the main A8 forum as you've already built an exploration engine.

 

This is more than a tech demo by my standards.

 

Also, I would love to know more about your dev env (beyond Mad Pascal).

 

Again, thank you for tackling Ultima V!

 

Sidenotes:

 

Ultima V - Rob Satonica 1988 Port Attempt - ATARIMANIA

 

The Mystery of Ultima V for the Atari 8-Bit (Rob Satonica) - ATARI AGE 2012

  • Like 3
Link to comment
Share on other sites

Hi,
thanks for the replies!
Yes, I know the posts from Rob Santonica, also checked out his code!  It was actually part of my motivation to try something like he did !
With nowadays cross-compiler tech  it is so much easier to get results, I would not have gotten this far without modern tools – I have big respect for Rob for what he managed to achieve back then!!

Ok, will embarrass myself now with releasing my current code – I’m just a hobbyist programmer!;
on the other hand some fragments may help other newbies starting to program for the Atari – and I will also save the code from falling into the eternal void :)

I did not tidy up the codebase (just removed the original .DAT files), so for anyone daring or interested, attached below is my current development folder.

The compile scripts are attached separately as they are  located in c:\mp\ (Mad Pascal v1.6.5, from @TEBEs github master branch) and they create  ‘Ultima.pas’ (main); ‘U_Loader.pas’ (Startup code to load and prepare memory structures) and a helper tool called ‘Converter’ (which loads the tile assets from .MIC (micropainter) files and saves the data as .TIL (tile data).

 

The screenshot shows where I hooked those batch files into @JAC! ‘s  WUDSN – my main IDE. (https://www.wudsn.com/)

image.thumb.png.cd740201c6290511687ac70b37df91e7.png

 

 

In the development subfolder "_TILEBASE" the main graphic assets are located.
The tile graphics source is "NEW__TILE_BASE_12x16.xcf" (a GIMP File), from which I export NEW__TILE_BASE_12x16.png; that is further processed by the batch file ‘ro_make_tiles.bat’
which does some pre-processing, puts ZX0 compressed MIC files onto the .ATR, so that in another step, the ‘Converter’ can create the .TIL datafiles, with the game finally uses ..    yes, it’s all work in progress ;)

I keep track of memory allocations and (Tile) data structures & precalculations with the spreadsheet "_MASTER_Memory_Map.xlsx’" located in the development root.

 

Unfortunately the code is only sparsely documented - probably with some german fragments in between. If someone finds some use of it or has a question, just ask and I could try and explain.

Also if someone wants to continue on from here, feel free to do so!; I’d as happy just playing UltimaV on the Atari instead of programming it :D


My (probable) next steps:
Need to rearrange the code to make it fit for further development and I need to find some better and more sutainable memory management system:
Until now I just crammed anything I could into the available memory (lots of  graphic tiles, a double buffer, ..); need to restructure it  to get more game logic in – and will probably go for 128KB as the minimal target. 
I’d be delighted if I could someday get as far as to put NPC and their schedules into the engine :)


Short time goal is also to fix my buggy Line Of Sight (LOS) code and still keep it fast enough.
(Ultima V LOS logic is actually a floodfill algorithm.)

Please don’t expected fast development or releases here! My intention is rather to slow down with it, now hat spring arrived..

 

 

Ultima_v001_development_folder.7z ro_makefile_converter.bat ro_makefile_U_Loader.bat ro_makefile_ultimaX.bat

  • Like 4
Link to comment
Share on other sites

  • 5 weeks later...
On 4/18/2021 at 5:35 PM, Gury said:

This is great idea to see this on Atari. As these levels are copyrighted I hope there will be other way to play Ultima V.

Nice to see this made with Mad Pascal

Keep up the good work! ?

 

Gury... one question. Why don´t you update your web site atari 8 bit forever? Before all thanks for all the data that is there.

Link to comment
Share on other sites

Hi Alexander,

 

That is a good question! Let me describe the situation about my site. There were some changes on the host server, which led to new rules, which are the basis for connecting to FTP server. The one I didn't resolve yet is confirming the certificate before connecting to FTP through host server. I tried many things with no success. The host webmaster explained me he didn't have any problems, he even used the same tool for connecting to FTP server -> Total Commander.

 

I am more than willing to continue with updating my site, but I have no access to it for 2 years now :(

 

  • Sad 1
Link to comment
Share on other sites

Hello sanny,

 

I suppose it is Linux server (atari8.info). I use phpmyadmin for database changes and access FTP server through Total Commander. I also tried Filezilla with no success. I suspect there are some new rules after updating Windows last year.

Here is a dialog box which shows after trying to access FTP host server:

 

ftpcert.png.5d9ae70beaf3ede0c3f8b9ee16be6e52.png

 

Link to comment
Share on other sites

On 5/22/2021 at 9:10 AM, Gury said:

Hello sanny,

 

I suppose it is Linux server (atari8.info). I use phpmyadmin for database changes and access FTP server through Total Commander. I also tried Filezilla with no success. I suspect there are some new rules after updating Windows last year.

Here is a dialog box which shows after trying to access FTP host server:

 

ftpcert.png.5d9ae70beaf3ede0c3f8b9ee16be6e52.png

 

 

What happens when you click on "Yes"?

 

I'm using ssh/scp to transfer files to and from my server.

 

regards,
chris

Link to comment
Share on other sites

Hi,

When I confirm this dialog, just a quick connection info log appears and when it closes, nothing happens. There is no visible FTP folder open for me on server side after that. I suspect everything changed after host server migrated to https and FTP secure server. There is a mention of a special file to be put on specific folder for Total Commander, but I am not sure if this will solve my specific problem.

Maybe the other possible problem is a firewall on my Windows system, which possibly blocks this channel. That is to be checked, too.

The funny thing is I have no problems with the other FTP server for other stuff.

 

I will report back for any progress. Unless somebody comes to save me and solve my problem :)

I hope everything will be solved so I can continue to update the site with new contents!

 

Regards

 

Link to comment
Share on other sites

This would be very cool.  Just curious wouldnt it be easier to convert the graphics to Mode 8 using artifacting from the Apple version?  The boat/dock/player look a bit squished in the image above.

 

Regardless any U5 release on the 8 bit would be welcome.

Link to comment
Share on other sites

On 5/22/2021 at 3:10 AM, Gury said:

Hello sanny,

 

I suppose it is Linux server (atari8.info). I use phpmyadmin for database changes and access FTP server through Total Commander. I also tried Filezilla with no success. I suspect there are some new rules after updating Windows last year.

Here is a dialog box which shows after trying to access FTP host server:

 

ftpcert.png.5d9ae70beaf3ede0c3f8b9ee16be6e52.png

 

You might need the intermediate cert for Unizeto Technologies S.A.    They should be able to provide this.

 

In my experience, that usually what causes valid certs to show up as "untrusted"

 

Edit:  This document says to check the "Always trust this server" checkbox,   could it be that simple?

 

https://filezilla.software/2019/02/26/how-to-install-an-ssl-certificate-for-filezilla/

 

Edited by zzip
  • Like 1
Link to comment
Share on other sites

5 hours ago, Gury said:

When I confirm this dialog, just a quick connection info log appears and when it closes, nothing happens.

Your problem might be the name mismatch between the certificate (*.linux.pl) and the host name (atari8.info) you try to access.

Using DNS I found out that your host has a second DNS entry with the name s8.linuxpl.com which matches the certificate's domain.

 

Since I do not have Total Commander, I tried it using Filezilla which showed me a not trusted message as well, but after I selected "Always trust certificate in future sessions", it remembered the certificate.

Having not used FTP over TLS, I can only speak for web browsers:

With web browsers you also can manually trust unknown certificates. But this does never work if the name on the certificate does not match the hostname which you try to access. I guess that FTP clients behave the same.

 

For my testing I created an entry for the linux.pl hostname in Filezilla's server manager:

 

grafik.thumb.png.7bc267d0491fca9a5ddbb1760443d005.png

 

The result of my login attempt (using a wrong username and password) looks like what I had expected:

Status:	Resolving address of s8.linuxpl.com
Status:	Connecting to 195.78.66.4:21...
Status:	Connection established, waiting for welcome message...
Status:	Initializing TLS...
Status:	Verifying certificate...
Status:	TLS connection established.
Command:	USER sd
Response:	331 Password required for sd
Command:	PASS **
Response:	530 Login incorrect.
Error:	Critical error: Could not connect to server

 

  • Like 2
Link to comment
Share on other sites

4 hours ago, Goochman said:

This would be very cool.  Just curious wouldnt it be easier to convert the graphics to Mode 8 using artifacting from the Apple version?  The boat/dock/player look a bit squished in the image above.

 

Regardless any U5 release on the 8 bit would be welcome.

Yeah, mode 8 would would be much easier i guess; but i wanted to make it more colorful, also on modern displays.  Also, since i'm PAL centered, there is no 'real' NTSC artifacting available for me.

(Btw, using NTSC in e.g. Altirra makes it look less squished. )

 

Will release my current development status in some weeks - improved visibility code (Line of Sight), and added proper 'look' texts and (preliminary) Sign reading.

 

  • Thanks 1
Link to comment
Share on other sites

16 hours ago, Atlan_Roland said:

Yeah, mode 8 would would be much easier i guess; but i wanted to make it more colorful, also on modern displays.  Also, since i'm PAL centered, there is no 'real' NTSC artifacting available for me.

(Btw, using NTSC in e.g. Altirra makes it look less squished. )

 

Will release my current development status in some weeks - improved visibility code (Line of Sight), and added proper 'look' texts and (preliminary) Sign reading.

 

Understood - the Castle, Forest, Grass and water look better :)  Some fine tuning of the other areas would prob make this look like an ST Jr. version :)

  • Like 1
Link to comment
Share on other sites

On 5/21/2021 at 6:15 AM, Gury said:

Hi Alexander,

 

That is a good question! Let me describe the situation about my site. There were some changes on the host server, which led to new rules, which are the basis for connecting to FTP server. The one I didn't resolve yet is confirming the certificate before connecting to FTP through host server. I tried many things with no success. The host webmaster explained me he didn't have any problems, he even used the same tool for connecting to FTP server -> Total Commander.

 

I am more than willing to continue with updating my site, but I have no access to it for 2 years now :(

 

So FTPS is not working?  It's.. an odd thing to set up.  I could probably help out though if you need it, but I'd also think the hoster would have been able to figure it out...

  • Like 1
Link to comment
Share on other sites

Fun thing I found out recently about Ultima V on the C64.  Much like our version of Ultima IV, it doesn't have any music.  UNLESS you load it up on a C128!  Then it has some music.  Would love to see a port of Ultima V on the Atari 8bits...

Link to comment
Share on other sites

Hello, I don't want to intrude Atlan_Roland's topic with my problem, so I am sorry if it seems so. Thanks all for the help and useful suggestions to invoke my site again. I will try to find the solution as soon as I have more time.

 

Atlan_Roland, good luck with your project, have a good time.

 

  • Like 2
Link to comment
Share on other sites

Thank you, I am glad it is useful to you and others. I have plans for many amendments on the site, with new features and database updates for new software/hardware and additional accurate item/product information.

 

  • Like 2
Link to comment
Share on other sites

  • 1 month later...
On 4/20/2021 at 8:07 AM, Atlan_Roland said:

Hi,
thanks for the replies!
Yes, I know the posts from Rob Santonica, also checked out his code!  It was actually part of my motivation to try something like he did !
With nowadays cross-compiler tech  it is so much easier to get results, I would not have gotten this far without modern tools – I have big respect for Rob for what he managed to achieve back then!!

Ok, will embarrass myself now with releasing my current code – I’m just a hobbyist programmer!;
on the other hand some fragments may help other newbies starting to program for the Atari – and I will also save the code from falling into the eternal void :)

I did not tidy up the codebase (just removed the original .DAT files), so for anyone daring or interested, attached below is my current development folder.

The compile scripts are attached separately as they are  located in c:\mp\ (Mad Pascal v1.6.5, from @TEBEs github master branch) and they create  ‘Ultima.pas’ (main); ‘U_Loader.pas’ (Startup code to load and prepare memory structures) and a helper tool called ‘Converter’ (which loads the tile assets from .MIC (micropainter) files and saves the data as .TIL (tile data).

 

The screenshot shows where I hooked those batch files into @JAC! ‘s  WUDSN – my main IDE. (https://www.wudsn.com/)

image.thumb.png.cd740201c6290511687ac70b37df91e7.png

 

 

In the development subfolder "_TILEBASE" the main graphic assets are located.
The tile graphics source is "NEW__TILE_BASE_12x16.xcf" (a GIMP File), from which I export NEW__TILE_BASE_12x16.png; that is further processed by the batch file ‘ro_make_tiles.bat’
which does some pre-processing, puts ZX0 compressed MIC files onto the .ATR, so that in another step, the ‘Converter’ can create the .TIL datafiles, with the game finally uses ..    yes, it’s all work in progress ;)

I keep track of memory allocations and (Tile) data structures & precalculations with the spreadsheet "_MASTER_Memory_Map.xlsx’" located in the development root.

 

Unfortunately the code is only sparsely documented - probably with some german fragments in between. If someone finds some use of it or has a question, just ask and I could try and explain.

Also if someone wants to continue on from here, feel free to do so!; I’d as happy just playing UltimaV on the Atari instead of programming it :D


My (probable) next steps:
Need to rearrange the code to make it fit for further development and I need to find some better and more sutainable memory management system:
Until now I just crammed anything I could into the available memory (lots of  graphic tiles, a double buffer, ..); need to restructure it  to get more game logic in – and will probably go for 128KB as the minimal target. 
I’d be delighted if I could someday get as far as to put NPC and their schedules into the engine :)


Short time goal is also to fix my buggy Line Of Sight (LOS) code and still keep it fast enough.
(Ultima V LOS logic is actually a floodfill algorithm.)

Please don’t expected fast development or releases here! My intention is rather to slow down with it, now hat spring arrived..

 

 

Ultima_v001_development_folder.7z 584.94 kB · 25 downloads ro_makefile_converter.bat 738 B · 19 downloads ro_makefile_U_Loader.bat 781 B · 15 downloads ro_makefile_ultimaX.bat 900 B · 20 downloads

nothing wrong with slow and steady to win the race, just don't end up sleeping like the hare (fast rabbit)... who never won the race. :)

  • Thanks 1
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...