Atlan_Roland Posted September 11, 2021 Author Share Posted September 11, 2021 (edited) Hi, as promised - just a few month late - here's an update to the Ultima V Datafile Interpreter, aka Ultima V Map Explorer 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! PS: A map may come handy on your hikes through Britannia: https://wiki.ultimacodex.com/wiki/File:U5map.jpg Edited November 19, 2021 by Atlan_Roland 3 2 Quote Link to comment Share on other sites More sharing options...
Atlan_Roland Posted November 20, 2021 Author Share Posted November 20, 2021 (edited) 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. 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: 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 November 20, 2021 by Atlan_Roland 9 3 Quote Link to comment Share on other sites More sharing options...
Atlan_Roland Posted January 26, 2022 Author Share Posted January 26, 2022 (edited) 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! Ultima_v004.zip Edited January 26, 2022 by Atlan_Roland 4 3 Quote Link to comment Share on other sites More sharing options...
Goochman Posted January 26, 2022 Share Posted January 26, 2022 Great work so far. Would be great if this someday turned into an A8 U5 release! 2 Quote Link to comment Share on other sites More sharing options...
leech Posted January 27, 2022 Share Posted January 27, 2022 8 hours ago, Goochman said: Great work so far. Would be great if this someday turned into an A8 U5 release! C64 and Apple II got a release, I think it is only fair... 1 Quote Link to comment Share on other sites More sharing options...
Atlan_Roland Posted July 9, 2022 Author Share Posted July 9, 2022 (edited) 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. 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 December 21, 2022 by Atlan_Roland 6 Quote Link to comment Share on other sites More sharing options...
Atlan_Roland Posted December 21, 2022 Author Share Posted December 21, 2022 FYI: I started a new U5 thread in the main A8 forum to not mess up the programming sub-forum. 1 1 Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted December 23, 2022 Share Posted December 23, 2022 On 4/18/2021 at 8:02 AM, Atlan_Roland said: 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? 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.). Quote Link to comment Share on other sites More sharing options...
Atlan_Roland Posted December 23, 2022 Author Share Posted December 23, 2022 (edited) 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 December 23, 2022 by Atlan_Roland Quote Link to comment Share on other sites More sharing options...
Ecernosoft Posted December 23, 2022 Share Posted December 23, 2022 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.