Praxiiz

Member
While implementing translucent tiles for our shard, I decided to do some research into the origins of the coast lines around the continents. These brown ugly tiles have had a lot of misinformation spread about them for quite some time.

ai2.wp.com_uo.stratics.com_content_atlas_towns_trinsi2.gif_9e84adb97ee04cacd0e50bf6c1c70000.gif
From Raph Koster (Lead Designer of Ultima Online):
http://www.raphkoster.com/2010/11/24/how-uo-rares-were-born/
Raph Koster said:
Water in UO had a painstakingly created depth effect on the coastlines, which was made by using translucent water objects over a trench close to the coast, then fading the translucency; once you were at a depth where the water was opaque, we switched to tiles. (I spent many hours filling in those objects, and wrote flood-fill code to place them all. You can faintly see the effect in the radar map here — a “halo” around the coastline). It was all for the sake of a cut feature: having some of the fish creatures visibly swimming under the surface in shallow water. But, sometimes a tile got missed, and there would be a “hole” in the water.

Just to be absolutely clear, these are the brown trenches he is refering to: ( I have deleted the top layer of water tiles using UltimaLive)
ai22.photobucket.com_albums_b347_Praxiiz_trench.png


There are a few subtle things in the quote from Raph Koster that you should pay attention to. The first is that they used "translucent water objects over a trench close to the coast, then fading the translucency".

The first thing you should be thinking is that none of the water tiles you've ever seen on the official client have the translucent flag set. Checking back to client 1.0.25 and looking at the tiles and tile data, you can confirm that this is the case.

But the second key part of that paragraph that Raph Koster mentioned was "It was all for the sake of a cut feature: having some of the fish creatures visibly swimming under the surface in shallow water." The feature was cut before the game was released! Well that makes sense why the 1.0.x+ clients don't have translucent tiles - the feature was cut before release, and since there aren't any fish to swim around under the translucent tiles, may as well mark all the tiles as not translucent.

"Well that's a nice story Praxiiz, but I really think that Arx Obscura thought of it first." Maybe...... but it's hard to argue with a screenshot taken during Ultima Online Alpha:
ai22.photobucket.com_albums_b347_Praxiiz_uolchandar3.jpg

ai22.photobucket.com_albums_b347_Praxiiz_03sawfg4.jpg

ai22.photobucket.com_albums_b347_Praxiiz_03sawfg5.jpg

ai22.photobucket.com_albums_b347_Praxiiz_uolnewt2.jpg


Now that's odd looking water. Granted the jpgs aren't very good quality. I am going to see if I can get the alpha client up and running and take some real screenshots.

Now the question is how did they implement the "fading the translucency"? Was it implemented in graphics or in the client?

To anyone else making maps, if you're not using translucent water, I really hope you aren't digging out trenches around your continents...
 
Last edited:
This probably explains why it has all those curves and stuffs lol
To be honest i think a "sea floor" tile would fit good blended to a coast tile, so all the sea can be transparent and have details + sea serpents having large areas to have fun when we are not around.

Two reasons makes me believe why they removed this feature:
1: The fishing system, imagine how hard it would have been to fish if you had to catch a real one on the shore.
2: Missing tiles, wrong blending tiles, lack of will, or not "nice" enough.
 
Ok, EA did a really bad job at the translucency of water, at least during alpha. I thought it was maybe the quality of the jpgs....

ai22.photobucket.com_albums_b347_Praxiiz_water_transparency.png

No quality loss on this screenshot. I have to say the emu community really out-did EA on this one.
 
Just to be clear: Their "fading effect" was accomplished by the nasty brown stretched terrain that was used as the trench around the coastlines. No extra client features, just nasty brown. You can see I've highlighted one of the tiles that he mentions, "once you were at a depth where the water was opaque, we switched to tiles".

ai22.photobucket.com_albums_b347_Praxiiz_water_transparency2.png

I feel like I've stumbled upon one of Ultima Online's little secrets and I feel dirty for finding it! No wonder they cut the feature, it looks terrible.
 
