Landscape

Landscape

Some compilation on the landscape creating stuff knowledge gathered so far for me (aquiles)

 

 

IRC

(12:46:57) aquiles: so if i want this cool opening door, i have to do it with the worldeditor?
(12:47:07) kervala: yep :)
(12:47:17) aquiles: but doesnt he also needs some sheets as basic?
(12:47:25) aquiles: like the yubo sheet to add the yubo
(12:47:59) kervala: door animations are handle only by client :(
(12:48:04) kervala: there are static data
(12:48:20) kervala: but teleportation is handled by server
(12:48:46) kervala: for example, when you are with a friend
(12:48:50) kervala: and you open the door
(12:48:59) kervala: your friend will not see the door open
(12:49:51) aquiles: because of the standard animation of the door object
(12:50:10) kervala: yep i think
(12:50:36) kervala: sheets are only for dynamic objects
(12:50:40) kervala: "entities" 
(12:51:00) kervala: such barrels, towers, etc...
(12:51:05) kervala: creatures
(12:51:06) kervala: npc
(12:51:18) kervala: towns are static :(
(12:51:33) aquiles: and defined in ig?
(12:51:40) kervala: yep
(12:52:21) kervala: basically .ig is a list of .shape with a position and some flags :)
(12:52:22) aquiles: ok how do i create them, is it simple by worldeditor adding shapes?
(12:52:52) kervala: you create .ig with 3dsmax
(12:53:01) kervala: and in worldeditor
(12:53:07) kervala: you place .ig on ligo
(12:53:23) kervala: but i never tried :p
(12:53:30) aquiles: ah ok slowly i get it :)
(12:53:31) kervala: for example, Pyr is a .IG
(12:53:44) kervala: and Fyros continent is a landscape
(12:53:50) aquiles: looks like a new tutorial content :)
(12:53:51) kervala: when you are only using landscape
(12:54:02) kervala: there is no content at Pyr location :(
(12:54:05) kervala: it's empty
(12:54:10) kervala: there is a big hole :p lol
(12:54:26) kervala: you have to put Pyr IG there :)
(12:55:15) kervala: and even in Pyr, some entities are missing because they dynamic :)
(12:55:23) kervala: barrels for example are not in Py IG
(12:55:26) kervala: Pyr IG
(12:55:41) aquiles: complicated system
(12:55:57) kervala: yep but IG have all coordinates already generated
(12:56:06) kervala: for Pyr at least
(12:56:42) kervala: if you want to add possibility to destroy a city wall
(12:56:49) kervala: you should remove this wall from IG
(12:56:57) kervala: and create a entity with a sheet :)
(12:57:08) kervala: so you will be able to spawn/despawn it :)
(12:58:16) Kaetemi: advantage of the IGs is that the lighting and shadows are precalculated
(12:59:09) Kaetemi: which also allows you to place a lot of static lights
(12:59:19) kervala: yep :)

(13:02:14) Kaetemi: igs from the max zones
(13:02:33) Kaetemi: you can add stuff to igs in max, as well as in worldeditor for the trees and such
(13:02:54) Kaetemi: but no idea how that works :p
[10:28] <aquiles> Kaetemi: Hi, hows the pipeline going?
[10:32] <Kaetemi> as usual :p
[10:33] <Kaetemi> i'll work on it during the weekend :)
[10:54] <aquiles> Kaetemi: ah ok, looking through the py files at the moment
[10:56] <aquiles> Kaetemi: for the moment id just like to now which file i have to edit in max to add like eg a static house object to newbyland
[11:07] <aquiles> Kaetemi: could u give me a hint on that, i mean there is nothing like a newbieland.max. im kinda lost :(
[11:09] <aquiles> there must be some place to define all the igs
[11:53] <Kaetemi> the newbieland landscape max files are not online yet :)

[12:25] <aquiles> kervala: hey kervala, you said yesterday or the day before that i create .ig with 3dsmax. Do you know anything more about this. i mean .ig are not directly to open with 3dsmax, arnt they?
[12:28] <Kaetemi> in the nel export tool in max go to nel node properties and you should be able to set objects ref a .shape and tell them what .ig they're part of
[12:30] <aquiles> ok thx, and how do they now at which coordinate to place it?
[12:32] <aquiles> because it was said that .ig already have all coordinates generated
[12:34] <kervala> aquiles: i don't know how to create them :p
[12:34] <kervala> i just succeeded to load them and use them in c++ code :)
[12:35] <kervala> and when i don't change position, it's placed at the right location
[12:35] <kervala> but perhaps that depends
[12:35] <kervala> there are small ig and huge ig

[12:56] <Kaetemi> they're part of the zones you paint so it's automatically done
[12:56] <Kaetemi> when you paint zones that have ig :p

