Legends of Tacendia
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
Legends of Tacendia
I've been working on the tools and processes to get content into Legends of Tacendia (working title). http://www.legendsoftacendia.com
These shots include temporary assets borrowed from other games as placeholders. The most interesting thing about this shot is the shadows on the terrain and on the buildings.
So, here's the screenshots and a description of what you're looking at:
A 256x256 block of terrain representing 512x512 meters was loaded into giles. Meshes were then placed into the scene. The grid in Gile[s] is set to snap such that the meshes snap together nicely - the wall is made from about 12 different pieces snapped together. It's really cool to be able to snap those pieces into place easily.
http://www.larabie.net/ogre/LOTMarch05-2005-1.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-2.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-3.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-4.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-5.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-6.jpg
The terrain will look much better than this in the final version, those are sample textures I threw together. An artist will be doing the terrain textures, as well as the terrain layout and texture painting onto the terrain, instead of some stupid programmer like me
The game is a MMORPG with a few interesting twists, such as tactics style combat (otherwise known as strategy rpg combat) similar to Gladius and other "tactics" games such as Final Fantasy Tactics, Tactics Ogre. The other key feature is the ability to control more than one character at a time, both during world movement and combat. The game has been in development for years (7 years), but like most MMOPRG projects, is progressing slowly. Unlike most MMORPG projects, I understand the complexities of what is necessary to bring a game together. Which is why I've been concentrating on tools for the last year or so, figuring out what tools I need to build or integrate into the content creation process, so I can give the tools to the artists and let them go.
Also, the terrain only has shadows on it near the buildings - in the distance the terrain will look much better once shadowed. Currently it takes me 1.5 hours to simply load a 256x256 block of terrain in Gile[s] due to some strange slowness in the importer. I should be able to get this to under 1 minute once I write a custom importer, but in the meantime, I didn't have the time to load up those 15 other 256x256 maps in the distance, so I just loaded the one near the buildings and generated shadows for it.
The terrain is receiving shadows and casting shadows. The meshes are receiving and casting shadows.
I'm using the PagingLandscapeManager2 plugin, and OgreODE in for player movement and collision detection/response, colliding with terrain and other objects in a realistic manner. Gile[s] for lightmapping with a modified version of Walaber's exporter. Freeworld for terrain creation and painting. 3DS Max for model creation with Octopus for exporting.
More to come soon.
Here are the development forums in case you're interesting in weekly updates. We're currently looking for programmers to assist us.
http://www.legendsoftacendia.com/forums ... pendev_lot
Clay
These shots include temporary assets borrowed from other games as placeholders. The most interesting thing about this shot is the shadows on the terrain and on the buildings.
So, here's the screenshots and a description of what you're looking at:
A 256x256 block of terrain representing 512x512 meters was loaded into giles. Meshes were then placed into the scene. The grid in Gile[s] is set to snap such that the meshes snap together nicely - the wall is made from about 12 different pieces snapped together. It's really cool to be able to snap those pieces into place easily.
http://www.larabie.net/ogre/LOTMarch05-2005-1.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-2.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-3.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-4.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-5.jpg
http://www.larabie.net/ogre/LOTMarch05-2005-6.jpg
The terrain will look much better than this in the final version, those are sample textures I threw together. An artist will be doing the terrain textures, as well as the terrain layout and texture painting onto the terrain, instead of some stupid programmer like me
The game is a MMORPG with a few interesting twists, such as tactics style combat (otherwise known as strategy rpg combat) similar to Gladius and other "tactics" games such as Final Fantasy Tactics, Tactics Ogre. The other key feature is the ability to control more than one character at a time, both during world movement and combat. The game has been in development for years (7 years), but like most MMOPRG projects, is progressing slowly. Unlike most MMORPG projects, I understand the complexities of what is necessary to bring a game together. Which is why I've been concentrating on tools for the last year or so, figuring out what tools I need to build or integrate into the content creation process, so I can give the tools to the artists and let them go.
Also, the terrain only has shadows on it near the buildings - in the distance the terrain will look much better once shadowed. Currently it takes me 1.5 hours to simply load a 256x256 block of terrain in Gile[s] due to some strange slowness in the importer. I should be able to get this to under 1 minute once I write a custom importer, but in the meantime, I didn't have the time to load up those 15 other 256x256 maps in the distance, so I just loaded the one near the buildings and generated shadows for it.
The terrain is receiving shadows and casting shadows. The meshes are receiving and casting shadows.
I'm using the PagingLandscapeManager2 plugin, and OgreODE in for player movement and collision detection/response, colliding with terrain and other objects in a realistic manner. Gile[s] for lightmapping with a modified version of Walaber's exporter. Freeworld for terrain creation and painting. 3DS Max for model creation with Octopus for exporting.
More to come soon.
Here are the development forums in case you're interesting in weekly updates. We're currently looking for programmers to assist us.
http://www.legendsoftacendia.com/forums ... pendev_lot
Clay
Last edited by Falagard on Fri Mar 04, 2005 3:00 pm, edited 1 time in total.
- Clay
- OGRE Community Helper
- Posts: 518
- Joined: Wed Mar 17, 2004 4:14 am
- Contact:
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
Hey Clay, ya I've seen you around the boards lots and said to myself... "Great, I've only met 2 other Claytons in my whole life and now there's one on the Ogre forums" hehe. We'll have to hope that people don't get us confused.
I've updated the original post with better screenshots that have better lighting, shadows and textures, because they were bothering me. The final game will of course look even better, but I couldn't stand those poor ones up there.
As far as progress goes, it's coming along. In the past we've had full demos with logging into a server, player selection, and then walking around the world, but then we took a few steps backwards and switched engines to Ogre because it was the best decision for the project. Now we're trying to catch back up, but hopefully over the next few weeks I'll have another demo up without networking, then soon (tm) after with networking.
Clay
I've updated the original post with better screenshots that have better lighting, shadows and textures, because they were bothering me. The final game will of course look even better, but I couldn't stand those poor ones up there.
As far as progress goes, it's coming along. In the past we've had full demos with logging into a server, player selection, and then walking around the world, but then we took a few steps backwards and switched engines to Ogre because it was the best decision for the project. Now we're trying to catch back up, but hopefully over the next few weeks I'll have another demo up without networking, then soon (tm) after with networking.
Clay
-
- Goblin
- Posts: 217
- Joined: Thu Oct 24, 2002 4:12 am
- x 1
- Contact:
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
I definitely need a player in there to give you a sense of scale, but our one player model that we have isn't working properly yet. Perhaps I'll put him in there just for a screenshot, untexturedby the way, whats the player-size to the castle-wall ratio?
The scale is about what you'd expect - the units are in meters, so it's easier to get the scale right. 1 unit = 1 meter, a player is about 1.8 meters tall, etc.
Techniques, well - I'm doing like I said. Meshes are created in 3DS Max, and exported to a format that Gile[s] can read. Gile[s] is a lightmapper program, but I'm using it as a world editor too. The best format for getting stuff into Gile[s] seems to be .b3d (Blitz3D) format, so I export from 3DS Max to .b3d. The castle is a bunch of mesh pieces that fit together. The terrain is was created and textured using Freeworld3D - I exported the terrain as 16 bit heightmap. The terrain is rendered using two fragment programs.Can you tell about the technics you used for the terrain/castle and the FPS?
This post has tons of info on how I do the terrain:
http://www.ogre3d.org/phpBB2/viewtopic. ... highlight=
Currently, getting terrain into Gile[s] is a major pain. I won't describe the process, but needless to say I need to create a mesh, load it into 3ds max, cut it up in 16 pieces, export the whole lot as .b3d, then open in Gile[s], and Gile[s] takes 1.5 hours just to load the 256x256 terrain. The screenshots you see above are made from 16 pieces of 256x256 terrain!
Anyhow, after using Gile[s] to position meshes, I export them to a .scene file, and load em up in Ogre.
I'm using OgreODE, especially the terrain collision callback, for moving around the terrain and colliding with the castle in first person (soon to be 3rd person). I'm currently working on this part, because I need to create ODE trimesh collision geometry.
Clay
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
- walaber
- OGRE Expert User
- Posts: 829
- Joined: Sat Oct 02, 2004 2:20 pm
- Location: California, USA
- Contact:
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
Walaber,
Yes, thanks for your exporter. I didn't clean up your code, although I did remove your containers and use std::vector instead
What I did was modify the code so that instead of outputting one big mesh, it outputs a mesh for each model, and a .scene file specifying position/orientation of those meshes. I also modified the names of materials to match the .scene file name, so if the scene file was called helloworld.scene the materials and meshes outputted would be prefixed by helloworld so that I can output multiple scenes without conflicting file names and materials.
That, and a few other changes. I'll release them once I'm happy with the code, but good work on your exporter.
Clay (Falagard)
Yes, thanks for your exporter. I didn't clean up your code, although I did remove your containers and use std::vector instead
What I did was modify the code so that instead of outputting one big mesh, it outputs a mesh for each model, and a .scene file specifying position/orientation of those meshes. I also modified the names of materials to match the .scene file name, so if the scene file was called helloworld.scene the materials and meshes outputted would be prefixed by helloworld so that I can output multiple scenes without conflicting file names and materials.
That, and a few other changes. I'll release them once I'm happy with the code, but good work on your exporter.
Clay (Falagard)
- charlie
- Greenskin
- Posts: 146
- Joined: Mon Nov 15, 2004 1:43 pm
- Location: Austria
- Contact:
- walaber
- OGRE Expert User
- Posts: 829
- Joined: Sat Oct 02, 2004 2:20 pm
- Location: California, USA
- Contact:
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
Yes. Freeworld exports heightmaps in 16 bit raw format that can be opened by both Sinbad's Terrain scene manager, and the PagingLandscapeManager. Also when you paint textures onto terrain in Freeworld, you're actually painting alpha maps that can be exported and used for the technique called "texture splatting" which can work in both the Terrain and PagingLandscapeManager with the right .material and config setups.if i do a terrain with FreeWorld3D i can open in ogre?
Clay
- charlie
- Greenskin
- Posts: 146
- Joined: Mon Nov 15, 2004 1:43 pm
- Location: Austria
- Contact:
Sounds really great. I'll try the trial version since the homepage looks really promisingYes. Freeworld exports heightmaps in 16 bit raw format that can be opened by both Sinbad's Terrain scene manager, and the PagingLandscapeManager. Also when you paint textures onto terrain in Freeworld, you're actually painting alpha maps that can be exported and used for the technique called "texture splatting" which can work in both the Terrain and PagingLandscapeManager with the right .material and config setups.
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
Sputnik,
Thanks for the offer, and yes I'll follow up with you on the tree XML format very soon. I spent some time trying to implement impostors on the trees, (render to texture of tree when in distance, and then regenerate texture whenever view angle to tree exceeds a certain tolerance) but didn't get too far there. I found some great code on gamasutra but had a bit of a problem translating it to ogre since it had some interesting matrix operations and such.
CLay
Thanks for the offer, and yes I'll follow up with you on the tree XML format very soon. I spent some time trying to implement impostors on the trees, (render to texture of tree when in distance, and then regenerate texture whenever view angle to tree exceeds a certain tolerance) but didn't get too far there. I found some great code on gamasutra but had a bit of a problem translating it to ogre since it had some interesting matrix operations and such.
CLay
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
Ha, well yes I did improve on the PLM2 plugin, but Tuan implemented my improvements on his own and so eventually I'll be adopting his implementation to keep it consistent. I added 16 bit raw file support for heightmaps.
One thing I did add is different rendering code for the materials for texture splatting. My terrain materials render 5 splatting textures and 1 shadowmap in 3 passes using a 1.1 shader. I now have a GeForceFX 6600 so I may write a 2.0 shader that does it in less. These material scripts can be used by anyone, but you also have to figure out how to generate coverage maps in a way that the shader expects. A coverage map is basically just a texture that contains the alpha information needed by the texture splatting. In my case, I have 5 textures that can be applied to the terrain, 4 of which have alpha maps that define the blending amounts. These are stored in two coverage maps, called CoverageMap.tga and CoverageMapPass2.tga, in the B and A channels of the images.
Also, I use a completely custom map splitter which runs photoshop macros to do the splitting and generate the coverage maps. Crazy but true. I could release this map splitter, but you'd have to have Photoshop 7 or above to run it.
Clay
One thing I did add is different rendering code for the materials for texture splatting. My terrain materials render 5 splatting textures and 1 shadowmap in 3 passes using a 1.1 shader. I now have a GeForceFX 6600 so I may write a 2.0 shader that does it in less. These material scripts can be used by anyone, but you also have to figure out how to generate coverage maps in a way that the shader expects. A coverage map is basically just a texture that contains the alpha information needed by the texture splatting. In my case, I have 5 textures that can be applied to the terrain, 4 of which have alpha maps that define the blending amounts. These are stored in two coverage maps, called CoverageMap.tga and CoverageMapPass2.tga, in the B and A channels of the images.
Also, I use a completely custom map splitter which runs photoshop macros to do the splitting and generate the coverage maps. Crazy but true. I could release this map splitter, but you'd have to have Photoshop 7 or above to run it.
Clay
- Ramirez
- Gnoblar
- Posts: 19
- Joined: Wed Feb 09, 2005 2:19 pm
- Location: Germany - Düsseldorf
It would be interesting if you release some code snippets working with shader on PLM2.Falagard wrote: These material scripts can be used by anyone, but you also have to figure out how to generate coverage maps in a way that the shader expects...
My experience working with shader are most humble.
it would be great to directly direktly from photoshop.Falagard wrote: Also, I use a completely custom map splitter which runs photoshop macros...
Clay
thx,
Ramirez
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
Here's an update on these screenshots. This is taken directly from a post on the Legends of Tacendia message boards:
http://www.legendsoftacendia.com/forums ... o=&fpart=1
Two demos to show off this time:
First, a new terrain demo with castles, you've seen the screenshots, now witness the excitement!
To be honest, this is a work in progress demo, but since I put it together to show another programmer my current tech demo for LoT, I decided to share with you. I'm currenty working on the collision code for colliding with the castle meshes, but it is disabled in this version because it was unstable (it crashed all the freaking time).
http://www.larabie.net/ogre/LoTDemo-09-03-2005.zip
EDIT - fixed version here, old will be deleted within 12 hrs.
http://www.larabie.net/ogre/LoTDemo-10-03-2005.zip
Note, you'll need a 3d card with vertex shader support, it won't work on GeForce 2 MX or 4 MX cards. GeForce3 and above, Radeon cards that support shaders. Only tested on GeForce4 Ti 4200, GeForce FX 6600 and Radeon 9800 cards though.
Please run using DirectX renderer, OpenGL not tested (read: will crash on startup).
Use standard FPS controls, WASD plus Space for jump. You'll notice the jump and movement is "floaty", that will obviously be fixed. Hit "C" to change to free camera, and while in free camera, Ctrl key will enable super duper fast warp speed movement. Hit "C" to revert to first person controls (drop character from current camera position back to terrain using physics).
Additionally, the long lost tree demo is back. That's right, it's an old demo, but probably new to you!
http://www.larabie.net/ogre/LegendsOfTa ... Demo01.zip
Clay
http://www.legendsoftacendia.com/forums ... o=&fpart=1
Two demos to show off this time:
First, a new terrain demo with castles, you've seen the screenshots, now witness the excitement!
To be honest, this is a work in progress demo, but since I put it together to show another programmer my current tech demo for LoT, I decided to share with you. I'm currenty working on the collision code for colliding with the castle meshes, but it is disabled in this version because it was unstable (it crashed all the freaking time).
http://www.larabie.net/ogre/LoTDemo-09-03-2005.zip
EDIT - fixed version here, old will be deleted within 12 hrs.
http://www.larabie.net/ogre/LoTDemo-10-03-2005.zip
Note, you'll need a 3d card with vertex shader support, it won't work on GeForce 2 MX or 4 MX cards. GeForce3 and above, Radeon cards that support shaders. Only tested on GeForce4 Ti 4200, GeForce FX 6600 and Radeon 9800 cards though.
Please run using DirectX renderer, OpenGL not tested (read: will crash on startup).
Use standard FPS controls, WASD plus Space for jump. You'll notice the jump and movement is "floaty", that will obviously be fixed. Hit "C" to change to free camera, and while in free camera, Ctrl key will enable super duper fast warp speed movement. Hit "C" to revert to first person controls (drop character from current camera position back to terrain using physics).
Additionally, the long lost tree demo is back. That's right, it's an old demo, but probably new to you!
http://www.larabie.net/ogre/LegendsOfTa ... Demo01.zip
Clay
Last edited by Falagard on Wed Mar 09, 2005 3:08 pm, edited 1 time in total.
- Clay
- OGRE Community Helper
- Posts: 518
- Joined: Wed Mar 17, 2004 4:14 am
- Contact:
- Falagard
- OGRE Retired Moderator
- Posts: 2060
- Joined: Thu Feb 26, 2004 12:11 am
- Location: Toronto, Canada
- x 3
- Contact:
You were too quick, it was still uploading when I posted. Try again!
EDIT - I've just had the first person actually download and try it and tell me that they got an error with missing folders for:
media\scenes
and
media\config
Sorry, that's my stupid stupid zipping program that decided that they were empty folders so not include them in the zip. I'm going to upload a fixed version of the zip, but in the meantime, either create empty folders under media, or modify the resources.cfg file to remove those folders (that's what I'm doing).
Clay, tell me when you're done downloading and I'll upload a new file (don't want to interrupt).
Clay
EDIT - I've just had the first person actually download and try it and tell me that they got an error with missing folders for:
media\scenes
and
media\config
Sorry, that's my stupid stupid zipping program that decided that they were empty folders so not include them in the zip. I'm going to upload a fixed version of the zip, but in the meantime, either create empty folders under media, or modify the resources.cfg file to remove those folders (that's what I'm doing).
Clay, tell me when you're done downloading and I'll upload a new file (don't want to interrupt).
Clay