Map2diff imploaded: .map optimization questions
by Steven Peterson · in Torque Game Engine · 10/26/2005 (7:58 am) · 6 replies
I am new to quark. That doesn't seem to have stopped me from breaking map2diff though. It got stuck in "creating surfaces" for most of the night before crashing, and this is on a reasonably highend pentium-IV box.
I started with the test-room (which I got working first). After pushing out the walls a little, I made a simple hexagonal retaining-wall brick and used nested-duplicators to cover the walls in it. (Each wall is it's own group). The thing compiled with this 1/2 done.
Once finished with the walls, I also made a beveled "floor-tile". I figure the tile is less than 3'x3' square and the room is 12 tiles by 7 tiles.
As mentioned above when I got here, the thing failed to compile.
Is there someway I can do a "remove all-hidden-faces"? I haven't found it yet but if it's there it would give me about 38% reduction in faces. By my own math (forgetting the door) there's:
500 bricks
84 floor tiles
4840 total faces
1920 hidden-faces.
Also I would prefer to texture the visible portion of each wall as a single object, ignoring the non-visible parts, rather than tiling each individual brick (hidden sections included). I would imagine this would also be an optimization.
In fact if i could merge each wall of 100 or 150 bricks into a single object that would be great for me, who knows about the compiler.
Any other ideas for getting this to work? Once I get this 1 room, I want to link several dozen of them together to make underworld dungeons.
Thanks all,
Raven
I started with the test-room (which I got working first). After pushing out the walls a little, I made a simple hexagonal retaining-wall brick and used nested-duplicators to cover the walls in it. (Each wall is it's own group). The thing compiled with this 1/2 done.
Once finished with the walls, I also made a beveled "floor-tile". I figure the tile is less than 3'x3' square and the room is 12 tiles by 7 tiles.
As mentioned above when I got here, the thing failed to compile.
Is there someway I can do a "remove all-hidden-faces"? I haven't found it yet but if it's there it would give me about 38% reduction in faces. By my own math (forgetting the door) there's:
500 bricks
84 floor tiles
4840 total faces
1920 hidden-faces.
Also I would prefer to texture the visible portion of each wall as a single object, ignoring the non-visible parts, rather than tiling each individual brick (hidden sections included). I would imagine this would also be an optimization.
In fact if i could merge each wall of 100 or 150 bricks into a single object that would be great for me, who knows about the compiler.
Any other ideas for getting this to work? Once I get this 1 room, I want to link several dozen of them together to make underworld dungeons.
Thanks all,
Raven
#2
Part of my problem is I can't figure out how to create a brick texture that tiles. Note i'm a programmer not an artist, and I own gimp, not photoshop. I don't think i even have a 'bevel' tool... :-(
Instead, I figured i'd just make the texture for the brick material, build 3D bricks, and let the 3D lighting do the rest.
I wasn't sure myself at first, but I went [gasp] outside, and checked out a real wall. Turns out this is how it's done in the real-world, pretty cool huh? :-P (Actually, thats how it really happend; you think i come up with this stuff on my own?..)
So that was the train of logic. Guess I'll have to re-think... Any further suggestions are of course welcome! :-)
Thanks,
Raven
10/26/2005 (9:06 am)
True I've never seen it done before, always wondered why though. It took like 30 min. to do, so it wasn't even all that back breaking...Part of my problem is I can't figure out how to create a brick texture that tiles. Note i'm a programmer not an artist, and I own gimp, not photoshop. I don't think i even have a 'bevel' tool... :-(
Instead, I figured i'd just make the texture for the brick material, build 3D bricks, and let the 3D lighting do the rest.
I wasn't sure myself at first, but I went [gasp] outside, and checked out a real wall. Turns out this is how it's done in the real-world, pretty cool huh? :-P (Actually, thats how it really happend; you think i come up with this stuff on my own?..)
So that was the train of logic. Guess I'll have to re-think... Any further suggestions are of course welcome! :-)
Thanks,
Raven
#3
10/26/2005 (9:10 am)
If you search the internet for free game textures you will be surprised how many out there are free, and there are dozens of brick textures out there that tile which you could use as a base to make your own texture or heck just use it outright. Just check the terms of use for whatever page you DL from.
#4
10/26/2005 (9:25 am)
Good idea, maybe I can borrow other textures as a template to make my own. I'm doing this as senior-project and it's going to be the keystone of my portfolio, so i'm trying to do as much as possible from scratch.
#5
its called offset.. at least it is in photoshop..
-if you have a 512x512 texture u offset it by 256 width and 256 height (offset wraps around)
which basically puts the edges of the textures in the middle of the picture
-then you edit the middle (remember it was the edge) so it matches up seamlessly
-then u just offset it by 256 and 256 again returning the edges to there original position, and since the edges where matched up in the middle by yourself to be seamless now they will match up at the edge seamlessly...
10/26/2005 (9:49 am)
Gimp defo has the tiling tool you need..its called offset.. at least it is in photoshop..
-if you have a 512x512 texture u offset it by 256 width and 256 height (offset wraps around)
which basically puts the edges of the textures in the middle of the picture
-then you edit the middle (remember it was the edge) so it matches up seamlessly
-then u just offset it by 256 and 256 again returning the edges to there original position, and since the edges where matched up in the middle by yourself to be seamless now they will match up at the edge seamlessly...
#6
I learned that (offset) the otherday and understand how it works for somthing like grass, gravel, concrete etc. But when you have somthing like a brick wall where the bricks as a whole have to tile nicely... It seems like a more complex problem.
Most of my textures i'm makeing from photos, but I can't get it to work with bricks of any kind. Some tutorials seem to be suggesting I make the "bricks" from scratch in gimp, blocks and lines and all, and just apply the textures I want to the different portions of the image. I'm giving that a go now, so we'll see how it works out.
@Lfoster:
I used your NULL texture idea for the hidden-faces of the floor tiles, since they are of particular importance in this case. The bricks i'm going back to *trying* to make textures.
@all
Does anyone know how things like the tiled stone floors in the starter.fps demo were created? I'd love to do stuff like that but can't seem to figure out the right formula.
10/26/2005 (10:57 am)
@TenRhook:I learned that (offset) the otherday and understand how it works for somthing like grass, gravel, concrete etc. But when you have somthing like a brick wall where the bricks as a whole have to tile nicely... It seems like a more complex problem.
Most of my textures i'm makeing from photos, but I can't get it to work with bricks of any kind. Some tutorials seem to be suggesting I make the "bricks" from scratch in gimp, blocks and lines and all, and just apply the textures I want to the different portions of the image. I'm giving that a go now, so we'll see how it works out.
@Lfoster:
I used your NULL texture idea for the hidden-faces of the floor tiles, since they are of particular importance in this case. The bricks i'm going back to *trying* to make textures.
@all
Does anyone know how things like the tiled stone floors in the starter.fps demo were created? I'd love to do stuff like that but can't seem to figure out the right formula.
Associate Logan Foster
perPixel Studios
As a FYI, you one single room has more polygons than most DIF objects you would see that make up entire buildings here in a TGE based game!
Detail such as what you are doing, is to be best done as a bitmap texture applied to a single flat surface, you don't need to individually model a bunch of bricks. If for some crazy reason you think that you need/want the extra detail where you have depth with the bricks, add in bump mapping or normal maps, you will still get a great result, but without wasting countless hours or killing your performance in-game.
If you really want to progress upon the path that you are going, make a NULL texture and assign it to individual faces within Torque. Map2DIF will do its magic from there and not have the engine calculate those particular polygons that are flagged with the NULL texture.
Logan