[13:45] <sfb> aquiles: A .building sheet has a reference to IGs.
[13:45] <sfb> aquiles: <STRUCT><ATOM Name="builded_ig" Value="somefile.ig"><ATOM Name="name" Value="sorryNoIdea"></STRUCT>

[13:53] <sfb> aquiles: When you make a zone you name it like this: ##_AA
[13:53] <sfb> aquiles: This refers to its upper left corner's coordinates.
[13:53] <sfb> aquiles: Calculate it like this: X = 160 * ALPHA, Y = 160 * - NUM
[13:53] <sfb> aquiles: So lets say there is a zone called ''4_ac.zone'', this means that its upper left coordinates are ''320, -480''
07:31 < Kaetemi> 108km by 16km rather
07:31 < Kaetemi> that's the maximum space for all total landscape
07:31 -!- Phaelae [Phaelae@c-67-186-18-133.hsd1.pa.comcast.net] has joined #ryzom
07:31 < Kaetemi> and yes
07:32 < Kaetemi> it's so they can split up tilebanks for the landscape
07:32 < Kaetemi> for the textures
07:32 < Kaetemi> texture tiles
07:32 < Kaetemi> so one continent has this set of textures, etc
07:33 < letto> i see , do they have nameclashes ?
07:33 < letto> on textures
07:36 < Kaetemi> no
07:36 < Kaetemi> just to save on ram, cause the tilebank, or at least a low res version of it, is loaded fully into ram
07:36 < Kaetemi> as far as i know

17:14 < sfb> You edit the actual landscape geometry in 3DSMAX
17:14 < Narusia> thank you ace
17:14 < sfb> You'll also define the zone information via the ligoscape plugin
17:15 < sfb> You also need to export the zone and run it through the build_gamedata pipeline to prepare the zone and burn in shadows.
17:15 < Krystlih> sfb: are you creating tiles in 3ds, or the whole landscape?
17:15 < sfb> Before you do this it is helpful to use your ligo primitive that defines the zone to layout in world editor
17:15 < sfb> Zones.
17:17 < sfb> So high level you create the zone geometry in 3DS and define the ligo parameters for the zone
17:17 < sfb> Then in World Editor you lay the zones out
17:17 < sfb> The idea is that you'll make a set of zones that can seamless transition
17:17 < Kane_Hart> ace was \\Amiga the storage server or something
17:17 < sfb> And so rather than modelling the entire continent as one large mesh you create "lego" zones that you can "paint" like tile sin World Editor
17:19 < Kane_Hart> sfb how do you texture the zone?
17:19 < kerozcak> kkszysiu: http://dev.ryzom.com/projects/ryzom/wiki/BuildForLinuxCmake
17:19 < sfb> Kane_Hart: You define a tile bank and the open the patch painter in 3DSMAX
17:19 < Kane_Hart> so you paint it sort like any 3d terrain editor sort of?
17:19 < sfb> http://www.opennel.org/confluence/display/NEL/TileTextures
17:19 < sfb> http://www.opennel.org/confluence/display/NEL/CreatingATileBank
17:19 < sfb> http://www.opennel.org/confluence/display/NEL/VegetableSets
17:19 < sfb> Yeah, the 3D terrain editor is 3DSMAX
17:21 < sfb> The idea Nevrax had was that you would make tiles to paint your landscape
17:21 < sfb> Then you could make landscapes that you would paint like tiles in World Editor
17:21 < sfb> Allowing you to rapidly "paint" a continent.
17:25 < sfb> So when that landscape is placed those objects come with it and their shadows/etc are baked into the landscape.
17:26 < sfb> a zone would be something like 4_ac.zone
17:26 < Kane_Hart> ahh
17:26 < sfb> or 4_ac.max
17:26 < Kane_Hart> OHHH
17:26 < Kane_Hart> so you stich them
17:26 < pekayatt> hey guys, there's any place that I can find a documentation a little bit more explained than the code it self?
17:26 < sfb> You don't
17:26 < Kane_Hart> well you know what I mean
17:26 < Kane_Hart> put them togeather
17:26 < Kane_Hart> I thought it was like
17:26 < sfb> In Ryzom you define them and you define how they transition to other landscape zones
17:26 < Kane_Hart> 1 big map
17:26 < sfb> And the build_gamedata pipeline stitches them.
17:26 < sfb> Nope.
17:26 < sfb> In World Editor you "paint" a .zone file into a location
17:27 < Kane_Hart> so the newb island
17:27 < Kane_Hart> is several max files?
17:27 < sfb> Then build_gamedata takes yoru ligoscape, the .zones, etc and stitches them, generates PACS collision info, bakes shadows, etc.
17:27 < sfb> Yes
17:27 < Kane_Hart> ryzom_assets\Database_proto\Landscape\Zones\test_zones
17:27 < Kane_Hart> I need to get plugins all I see is squars
17:27 < Kane_Hart> squares
17:27 < sfb> Squares with arrows?
17:28 < sfb> That means your tilebank isn't loaded or the textures in your tilebank are missing or your texture in general is missing
17:28 < sfb> The arrows point the UV direction on the surface.
17:28 < Kane_Hart> ok  let me try
17:29 < Kane_Hart> good I got this on my ssd i keep closing it :P
17:29 < Kane_Hart> loads pretty fast
17:29 < sfb> No one in the community has used the ligoscape plugin for MAX
17:29 < sfb> So getting a fresh zone from MAX into World Editor is unknown.
17:31 < sfb> http://www.opennel.org/confluence/display/NEL/NeLLigo

