Ultima 7 HD?

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Ultima 7 HD?

Post by marzo »

I just had an idea which I decided to share, to gauge the general interest before doing anything.

The idea is simple: doing a complete update in all U7 graphics in high resolution (with a slight modification in Exult to handle these high definition graphics).

Now, I know full well that Exult already has scalers, and they do their job very well, but that is not what I mean. I mean actual graphics 2, 3 or even 4 times the size (linear dimensions) of U7's graphics, built from scratch to take advantage of the increased size (for example, lots of extra detail), and probably using the same palette. A quickly done example:
ImageImageImageImage
From left to right: original moongate, moongate scaled with point 3x, moongate scaled with HQ3x, brand new moongate built at 3x size.

It would be a huge undertaking, I know; and ensuring the well-being of Exult would practically guarantee that it would have to be a separate project, even if done by the same people and even if Exult had all the necessary code changes. Exult will also use more memory in this HD more (but far less CPU time than using the corresponding scalers). But it would be a great way to update U7.

Any thoughts?
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
bobthecowboy
Posts: 8
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by bobthecowboy »

That certainly would be amazing. Am I understanding correctly that for this to work you would have to recreate all of the original art by hand?
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

Am I understanding correctly that for this to work you would have to recreate all of the original art by hand?
Yes. Me and/or someone else. And hopefully, anyone interested in helping...
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
dag

Re: Ultima 7 HD?

Post by dag »

Wow - this is a chance of not scaling things up, but down :-)

But there must be tons of graphics that have to be created "almost from scratch"! I would volunteer immediately -- if I wasn't so bad in photoshop... :-(
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by Dominus »

I like that idea!!!
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
LinkDragon
Posts: 44
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by LinkDragon »

Wow. This would be a huge project, but I think this is something the community might seriously want to consider all putting a hand in. Something like this could preserve Ultima VII even longer than Exult already does for it. I would be willing to volunteer to do at least some small part of work.
LinkDragon
Posts: 44
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by LinkDragon »

Also, I thought I might add that having the Ultima VII soundtrack redone, along with the sound effects, would go well with a project such as this.
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

I completely agree that this should be a community project -- it is why I am presenting the idea with but a single moongate as an example :-p. If there are enough people interested in helping, I may create a Sourceforge project (if they allow purely graphical open source projects) and start seriously discussing guidelines and tools for the task.

Coding the Exult portion is (relatively) straightforward, although hard to test until there are enough HD graphics to go along.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Tylius
Posts: 28
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by Tylius »

I have to say for me, this would be a dream come true, and it would probably generate quite a bit of interest in the project from those who aren't able to get themselves past the 'dated' graphics

I'm not a graphics designer at all, but I'd definitely be willing to play the game using the modifications once it gets started to help track down any issues!
Scythifuge
Posts: 384
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by Scythifuge »

This reads like a great idea!!! But there would be certain things to consider (and I hope that I make some sense granted my limited Exult-tech-knowledge), such as the established pixel sizes of things (like 8x8, 16x16, etc.). For example, some of the stuff that I was experimenting with for the S.E.T.C. would look great, but at higher resolutions would limit the amount of graphics tiles per map. Of course (and unless I missed something over the past few months) the map size has been increased, which if it did, would make me very happy concerning the S.E.T.C.

Sometimes, I wish for higher resolutions, because I I am trying to put Ultima Online/Diablo/Divine Divinity-style detail in objects such as leaves. Not being able to, I haven't practiced as much with high-res drawing, but I wouldn't mind experimenting with it. But getting back to the point of my post, wouldn't increasing the size of tiles/objects fill up the map, leaving less room for what is already supposed to be there?
LinkDragon
Posts: 44
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by LinkDragon »

This is purely speculative, but I think it should work, if the pixel size per tile/chunk is scaled up. I don't believe the map is bound to being a set amount of pixels; it's the tiles that have are a set ratio in size. And the map can only be so many tiles.
Gruck

Re: Ultima 7 HD?

Post by Gruck »

Yes yes yes yes yes! This would be an absolutely awesome idea! I don't have the skills necessary to help, but I LOVE this idea.
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