Now the question is how did they implement the "fading the translucency"? Was it implemented in graphics or in the client?
I think it was implemented in the client. Under the 'shallow water' tiles you can see the map terrain, AFAIR this terrain alt (z) varies from 0 to -5 from the coast to the 'deep water'. Once you have these alt variance you can use some math to estimate the translucent effect
let x be the difference between water tile from the terrain below (water.z - terrain.z)
translucent effect = 0.5 - x/10
assuming translucent effect below 0 is treated as opaque and it start with 0.5 effect

Using a more advanced math you can create a fade effect from the shore to the ocean to the tiles blend correctly instead of squared pattern.
If you look closely to the screenshot where the player says "Run Martin!" you can see the squared pattern and the translucent variance from coast to ocean

I took it from top of my head, since I'm stuffed with lot of DE from my classes, all I can think is in equations :p
And if you imagine this applied on graphics - based on how UO is built - you would have lots of ocean tiles with different translucent factors; That's why I think it is better to vary the translucency on the client
 
Another shot showing underwater foundations:

ai22.photobucket.com_albums_b347_Praxiiz_water_transparency3.png

Some other interesting graphics and methods from Alpha:

ai22.photobucket.com_albums_b347_Praxiiz_tiles.png

Water tiles are different, but only slightly. Also looks like they stored textures right in the art file, at least at first glance.

Some interesting land tiles also -
ai22.photobucket.com_albums_b347_Praxiiz_landtiles.png
 
Last edited:
I have known about shallow and deep waters, having been making a custom map since 2000.. but never knew there was a translucent effect, ever. Unfortunately I didnt stumble into the shallow/deep water until well after I had developed my map far enough, not wanting to go back and recreate my shore lines..

I have the intention of implementing a shallow and deep water area(s) by using region areas rather than tile differences. Unless I come up with a better method or work around.

:)
 
The translucent effect which I have seen released on Runuo look pretty nice, I think creating a large lake with the translucent water tile would look pretty nice :)
 
Hmm yeah, thats a good idea and raises a question..

I imagine you could use the translucent water system and just use it for specific areas, right? Not just the entire map?
 
That's how we're building up our client - we have two copies of the water tiles. One copy is marked as translucent and the other does not. Of course you have to update your map tools to support the new tiles but that is standard for any new tile.
 
Right, thanks Praxiiz, I figured it was a dumb question I already knew the answer to, but wanted to be sure :)

I agree with Milva, it would be neat to have some special ponds or lakes that were translucent, rather than the entire ocean. At least in my case on my map anyways. I think I might think more seriously about adding this in soon.
 
I am planning on doing our entire ocean - most likely I'll use a flood fill algorithm to place all the tiles and then randomly generate ocean deco.

I didn't mark our translucent tiles as impassible so that you can fall through them. This lets a player walk into the ocean, or jump off a ship and fall to the bottom. I plan on building a water breathing / drowning system for any players below -19 altitude. I will be adding a oxygen / breathing bar to show a player how long they have. Also there will be special gear, items and spells for breathing under water.
 
I didn't mark our translucent tiles as impassible
Great idea, this way a ship could be added with chests and such :)


I plan on building a water breathing / drowning system for any players below -19 altitude. I will be adding a oxygen / breathing bar to show a player how long they have. Also there will be special gear, items and spells for breathing under water.
This would be amazing! Reminds me of wow along with drinks which can help with air
 
I am assuming too, that you would need translucent water edge tiles as well, for the shore lines? So would be a fairly good set of new art tiles to add in, yes?

I really should research more before asking things already probably explained.. sorry bout that
 
Man.. my shard project could really use a person like you Praxiiz ! And I do not mean use.. more like, need! lol
 
transparant.png
Since this seemed to be a pretty big topic I figured I'd toss in some images about how this could look like and stuff...

