Ultima Online's terrain

Post your questions, suggestions and experiences regarding to Image manipulation, 3d modeling and level editing for the Irrlicht engine here.
Post Reply
D-Eagle
Posts: 25
Joined: Fri Jan 25, 2008 11:03 pm

Ultima Online's terrain

Post by D-Eagle »

I wonder how they made the ultima online's terrain. It's HUGE. It's also 3D, i think.. Not sure tough, it just looks like 3D. I wonder if that kind of terrain could be created with Irrlicht? Like, have a huge height map and a huge color map, in the color map each color means some texture, yellow for sand, dark yellow for puke, green for grass, blue for water, gray for stone, dark gray for cobblestones etc etc. And the textures would be nicely blended together, so no hard edges. And then create a map file with these. Would it be possible?
D-Eagle
Posts: 25
Joined: Fri Jan 25, 2008 11:03 pm

Post by D-Eagle »

Here's an example of a system that i need:
Image
1 pixel is 1 tile in game. A pixel, where is, for example, that specific green color, it textures a tile in the 3d terrain with a grass texture that is assigned to that specific green color. And the tile textures should be nicely blended so that it does not look like this: http://img223.imageshack.us/my.php?imag ... amenq2.jpg (the window under the example window is the target quality) (and that example window is a very old test crated with darkbasic pro). Can anyone assist?
Morgawr
Posts: 95
Joined: Wed Sep 26, 2007 7:04 pm

Post by Morgawr »

Mmmm.. my wild guess would be to create a matrix of data which would be your map, in every location of your matrix you store a number which refers to an enumeration of textures and during the drawing process you draw all the textures you need to draw while "browsing" (don't know if it's the correct word) the map inside a loop..

Anyways that "blending" effect in my opinion, could be done with a transparent effect at the edges of the texture and when you draw every square you make them overlap a little so the transparency mixes and gives a nice blended effect.


Image
This is a little drawing I took in GIMP (yes, my drawing skill sucks very bad) to make an example...

The outer red/blue square is the size of the texture, the inner red/blue square is the fully-shown part of the texture and the gray area is the part in between with a bit of transparency (depending on your need), when you draw them you make them touch and penetrate with each other and the effect should be like that.

I honestly don't know all the details of how to do that in irrlicht (or any other engine) because I have never tried it, it was just the first thing that popped in my mind...
...well, not really.. Honestly I'm working to a 2d/3d map like that for my RPG game and that was all I could think for it, but I haven't tried to implement it in a program yet, we'll have to wait :roll:


ps: this topic is revelant to my interest as mentioned above, need more solutions! :lol:
D-Eagle
Posts: 25
Joined: Fri Jan 25, 2008 11:03 pm

Post by D-Eagle »

There is a free open source Ultima Online client, wich has great terrain system. http://www.iris2.de/images/1/12/20080123003725_984.png They say they use 'multi-texturing'.
http://www.iris2.de/index.php/Dev_Blog# ... ng_terrain
http://www.iris2.de/index.php/Dev_Blog# ... n_progress
That is just what i am looking for.. but how to make it?
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

D-Eagle wrote:There is a free open source Ultima Online client, wich has great terrain system... but how to make it?
:roll:
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
D-Eagle
Posts: 25
Joined: Fri Jan 25, 2008 11:03 pm

Post by D-Eagle »

Man, i've already checked some code of that project, and i didn't even find that part of code, only terrain stuff i found was some intersection crap, and they use ogre and some lua library and other stuff, it's really messy for me.
sp00n
Posts: 114
Joined: Wed Sep 13, 2006 9:39 am

Post by sp00n »

May be i'm stupid, but i haven't see here any problem.
What are you looking for?
if it "blending" function - click on search button of the forum
if it "multitexturing" - click on search button of the forum
if it "tiling" - you're know what to do yet :)

in that screen you linked previous is a standard 2.5D scene, as i remember there doesn't use any blending/multitexturing procedural, there are prepainted images, but noone forbids you use any procedural texturing
about a world - you have a matrix or an array of the numbers (for example World[n][m]), which number is a textureID and type (i mean - wall,water or something else), it realised very simply and used at the moment only part of the world not all (dynamic load/unload to/from memory). it isn't problem to code it :) all geniusly is simply :)))
Good luck with your searching.
Post Reply