Scythifuge: the map is composed of 12x12 superchunks, each with 16x16 chunks each with 16x16 tiles; there is no reference to tile size or number of pixels. While it is true that Exult/ES would have to be modified to use/recognize the higher tile sizes (as I have said earlier), the map would not need to be touched at all.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

I decided to go ahead and at least finish the moongate:

ImageImage
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
wmhunt

Re: Ultima 7 HD?

Post by wmhunt »

This is the coolest thing I've ever seen! What kind of proficiency is needed to help convert some of the shapes?
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

Only the ability to make good graphics on a given palette and in a given perspective. Although I have made some scripts for Gimp that take the faces of a given object and combines them into the proper perspective, so some objects are easier to make.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Scythifuge
Posts: 384
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by Scythifuge »

Marzo Sette Torres Junior: the map is composed of 12x12 superchunks, each with 16x16 chunks each with 16x16 tiles; there is no reference to tile size or number of pixels. While it is true that Exult/ES would have to be modified to use/recognize the higher tile sizes (as I have said earlier), the map would not need to be touched at all.

Thank you for your reply, and my apologies for my ignorance on the technical aspects, I just assumed that by making everything larger, it would take up more map space, thus cramming it together.

I think that it would be cool if it were possible to double the amount of super-chunks, so that an Ultima VII remake could feature areas that are more realistically farther apart. But not knowing anything about programming, I'm not even sure if it is possible.


Marzo Sette Torres Junior: Only the ability to make good graphics on a given palette and in a given perspective. Although I have made some scripts for Gimp that take the faces of a given object and combines them into the proper perspective, so some objects are easier to make.

That is awesome! That would really help with a lot of projects! Do you have any plans to share the scripts?
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

Do you have any plans to share the scripts?
Yes, I do; I am still debugging it, as it fails occasionally (though they atre working quite well already; the moongate was projected in the proper plane with it).

I must just warn that the script is not at all suitable for anything but boxes of one sort or another (the moongates, walls, and so on) -- basically, people and other similar curved surfaces will look horrible through it.

In the mean time, here are yet more moongates:

ImageImage

(the phase difference is there in the original game too)
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
darrenor64
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by darrenor64 »

This is a brave idea.
I think the trick will be for someone to come up with a user-friendly infrastructure of scripts that facilitates any user with 'u7datafiles', 'GIMP', 'SVN' and possibly an augmented 'ExultStudio' on their system to make contributions. The easier it will be for volunteers to start making their contributions and submitting them, the faster this will spread.

Each volunteer can be assigned a range of shapes to upgrade and commit.
With enough volunteers to fan out the effort, this could be done in reasonable time.

I imagine experts will emerge in ensuring quality of interlinking ground tiles, and human figures, to share experience and suggest guidelines. The resulting trend could really help in developing a base of people willing and able to generate new artwork for future exult addons.

I will volunteer as an artist, and brainstormer for infrastructure if you need any. I suppose you will need to decide on that shape of data you will want to receive.

- D

Side thoughts:

I was wondering; has there been much development on that exult3d side project. Would it be too ambitious to mix these two ideas somehow?

Question: Do 3D rendering systems allow for unrealistic isometric views similar to U7's perspective?
That is precisely the thing to do Avatar.
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

A few more sprites: the cloth maps (the inventory item) for BG and SI and the SI moongates

Image Image Image

Darrenor64: Yes, I should probably start a project and start getting it organized. Things like art guidelines, a framework of tools and scripts, probably a website. I have been delving in Exult source to make it accept higher resolution images, but it will still take some time; particularly since it is hard to test it without having the higher resolution graphics to begin with.

I am starting to write an art guideline draft; I will post it when it is more complete. As of now, I plan on explaining the U7 palette and perspective, as well as setting some guidelines about the nature of the art.