10:56 < Kaetemi> you make landscape patches in 3ds max, export them to zones, and you should be able to mix them together into a landscape with worldedit

11:02 < Kaetemi> you can also make a complete landscape directly in 3ds max, split up in patches of 5x5 quad 160m by 160m, and export them by location name
11:02 < Kaetemi> http://www.opennel.org/confluence/display/NEL/NeLCreateLandscape
21:15 < Kaetemi> a landscape is split up in patches "zones" which are stitched together
21:15 < Kane_Hart> OHH
21:15 < Kaetemi> 160m by 160m
21:15 < Kane_Hart> so you design the full zone then you split it?
21:15 < Kaetemi> actually
21:15 < Kaetemi> for ryzom
21:16 < Kaetemi> they designed different zone building blocks
21:16 < Kaetemi> so corner, wall, ground, etc
21:16 < Kaetemi> and used worldedit i think to paint zones together into a landscape

22:33 < Kaetemi> Kattalunikes: there's a fundamental issue with that
22:35 < Kaetemi> the assets as they are are split into 4 ecosystems, desert, jungle/forest, lake and prime roots
22:36 < Kaetemi> the desert textures in the jungle ecosystem do not look exactly as the desert ecosystem
22:37 < Kaetemi> you're gonna have to take that into account when designing the landscape
22:37 < Kaetemi> microvegetation (grass and so on) for jungle for instance is not available in desert ecosystem
22:38 < Kaetemi> as they're seperately built, and the amount is limited for optimization purposes
22:38 < Kaetemi> other than landscape and microvegetation, though, all the other models (trees and buildings) and content can be freely placed in any landscape :)
22:39 < Kaetemi> Kattalunikes: do you have 3ds max installed?
22:40 < Kaetemi> make a quad patch that's a multiple of 160 units large, and split it up in about 32 meters per quad, so that's 5 quads per 160 meters
22:41 < Kaetemi> and model your landscape with that quad patch, negatively extrude to build tunnels, etcetera
22:41 < Kaetemi> water is just a large plane
22:41 < Kaetemi> split the patch up into patches of 160 by 160 units
22:42 < dnk-88> :)
22:42 < Kaetemi> throw nel patch convert tool over them
22:42 < Kaetemi> collapse
22:42 < Kaetemi> go to nel tile tool and select the tilebank (ace, gimme the .bank files!)
22:42 < Kaetemi> select all your patches
22:43 < Kaetemi> throw a nel paint modifier on them all at the same time
22:43 < Kaetemi> and go to paint mode
22:43 < Kaetemi> hold space to select texture
22:43 < Kaetemi> and start painting
22:43 < Kaetemi> close
22:43 < Kaetemi> collapse the paint modifier on each of the patches seperately
22:43 < Kaetemi> run the gamedata build pipeline :P

19:21 < Kane_Hart> the IG files do what
19:21 < Kaetemi> they place static objects in the landscape
19:21 < Kaetemi> such as large buildings and cities :)
19:21 < Kane_Hart> ohh like tree's
19:21 < Kane_Hart> ahh
19:21 < Kaetemi> maybe trees too

21:51 < Kaetemi> building takes about 500mb space
21:53 < kerozcak> so if i understand correctly, we can create own jungle land with it?
21:53 < kerozcak> from tiles
21:53 < Kaetemi> you can modify newbieland in the world editor yes
21:53 < Kaetemi> and they're called bricks apparently, not tiles, tiles are the textures :p
21:53 < kerozcak> cool
21:54 < kerozcak> ok
21:54 < Kaetemi> ligo bricks :p
21:54 < kerozcak> it's ligo because lega is trademarked? ;)
21:54 < kerozcak> lego*
21:55 < Kaetemi> there's a story somewhere :p
21:56 < Kaetemi> http://dl.kaetemi.be/nel/scripts/build_gamedata_py_012.7z (36 MB)
21:56 < kerozcak> so it's all bricks from newbieland, or jungle continent?
21:57 < Kaetemi> jungle ecosystem
21:57 < Kaetemi> there's 4 (yes 4) ecosystems
21:57 < Kaetemi> newbieland, matis, zorai, nexus, etc all use the jungle ecosystem
21:57 < Kaetemi> ecosystem contains the microvegetation, tilebanks and ligo bricks
22:00 < Kaetemi> so right now you have all jungle tiles available in ligo edit, but they're all missing their igs, and i can only release the max files (and thus igs) that are already in use by newbieland, so
 you'll be limited to the set that's already in use, unless you add your own tiles :)