Top Left - Over the water where it do not fade to solid.
Top Middle - we put a magic school on the water, You can see the walls go all the way to the bottom and the people have ways down too.
Bottom Left - Inside the school, under the water level. Here you can just see the sea bed.
Bottom Middle - A cave hidden by a waterfall.... Under the water...
Right - Same cave shot just above the water.

Note none of that is my personal work, that's all the work from Noctar, and most of it he did while the shard was live, you can see more of that on the UORoleplay shard if you're interested.
 
Since we're sharing our water shots....

adl.dropboxusercontent.com_u_5324554_m309_20water.jpg

This was all done in CED+. Its a section of the main port of one of our larger cities.
 
Those rocks look like a whale. lol

I guess with such a feature, EA would probably run into this idea...
And lets hope for a "new" HS era with more sea monsters? :p
 
Talow, m309, do you let players walk around underwater?

I thought about getting eriminator's atlantis pack, but I want to be able to use other graphics as well without them looking out of place. I like the idea of having graphics that are animated and distorted as though they're underwater, but most of our underwater content isn't like this.
I'd like players to know they're underwater by the graphics i.e. if they recall to a spot underwater.

I thought about using a rehued sand or other specific land tile just for underwater, but I'd like to hear other people's experience if they've tried something like that.
 
We just let them walk around as it was made but yes there are underwater area's that players can access... Sadly no breathing system to go with it.
You can check it out I'm sure if you ask a staff member to show you the underwater area on UORP they will be happy to take you around.
 
I was also looking at using entirely animated translucent water tiles, do you foresee any issues with doing that?
 
Only issue with animated tiles that I am aware of, if you have a lot of them in one area it will lag the client. Even if froze to static files. That can get ugly for connected players.. and even network connected clients will feel it, with tiled area of animation tiles.
 
Lags the client from a CPU / IO Bound perspective? I don't see how network latency would affect it at all if they are part of the map and not being transferred.
 
I could see some machines getting lagged down by the CPU since the classic client is a software render-er. I have only tested small areas so far, but I'm far from being CPU bound. Then again I'm not using a low end machine.
 
Praxiiz, if you go that route let me know. I have all of the animated water edges that UO Middle Earth created extracted in bmp's.

I haven't currently used them, or the full size animated water tiles, en masse yet - but I'd love to know what it does to a server/client load.
 
I am leaning toward going with animated water everywhere, but I need to do some performance testing. Id love to get a copy of the water edges if you don't mind...
 
I'm currently experimenting with using desaturated water tiles along side the normal ones. They tend to hue better. Here's a few experiments, the lower pool is the normal tiles marked as translucent, the upper two pools are desaturated and hued:

ai22.photobucket.com_albums_b347_Praxiiz_water_testing2.png
 
If you tile and area with some Fire/Flame animation you should see what I mean. Try as in game items, and maybe also as frozen statics. Run in and out of the area. But do at least a screen sized area or better to get a real test. I do know that the flaming fire animations will lag the classic client, but it could be dependent on how many animations there are to the image? I dont know.
 
Would it be possible to do what we do with Xmlspawner and make the animations dependent upon PlayersInRange, so you don't have entire areas running the animation?
 
When i first wanted to make transparent water i wanted to have some kind of Effects, like those effect controllers with a render mode, so only parts with players shows. Would not be so efficient tho lol
 
Any kind of server => client code for mass animation would be much much worse than just letting the client smartly render the tiles. The answer is just make them all animated, and then test them on a variety of machines. No reason to prematurely optimize them if there isn't a problem, and until testing can be done in a controlled environment with fixed variables, do we really know it will be a problem?
 
i using tranlucend waters, but i have problems with boats, and players in the ship. they can`t move on the ship and the boat doesn't moves... any can say me how to solve this?
 
Last edited:
Did you create new itemids for the new water or did you modify the already existing water?
If you created new ones you need to add the itemid range in the baseboat or related script.
 
did you edit the tiledata at all? Like for the transparency toggle? If so, it's possible that you messed something up there.
 

Active Shards

Donations

Total amount
$0.00
Goal
$1,000.00
Back