Out of curiosity: should the art be drawn at x2, x3, x4, or all of those? I have been drawing at x3, with no aspect correction; I would probably prefer x3 or x4 to be used, maybe both, but leave x2 to the scalers (since there isn't that much extra space for details in x2 scale).
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Colourless
Site Admin
Posts: 731
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by Colourless »

Aspect correction for ultima 7 probably isn't needed. It would be nice, but it would be a pain in the ass haking exult to use aspect corrected shape. If you are working with a 3 times scaling factor, and use a 1.2 times aspect correction, you won't be able to get shapes to align correctly. A 8x8 tile would be come 28.8x24 pixel, which obviously doesn't work.
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

Colourless: Yes, that is a very good point; it would be better (and maybe even easier) to code Exult to perform aspect correction as the final rendering stage (or perhaps some optimized combined scaler/aspect correction).

In other news, I forgot to mention earlier but I uploaded fixed versions of the moongates (except for the swirling moongate); the older ones had a slight dent in the left edge that, strangely, was caused because the cabinet perspective script I wrote gives a different result depending on the layer offsets.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

Oops, forgot about this:
Do 3D rendering systems allow for unrealistic isometric views similar to U7's perspective?
You can build a 3D system that renders to U7's cabinet perspective, yes. I am thinking of making some basic human models in this fashion (3D model -> render in cabinet perspective) on which the characters could be based.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Malignant Manor
Site Admin
Posts: 985
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by Malignant Manor »

Higher resolution graphics is a good idea. Not using a scaler does limit smoothing capabilities somewhat since the palette in Exult is restricted, but I'm sure most or all items would look better than than they would scaled (given a good artist).

I'm not sure about the 3d engine. That might be because of how badly a lot of graphics looked in Exult 3d.

It would be a huge undertaking, I know; and ensuring the well-being of Exult would practically guarantee that it would have to be a separate project, even if done by the same people and even if Exult had all the necessary code changes.
Would the modifications be in so many areas that having it check for something in the .cfg file wouldn't be viable? (You were talking about the higher res graphics here right?)
LinkDragon
Posts: 44
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by LinkDragon »

I believe Marzo meant making 3d models and pre-rendering them, and using them as a base for the new HD shapes, rather than using something like Exult 3D.
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

I'm not sure about the 3d engine. That might be because of how badly a lot of graphics looked in Exult 3d.
HoppyDragon got it right: having a basic set of human (and animal) 3D models (no fancy details or texture or anything, just the basic 3D model) pre-rendered into the U7 perspective would be a huge help in drawing people (and animals) correctly.
Would the modifications be in so many areas that having it check for something in the .cfg file wouldn't be viable?
I don't think so, no; I am, in fact, planning on it being a cfg option (and mods having to specify if they are available in high-res, high-res only or normal res only). But as of now, I can't be 100% sure about it either.

In any case: here is the first draft of mission statement and art guidelines. It is not formatted, so you will want to read it in a text editor supporting word-wrapping; browsers won't do. Comments welcome.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

I have been looking into making a Sourceforge project for this. And I have also been reading into some copyright stuff.

The new graphics might be considered derivative works, depending on how it is looked upon: they will have much more detail, not present on the original, but the fact remain that they should "look like" the original. Thus, I think there should be an attempt to contact EA for permission; they probably won't respond (or will probably say that such permission can't be granted), but the attempt has to be made nevertheless. If anyone knows how to contact EA, it would help; I can find it out eventually, but having the answer makes it easier.

As for hosting the project on Sourceforge: they do allow development of content under an open source or Creative Commons license, if the content is related to an open source project; so the project would fit. I am leaning towards GPL, LGPL or CC-BY-SA for license, as Sourceforge requires an Open Source or Creative Commons license. I myself would prefer GPL, but would like to hear opinions on this.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
dag

Re: Ultima 7 HD?

Post by dag »

To make things even more complicated :-) :
What about tuning the colors, too?

This one is just a thought and maybe I am totally wrong -- at least I am quite sure, implementation will be at least... quite hard.

I know that there is this palette-rotation thingy, that relies on 256 colors to work correctly. Also does the palette change in different weather conditions etc. And there may be tons of other things that I do not dare to think about that also insist on 8 bits.

So... of course we cannot just simply pump up the range to 24 or 32 bits.

But! -- since with even 9x of the memory we need (thrice per axis), this should not be a real problem nowadays, should it? Also graphics cards allowing more than 8 bits of color depth are more than common today.
On the other hand, future mobile phone users should still be allowed to use the original files ;-)

So what am I talking about after all?

What I dream of is a kind of "virtual color depth". This means: Every bitmap can be and actually is physically stored in truecolor - even with an alpha channel implemented.
The exult engine itself can then use these bitmaps and make palette rotation by using some data included in each bitmaps's header, for example.
Filters that are used for weather conditions and the day-night-cycle are "bitmap-global" and can leave out gumps and/or text in dialogs, if wanted. These filters can be far more accurate, because we have more than those 8 lousy bits.
This also leads us to even more interesting features, like having true alpha rendering (glass!) and others.

