The Ultima Online Classic client uses a software renderer to display the game on the screen. What does this mean? It means that UO doesn't use the hardware acceleration from your graphics card to render the game on the screen. It uses your CPU instead, which is much less efficient. This is why clients like the UO XNA Client have so much smoother graphics than the classic client.
Wikipedia explains it well.

There are two types of graphics that the game engine uses. The first type is graphics that are simply drawn on the screen without any alteration, using a typical transparency strategy.

When the UO game engine renders flat terrain, it simply draws the the land graphics in a large grid (44x44 pixels per grid tile). It only draws 18x18 grid tiles at a time according to where you are on the map.

ai22.photobucket.com_albums_b347_Praxiiz_1.png

Any static objects or other objects that are logically sitting on the ground are draw right on the grid. The image is drawn with its bottom center lined up with the bottom center of the grid tile in which it resides. It has a y offset calculated based on a scalar of it's z altitude value.

ai22.photobucket.com_albums_b347_Praxiiz_8.png

The result is that the image matches up on the grid as you would expect. The object has the appearance that it is in the game world sitting on the ground at that location.

ai22.photobucket.com_albums_b347_Praxiiz_9.png

The second type of graphic is the rendered terrain / land graphics. These graphics are textures that get stretched over triangles. 3D renderers build up meshes and shapes using many triangles. Even circles and spheres are made using many triangles.

awww.ccs.neu.edu_course_cs4300old_s11_sphere_sphere_wireframe_hidden.png

The UO terrain engine only draws a grid tile as a flat tile graphic if the altitude of the surrounding two tile vertices is the same. Notice I said tile vertices and not grid tiles. The rendering engine considers the grid to be on the north-west (upper-left corner of the square when turned 45 degrees counter clockwise) vertex of each tile square.

Raising a single tiles z altitude will cause a 4x4 square grid of tiles to be rendered as stretched textures instead of flat tiles. Those tiles are now rendered as triangles with the texture stretched across them.

ai22.photobucket.com_albums_b347_Praxiiz_2.png

Raising the z altitude of the tile directly to the west will show a ridge across the two tiles and expand the textured tiles by 4 in the east direction.

ai22.photobucket.com_albums_b347_Praxiiz_3.png

Raising the z altitude of the north two tiles shows how the triangles are rendered.

ai22.photobucket.com_albums_b347_Praxiiz_4.png

ai22.photobucket.com_albums_b347_Praxiiz_5.png

When a landtile doesn't have a corresponding texture, it cannot be drawn as triangles, and instead is just drawn on the screen as a normal graphic. This results in "holes" in the graphics around the tile since the surrounding tiles are still stretched across the triangles.

ai22.photobucket.com_albums_b347_Praxiiz_6.png
 

Attachments

  • ai22.photobucket.com_albums_b347_Praxiiz_1.png
    ai22.photobucket.com_albums_b347_Praxiiz_1.png
    56.8 KB · Views: 2
  • ai22.photobucket.com_albums_b347_Praxiiz_8.png
    ai22.photobucket.com_albums_b347_Praxiiz_8.png
    8.2 KB · Views: 4
  • ai22.photobucket.com_albums_b347_Praxiiz_9.png
    ai22.photobucket.com_albums_b347_Praxiiz_9.png
    67.5 KB · Views: 4
  • awww.ccs.neu.edu_course_cs4300old_s11_sphere_sphere_wireframe_hidden.png
    awww.ccs.neu.edu_course_cs4300old_s11_sphere_sphere_wireframe_hidden.png
    29.6 KB · Views: 4
  • ai22.photobucket.com_albums_b347_Praxiiz_2.png
    ai22.photobucket.com_albums_b347_Praxiiz_2.png
    73.4 KB · Views: 3
  • ai22.photobucket.com_albums_b347_Praxiiz_3.png
    ai22.photobucket.com_albums_b347_Praxiiz_3.png
    79.4 KB · Views: 4
  • awww.vectorstash.com_articles_100vectors_image01.jpg
    awww.vectorstash.com_articles_100vectors_image01.jpg
    22.2 KB · Views: 4
Last edited:
I never really understood how the graphics were used in UO... I guess this makes sense why on some PC's I have used why the CPU in Task Manager is through the roof. Thanks for the explanation!
 
What I do not understand at all is why EA ... well, now Broadsword has not began to rewrite it to use the graphics card instead of the CPU?

Wouldn't that be a lot more modern and nicer?

Would it be too much work for such an old game?
 
Back