22:01 < Kaetemi> so jungle ecosystem will be stripped down to newbieland :P
22:01 < Kaetemi> http://dev.ryzom.com/projects/ryzom/wiki/BuildGamedata <- see structure of projects :p
22:01 < Kane_Hart> =)
22:01 < kerozcak> but there's also some parts of lakes in newbieland (that island)
22:02 < kerozcak> right?
22:02 < Kaetemi> is part of jungle data
22:02 < kerozcak> ah ok
22:02 < Kaetemi> there's only a limited set of sand in the jungle data though
22:02 < Kane_Hart> so is there 4 or 5 tilesets?
22:02 < Kaetemi> 4 tilebanks
22:03 < Kaetemi> in W:\database\Landscape\_texture_Tiles\jungle you'll only see 1 sand tileset
22:04 < Kaetemi> that is what's used for the sand in newbieland
22:04 < Kaetemi> W:\database\Landscape\_texture_Tiles\desert has lots of sand
22:04 < Kaetemi> W:\database\Landscape\_texture_Tiles\lacustre has different sand and grass
22:05 < Kane_Hart> =)
22:05 < kerozcak> but what you mean by 'you'll be limited to the set that's already in use'? isn't desert and other ecosystems in assets?
22:05 < Kaetemi> ligo bricks
22:05 < Kaetemi> are not in the assets
22:06 < Kaetemi> you have to make your own landscape :)
22:06 < Kaetemi> and i strongly recommend doing it, cause it's quite fun :p
22:06 < kerozcak> but you still need 3ds for that :)
22:06 < Kane_Hart> I want to use what we got
22:07 < Kane_Hart> and maybe in the future community build more
22:07 < Kaetemi> you *can* use a flat ligo brick, and a heightmap ;p
22:07 < kerozcak> yes it's a good start :)
22:07 < Kaetemi> it supports heightmap out of the box :p
22:07 < kerozcak> that's cool
22:08 < kerozcak> it will be one ligo brick with heightmap for whole terrain, or each ligo brick has own heightmap?
22:08 < Kaetemi> but the bricks that come with newbieland should be enough for creating a different terrain for starting out
22:08 < Kaetemi> it's a heightmap for the continent
22:08 < Kaetemi> you need to preconfigure the range of the continent in the project settings
22:08 < kerozcak> (sorry if i'm asking silly question, i just didn't read much about NeL terrain yet)
22:09 < Kaetemi> heightmap is not documented but it's fairly easy
22:10 < kerozcak> but you can't create these cool walls with heightmap :)
22:10 < Kaetemi> exactly ;p
22:10 < Kaetemi> the heightmap is intended for adding noise onto your fancy landscape with walls
22:10 < Kaetemi> so it's not completely flat =:)
22:10 < Kane_Hart> so was there bugs with the current newbie island tiles
22:11 < Kane_Hart> like I always used them and they would use random ugly shapes and stuff
22:11 < Kaetemi> i don't think it goes fully automated, you need to do some work placing the bricks :p
22:12 < Kaetemi> also, if you don't intend to change the config of the build pipeline, stay within the current size of the newbieland

20:45 < Kaetemi> so you can model a whole large piece at once in max
20:46 < kerozcak> nice
20:47 < Kaetemi> and the build pipeline can add a heightmap plus a noise map on top of your landscape
20:47 < kerozcak> but why split it then?
20:47 < Kaetemi> zone need to be split into square .zone files of 160x160 :)
20:48 < kerozcak> ah ok
20:48 < Kaetemi> this is a 3*160x3*160 http://dl.kaetemi.be/ryzom/newbieland_lake.png

Buildings

17:00    Kaetemi     building looks like
         Kaetemi    <?xml version="1.0"?>
         Kaetemi    <FORM Revision="" State="modified">
         Kaetemi    <STRUCT>
         Kaetemi    <ATOM Name="builded_ig" Value="gen_autel_kami.ig"/>
         Kaetemi    <ATOM Name="name" Value="uiBuildingKamiAltar"/>
         Kaetemi    </STRUCT>
         Kaetemi    </FORM>
         Kaetemi    nothing much special it seems
17:01    Geringer Does gen_autel_kami.ig generated using 3ds max?
         Kaetemi    export pipeline shooouuuld export that yes
         Kaetemi    but it's also in the client data already