Again, this is just a brainstorm-like idea, and Marzo will probably wish me to hell ;-)

So treat it like it is - just a thought....

I thought it was worth mentioning, because changing to "hd" also means a lot of work in general infrastructure; so I thought it's "now or never"... :-)
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

The changes necessary for using these higher resolution images will be utterly trivial when compared to the work needed to use true color + alpha; lets see:

First, we would need to change all the graphics code, including scalers, to work with the higher bit depth. Not something to be done lightly. And palette swaps for day/night cycle (including smooth transitions between those), lighting, invisibility, palette cycling and semi-transparency would have to be reworked as they depend on 8-bit depth. The invisibility palette would probably be the easiest to do in another manner (render everything in grayscale); lighting (including day/night cycles) could probably be done similarly to the way 3D games do it (but simplified; no need to draw shadows, for example). The semi-transparency would probably be better done with alpha, true. But palette cycling can't be done in true color.

Second: the bitmap headers would increase space/memory consumption also. If it is stored per shape, that would be 1024 headers in shapes.vga alone, and quite a bit more if it must be stored per frame. Contrast this with shapes not storing even their palettes with them in the U7 format. This will actually be a relatively minor increase in memory consumption when compared to:

Third: the combination of high resolution and higher bit depth will have a drastic increase in memory usage: changing to 3x scale multiplies size by 9; changing to true color + alpha multiplies it by 16; doing both multiplies size by 144(!). This would require an overhaul of Exult's memory management code for shapes since at present, they are loaded but not cached out except when changing games. Having 8.2 MB (BG) or 10.9 MB (SI) used by shapes is one thing (the originals); 73.8 MB (BG) or 98.1 MB (SI) (3x scale) is a heavier footprint, but acceptable; 131.2 MB (BG) or 174.4 MB (SI) (true color + alpha) is even heavier, but also acceptable; but 1180.8 MB(!) (BG) or 1569.6 MB(!) (SI) (3x scale + true color + alpha) is unacceptable by any standards (and remember that you still have to download the thing). It is true that U7 shapes compress well (~40%), but that would add decoding times to load (would not reduce memory footprint) or display the images (would slow Exult down to a halt).

Fourth: despite all the above changes, we would still need to support the original game data. It would be better by far to have separate exes for the two tasks, a far cry from the simple configuration change I am wanting to toggle to/from HD mode.

The result: far more work than it is worth, in my opinion.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
dag

Re: Ultima 7 HD?

Post by dag »

Thx for the quick and interesting reply, Marzo!

Yes, I feared the answer would be a definite no, and you convinced me to not repost this feature request before 2108 :-)

I was just curious for what hypothetically had to be done to achieve higher color depths -- but more than 2.5 gb of download (bg+si) just for gfx is way too much *sigh*

Nevertheless -- Ultima 7 HD alone will definitely be the coolest thing we ever saw!!
Gruck

Re: Ultima 7 HD?

Post by Gruck »

Dag,

With the amount of time Marzo spent writing that post, he probably could have programmed Exult to accept HD graphics. :P Interesting post Marzo.

Gruck
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

Gruck: I have already done most of the code changes (what remains is to make it configurable); but the main problem is that I can't really test it until I have the graphics (in particular, the flats). For testing, I am thinking of dumping all shapes, scaling them to the desired resolution with Gimp/Script-fu and then rebuild the shape files; I am anticipating quite a bit of time for it...
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
TDI

Re: Ultima 7 HD?

Post by TDI »

This is an awesome undertaking Marzo. I hope EA doesn't shut it down... those graphics look sweet.

It's a good idea to pre-scale the graphics and recode Exult to use high-res mode. That way people can play with the existing high-res graphics while new ones are added all the time.
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

I don't think I will distribute the scaled-up graphics; distributing new graphics based on U7's is one thing that may or may not be copyright violation (depends on too many things, and I am not a lawyer -- not that I think they would be 100% sure either), while scaling and distributing the originals is definitely copyright violation (and borderline piracy).

I could provide the scripts/tools I will use for the job, but each would have to build the scaled graphics library on their own.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
LinkDragon
Posts: 44
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by LinkDragon »

Marco, I was toying with an idea to gain additional momentum from other sources for this project, using at least the opening scene in U7:BG from in front of the stables, recreate all the graphics in HD needed for that scene, I'll provide enhanced music, and we could have a pretty good video to promote the project.
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

Marco
Who is that? :-p
using at least the opening scene in U7:BG from in front of the stables, recreate all the graphics in HD needed for that scene, I'll provide enhanced music, and we could have a pretty good video to promote the project.
That is a great idea. Lets see: we would need moongate (done), few tiles, one frame for Iolo and Petre, the walls, fence and door for stables and inn, a few frames for the guard and dog, the trees, lamp posts, the avatar, a few faces and the text font. And maybe the mayor, depending on how long we make the cutscene.

The only downside of doing the video would be that people might be misled into thinking the project is more advanced than it really is, so we may want to include a big disclaimer to prevent that.

I will see about setting up the project and trying to contact EA this weekend; if we are to include the music too, we won't be able to call it "Ultima 7 High Resolution Project"; maybe "Ultima 7 Enhancement Project"? Also, we might want to improve the sound effects too.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
LinkDragon
Posts: 44
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by LinkDragon »

Quote:

Marco

Who is that? :-p
Oops! Sorry about that, Marzo. :)
The only downside of doing the video would be that people might be misled into thinking the project is more advanced than it really is, so we may want to include a big disclaimer to prevent that.
Definitely. I just think it will get more people excited about the project, and bring a few people that could help out of the woodwork.
if we are to include the music too, we won't be able to call it "Ultima 7 High Resolution Project"; maybe "Ultima 7 Enhancement Project"?
Yeah, we could make this overall the Ultima 7 Enhancement Project.
Also, we might want to improve the sound effects too.
I can't say I have any experience in this area, but I think it's a good idea as well. I'll see what I can do, but I want to keep this open for anyone that might be able to come along and take it up as a project.
Colourless
Site Admin
Posts: 731
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by Colourless »

The memory usage problem would be fixed by making graphics loading work like the originals did. They worked with 2MB of memory of course. They only loaded the graphics used in the cached in area and freed the ones that weren't. However, this comes at a big cost, constantly loading and freeing resources as you wonder through the world may have big a performance impact. In the originals, if you had enough free memory and you ran smartdrv performance of the games increased by incredible amounts due to the reduced amount of disk reading.

For Exult it should be less of a problem as the OS's already transparently do disk caching, but the size of the data is still huge. To reduce the data size, using something like paletted PNGs with a different palette per shape would do much to reduce the memory usage. Then to display them, you decompress when painting. Modern systems are 'fast'. I think they would be fast enough to handle the decompression. If you wanted to be fancy, you could even implement a multithreaded decompressor... say have thread 0 painting the uncompressed shapes while thread 1 decompresses the next shape needed to be painted into a memory buffer, and so on.
A-non-mouse

Re: Ultima 7 HD?

Post by A-non-mouse »

I like. I can't help, except give money. :-D

That aside, just wondering, who would own the copy right?
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

To reduce the data size, using something like paletted PNGs with a different palette per shape would do much to reduce the memory usage. Then to display them, you decompress when painting. Modern systems are 'fast'.
I had thought about using different palettes per shape, subject to the restrictions that the last 32 colors are for palette rotation/semi-transparency. It still would require an overhaul of the graphics code, but maybe less than true color + alpha (and a new shape format to store the palette). Semi-transparency would be the most annoying since there is no relation between the colors stored in the palette and the blended colors. Not to mention that you would need not 1, but 12 or so palettes (day/dusk/night/invisible/overcast/lightning/torch...) for each shape or a way to algorithmically generate the needed colors from the stored palette; moreover, these translation tables would likely have to be cached for performance reasons.

And still need to support the original game data.

As for PNGs: there can easily be 100 shapes onscreen at any moment (particularly if flats are also converted to PNGs). If they are decompressed when painting, there will likely be wasted CPU cycles decompressing the same shape more than once on each redraw (e.g., each time there is a palette rotation), but we would still have to care about 1000 PNG decompressions every second at 10 FPS. A cache of decompressed PNGs mitigates this problem, but it is another thing that has to be coded in -- and would add back some of the memory usage.

Don't get me wrong; if you are volunteering to help in the code changes, I will accept the offer :-p. I don't think the effort will be worth it, but I would love to be proven wrong about this...
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Andrea B Previtera

Re: Ultima 7 HD?

Post by Andrea B Previtera »

An oldbie's couple cents.

Assume you've coded in all the necessary to contain memory usage, multiple layers of smart caching, multithreaded decompressing/drawing etc.

Now you have 14,000 unique shapes to remake.
More or less such shapes can be subdivide into the following categories:


Image

1) Shapes that are just tiny colored squares. From 1x1 pixels to 8x8 pixels or so. Redoing those is easy, it's just a matter of scaling... or isn't it? You must think of what those are going to create in the biggest picture. Imagine taking a mosaic: rescaling/recreating with accuracy the single tiny pieces doesn't result in having rescaled/recreated the mosaic itself - the result is just a mess.



Image

2) Shapes that are tiny pieces of some larger objects, or spell effects, particles, whatever. You can't think of recreate those (expecially by 3d rendering) and still be faithful to the original.



Image

3) Quasi-geometric shapes. A bucket, a door, the moongate Marzo redid, walls etc. - those *could* be a little easier to recreate.




Image Image Image
Image

5) Complex, organic or animated stuff composed by multiple shapes - like people or .. a deer, the tethrahedron, a ship with all it's complexly-assembled parts. Useless to say, shapes falling into this category require someone that has real, professional graphic kills.

Now think that organizing all this work would also mean creating some "graphic CVS" to avoid people working on the same shape. Also, there should be figures devoted to making the shapes coherent because of different drawing styles, different lightness/contrast, and more.

Multiply all ofthis for 14,000 shapes: Let's say "just" 8,000 of them must be hand-crafted? At a resonable "1 hour per shape" including revisioning, tuning etc. - we're talking about 3 years worth of work, for one person working 8 hours a day.

I'd love it... but I just don't think it can be done. It's something that would be left unifinished, and sometime unfinished things can be ok (think of Exult 0.95, it wasn't feature complete like 1.4 but it worked, and was cool). This wouldn't be "working" or "cool" until ALL the shapes are ok, until ALL are *well* drawn, fitting and graphically coherent. A single undone or unfinished item would break the whole game atmosphere... and show up in multiple places.

In my opinion what could and should be done, instead... is a repository of *brand new hi res graphics* that people could use to create new games from scratch in ExultStudio without the need to install U7. That would free the graphics contributors from artistic constraints, stimulate people to create new games, and free some more the Exult Engine from its interdependance from copyrighted material.
Andrea B Previtera

Re: Ultima 7 HD?

Post by Andrea B Previtera »

Double post, sorry. Damn Chrome!
Darkstar
Posts: 44
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by Darkstar »

If you redo the moongate anyway, why not add a bit more "features" to it? Like making it a bit jiggly, or add sparks or something. It really looks like an animated vertical table (or an LED display wall ;-) right now *g*
Trev_C

Re: Ultima 7 HD?

Post by Trev_C »

In my opinion Andrea is just right with his perspective!

I'm a big fan of Ultima 7 and I'm reading in this forum for many years now and I post rarely, only on topics which touch me really - and this one does!

I don't think better looking graphics would be more fun. And people who don't play Ultima 7 with Exult still won't play it with a little bit better graphics because the gameplay is the same. And the gameplay is not comparable with "modern" roleplaying games.

I really appreciate the energy all you guys invested in this thread with posting ideas for better graphics or posting new graphics already. But wouldn't it be great if you use your energy for creating NEW graphics in the old style, which really add to the fun? (And they are easier and faster to make because the detail is lower. And also the style is the same, so every produced graphic can be immediately used in the game - not so when producing all graphics new as Andrea explained it.)

So why not creating new item graphics, new monsters, new landscape tiles for Exult studio? That would be cool because people would be motivated to create new mods and perhaps new isles which can be implemented in the existing world!


Some example ideas:

- The jungle (North-East of Vesper) could be easily extended with more different plants and more different animals.

- New cave tiles, for example lava pits like in Ultima 8! New type of paved streets (the one used in Britain and Monitor is boring).

- New ship types (they all look the same, perhaps they could be easily be different in length and wide)

- New weapons (personally I have always missed a bigger variety of one-handed-sword. And I would also like to swing more different axes. It would also be easy to produce two more types of speers and lances!)

- New monsters. There are many monsters in Ultima 7, but it could be more! And it would be a nice addition to the gameplay when using this chance and implementing really nasty monsters, which are not so easily defeated like most monsters. I'm thinking of Beholder-like monsters or tough golems which punch the enemy down to the ground for some seconds. Or generally more monsters who use magic. It would be cool to enhance the skeletons (perhaps not that hard to make?), with bows or other weapons or magic abilities.

- Graphics like in Ultima Online, where you can see the armor the companions are currently wearing directly in-game.

- any more ideas you have? :)


So please don't get me wrong but I think your creative energy could be also used in a way to create much more gameplay fun in Ultima 7 :)
And in a way the effort can be used immediately when implementing the graphics at once. They don't have to wait until the whole project is finished. Every new graphic, for example an item, could be used at once. :)
Trev9

Re: Ultima 7 HD?

Post by Trev9 »

Sorry for the double post :(
I will get my login...
Sorry!
Could someone of the moderators or admins delete one post? Thank you!
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by marzo »

@Andrea B Previtera: They are all good points, but all of which I had already considered. The people/animals/trees are indeed the most difficult to make -- except, maybe, for paperdolls. We would have to agree to disagree on the feasibility of the project; further down the road, it may even turn out that you are right, but it doesn't mean we should give up and kill the project now because it might die somewhere down the road.
[...]is a repository of *brand new hi res graphics*[...]That would free the graphics contributors from artistic constraints
The reasoning here is flawed; the only constraint that would be lifted would be the "must look reasonably like the original shape"; you would still have to use the same palette (or you would limit the usefulness of the library for U7/SI mods) and you would still have to use the same perspective (ditto, plus the engine is built to use this perspective).

Moreover, you would still have to create a huge amount of graphics for the library -- about as many as you need to make to convert the original games to high res in the first place. Think about it: every single point you make about the U7 high-res project applies to this high-res library as well. The amount of shapes, the need for them to look good, match well and be coherent with each other...

But building the high-res library has an additional downside: no one will *use* it until it is complete enough to build a game; and if it is complete enough to build a game, it very likely can be used (with some more work) to recreate U7... The U7 high-res project can at least garner community interest because it would be working on improving worlds that people know and love.

Now, if you meant building a library of graphics using the current resolutions, that would be an entirely different proposition. But given my experience with making graphics for Keyring mod, as well as many icons (most of which can't be found on the web), it would not be any less work than doing the high res graphics, as surprising as it may sound... designing low res graphics that looks good and conveys an idea (in this case, the idea being "this image represents X" for a given X) is a lot harder than designing a high res graphic that conveys that same idea. As an example, look at the (shameless self plug) Ultima icons I have in my website; designing the 16x16 icons took more time than designing the entirety of the other graphics, and they *still* don't look *that* good...

@Trev*:
And people who don't play Ultima 7 with Exult still won't play it with a little bit better graphics because the gameplay is the same.
You don't know that; some might, some might not. Likewise, some that play with Exult may play with the new graphics, and some might not want to for "purity" reasons (however misguided). Besides, doing this project (or any other project) is for those that will like it and use it, not for those that won't.

About your suggestions: most of them are ideas for mods. If there are none to do the mods, they won't get used. Likewise, if the mod maker doesn't like the new graphics, or they don't fit what he wants, he won't use the graphics. Given that the library must be "generic" by necessity (why waste time making graphics that will only ever be needed once in a blue moon?), if a mod needs a graphic which is not in the library, the mod maker he will still have to make it himself.

This item, in particular, deserves a special reply:
Graphics like in Ultima Online, where you can see the armor the companions are currently wearing directly in-game.
I had discussed this once with Wizardry Dragon, and mentioned it en passant in another thread. With the current architecture of Exult, it is theoretically possible to do this. It would be easier (and a lot more practical, and far less boring) to make the entire U7 high-res graphics library, though. With some massive work on Exult, one would be able to do it more easily. I am not inclined to do it either way because of an important restriction: the limited size of the graphics limit what you can display.

Basically, the small resolution of the in-game graphics mean that boots and gloves would be mostly out of the question, as would gorgets and most belts. You would basically have body armor, leg armor, headgear, cape, shield and weapon, maybe a backpack. And you would still need all the graphics, and they would all need to match/align correctly and look good together -- particularly since not all characters have the same size. All in all, lots of work for rather small benefit.


By the way: I deleted both of the double posts.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Colourless
Site Admin
Posts: 731
Joined: Thu May 14, 2020 1:34 pm

Re: Ultima 7 HD?

Post by Colourless »

I had thought about using different palettes per shape, subject to the restrictions that the last 32 colors are for palette rotation/semi-transparency. It still would require an overhaul of the graphics code, but maybe less than true color + alpha (and a new shape format to store the palette). Semi-transparency would be the most annoying since there is no relation between the colors stored in the palette and the blended colors. Not to mention that you would need not 1, but 12 or so palettes (day/dusk/night/invisible/overcast/lightning/torch...) for each shape or a way to algorithmically generate the needed colors from the stored palette; moreover, these translation tables would likely have to be cached for performance reasons.
Would definately do algorithmically generated palettes for lighting. For rotation i'd consider adding in some extra metadata somewhere that would indicate ranges of palette indices that should be cycled.
And still need to support the original game data.

As for PNGs: there can easily be 100 shapes onscreen at any moment (particularly if flats are also converted to PNGs). If they are decompressed when painting, there will likely be wasted CPU cycles decompressing the same shape more than once on each redraw (e.g., each time there is a palette rotation), but we would still have to care about 1000 PNG decompressions every second at 10 FPS. A cache of decompressed PNGs mitigates this problem, but it is another thing that has to be coded in -- and would add back some of the memory usage.
Exult prerenders the chunks and caches them. I'd expand on that and prerender the chunks to a larger cache. Building components though might cause more trouble than i'd really considered.
Don't get me wrong; if you are volunteering to help in the code changes, I will accept the offer :-p. I don't think the effort will be worth it, but I would love to be proven wrong about this...
I like thinking of solutions to problems... though i think you've noticed, implementing them isn't always my think. :-) I should poke around in the code. If anything, adding in supporting for PNG compressed shapes might be a useful idea.
TDI

Re: Ultima 7 HD?

Post by TDI »

I'd love it... but I just don't think it can be done. It's something that would be left unifinished, and sometime unfinished things can be ok (think of Exult 0.95, it wasn't feature complete like 1.4 but it worked, and was cool). This wouldn't be "working" or "cool" until ALL the shapes are ok, until ALL are *well* drawn, fitting and graphically coherent. A single undone or unfinished item would break the whole game atmosphere... and show up in multiple places.
I don't agree... As Marzo said earlier, someone could release a script that automatically scales the existing graphics so that people could play in "HD-mode" even without any new graphics at all. As people create improved HD graphics, they could end up in a directory where they are automatically detected by Exult and used instead of the original, scaled graphic.

Thereby Exult would always remain playable and as people create new graphics you can simply put them into the game if you like them.

I don't think that new graphics would stand out so much or ruin the atmosphere either. If I imagine Exult running with HQ3 prescaled graphics and the above HD maps and moongates, I think that would look pretty cool.
Andrea B Previtera

Re: Ultima 7 HD?

Post by Andrea B Previtera »

Btw, I already extracted and prescaled all the shapes with HQ3X. But how do we distribute them given we're talking about copyrighted material? I only miss the part of the script that would, uhm, re-insert the scaled graphics into the game, so that one could take the "enhancer" and run it on his own installation. Also, ahem, it's win32 only because the command line HQ scaler I am using, is..
djvonfunkin

Re: Ultima 7 HD?

Post by djvonfunkin »

I've had this idea for a long time, it would be a lot of work and the odds are against it for that reason and copyright issues, but I would like to help. I'm a graphic artist. I'll try and draw a character at 3x high res soon , see how it turns out. Since there's such limited angles in U7, I don't think a 3d render would be neccessary after we get a basic male and female human shape done. Although I suppose it's easy enough to get free 3d models and just adjust the camera angle.

Is 3x even big enough? 6x would be closer to 1080p :) ... but that would make the amount of detail needed huge...
Locked