AEblocks - Modular Mapping

Discussion for Level editing, modeling, programming, or any of the other technical aspects of Quake
Castle
Posts: 191
Joined: Fri Dec 29, 2000 8:00 am

Re: AEblocks - Modular Mapping

Post by Castle »

I actually beveled the edges on the blocks and in some cases added small amounts of detail.
- Russell Meakim AKA The Castle
Portfolio: http://castledoes.carbonmade.com/
YouTube: https://www.youtube.com/user/zZCastleZz
Tsu: https://www.tsu.co/zZCastleZz
Twitter: @zZCastleZz
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

Strange... that should have made "holes" in your walls and floors. Then again, your bevels seem to very fine less than 1u, and all your blocks are textured, so one would almost never see holes. My caulked edges in walls stand out pretty badly by contrast. Oh well :)
Castle
Posts: 191
Joined: Fri Dec 29, 2000 8:00 am

Re: AEblocks - Modular Mapping

Post by Castle »

AEon wrote:Strange... that should have made "holes" in your walls and floors. Then again, your bevels seem to very fine less than 1u, and all your blocks are textured, so one would almost never see holes. My caulked edges in walls stand out pretty badly by contrast. Oh well :)
You are correct, the holes are hard to see though but they do exist. In the case of a proper art pass though this would be a consideration and the holes would be covered in some way.
- Russell Meakim AKA The Castle
Portfolio: http://castledoes.carbonmade.com/
YouTube: https://www.youtube.com/user/zZCastleZz
Tsu: https://www.tsu.co/zZCastleZz
Twitter: @zZCastleZz
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

Castle,
BTW looking forward to more videoes on Tesseract (follow link for free download of the game). About 10 days ago I installed that game. It seems to be quite amazing what can be done with it... another 3D-view-only editor that may inspire what could be done in Reflex. Though I found that using the FPS crosshair to edit a bit unprecise... then it occurred to me that a "good mapper" would probably reduce the mouse sensitivity for edit mode. Also looked at the edit key bindings of that game and there is a lot there.

Today I looked into the .ogz map format (under e.g. Tesseract\media\map\complex.ogz), a packed binary format my Total Commander file browser was able to unpack (gnu zip or something, not sure). The unpacked file has no file name extension but is in "TMAP" format, alas also a binary. The first few entries in that file (for the map complex) seem to mention things like sunlightyaw, atmoclarity, sunlightscale, skylightscale... one guess is they are attached to the "worldspawn" entity (i.e. any brush, if Tesseract actually had them) as Q3A and Reflex have.

Maybe the above slightly helps. Anyway interesting game and editor.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

One of the things I have started to do, while trying to plug the holes in the walls, is simplify the geometry, i.e. instead of using 5 cubes... turn them into only one block... slightly adds some variation to the blocky look... and reduces the number of holes in the map.
Anyway, after reading a book on garden design (by Joe Swift, regular moderator of Gardeners' World, folks in the UK will know him), I thought a water feature would look nice. There will be plants, at least two trees and also a form of vertical garden in the map. The contrast between greenery and crete should look nice... almost like some of 60ies visions of the future. Though the tubing does clash the "clean look"... I might need to create a different set of textures from Socks that uses less "brownish" tubes, maybe in grey or white.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

So, after a week of work, I pretty much plugged all the holes in the map (must have been around 1000)... except for about 30+ I found after the compile. Finally I can get back to actually building something, instead of repairing the map.

Since I usually build maps using most of the existing geometry as caulk hull... not having any such hull takes a bit of getting used to. To optimized player clip, you usually work towards filling all areas of the caulk hull, to minimize the space the bots will then roam in... a space map is a bit different in that respect. So, I'll have to create caulk hull first, and get it "airtight"... oh joy ;). Hopefully that will take only a day...
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

After quite a bit more work than I had hoped, finished the caulk hull... looks like a real map now...
I had one small leak in the map... and apparently the .prt file seems to have issues. Could not check for the one hole the hull had... luckily it was trivial to find... wonder if it is the 64bit version of q3map2 or if GTKradiant 1.6.4 does not load the "leak" file... strange.

I was happy to find out that my careful caulk hull build has not messed into the lighting of the otherwise detail brush map... a few more holes have become more apparent though, so those will also need fixing... but only around 20 or so.

Running about, the caulk hull started to cull parts of the map... alas not quite as well as I would have hope... but that is normal... hint brushes will need to be added soon. Most of the time the tris count is at 15-20k... but in a few areas it ups to 35k briefly... not so wonderful. Though I am pretty sure a few hint brushes will bring it down to worst case 25k... hopefully.

Alas the bot compile still fails even with a caulk hull... too many patches in the map apparently... and bot clipping the winding patch ramps could get ugly. Not sure how to approach this properly... anyway player and bot clip is next... hopefully that gets the map finally working with bots for me to play test the gameplay of the map.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

AAS File Compile Issues

I am presently player clipping the map... and I had hoped that covering the many patches and walls with clip would not only simplify the pathing for the bots, but also fix the compile error I have been seeing from the very start. I did a output compare of r170 and r170 of the map... and the bspc compile did not improve at all.

Compiling with:
  • Code: Select all

    bspc.exe -bsp2aas "D:\Games\Quake3\baseq3\maps\aeblocks173.bsp" -forcesidesvisible -optimize
Hope someone can give me a pointer on how to fix this problem:

[spoiler]

Code: Select all

D:\Games\Quake3\baseq3\maps>REM ##############################################

D:\Games\Quake3\baseq3\maps>REM ### AAS ######################################

D:\Games\Quake3\baseq3\maps>REM ##############################################

D:\Games\Quake3\baseq3\maps>call D:\Games\Quake3\Radiant\bspc.exe -bsp2aas "D:\Games\Quake3\baseq3\maps\aeblocks173.bsp" -forcesidesvisible -optimize
Opened log bspc.log
BSPC version 2.1h, May  6 2001 16:15:03 by Mr Elusive
forcesidesvisible = true
optimize = true
bsp2aas: D:\Games\Quake3\baseq3\maps\aeblocks173.bsp to D:\Games\Quake3\baseq3\maps\aeblocks173.aas
-- Q3_LoadMapFromBSP --
Loading map from D:\Games\Quake3\baseq3\maps\aeblocks173.bsp...
creating planar surface planes...
searching visible brush sides...
 49107 brush sides
49107 brush sides textured out of 49107
Entity 0, Brush 0: duplicate plane
Entity 0, Brush 2: duplicate plane
Entity 0, Brush 2: duplicate plane
Entity 0, Brush 6: duplicate plane
Entity 0, Brush 6: duplicate plane
Entity 0, Brush 8: duplicate plane
Entity 0, Brush 20: duplicate plane
Entity 0, Brush 26: duplicate plane
Entity 0, Brush 28: duplicate plane
Entity 0, Brush 34: duplicate plane
Entity 0, Brush 110: duplicate plane
Entity 0, Brush 112: duplicate plane
Entity 0, Brush 114: duplicate plane
Entity 0, Brush 124: duplicate plane
Entity 0, Brush 126: duplicate plane
Entity 0, Brush 128: duplicate plane
Entity 0, Brush 306: duplicate plane
Entity 0, Brush 312: duplicate plane
Entity 0, Brush 320: duplicate plane
Entity 0, Brush 346: duplicate plane
Entity 0, Brush 346: duplicate plane
Entity 0, Brush 348: duplicate plane
Entity 0, Brush 348: duplicate plane
Entity 0, Brush 350: duplicate plane
Entity 0, Brush 352: duplicate plane
Entity 0, Brush 352: duplicate plane
Entity 0, Brush 354: duplicate plane
Entity 0, Brush 354: duplicate plane
Entity 0, Brush 356: duplicate plane
Entity 0, Brush 356: duplicate plane
Entity 0, Brush 382: duplicate plane
Entity 0, Brush 382: duplicate plane
Entity 0, Brush 956: duplicate plane
Entity 0, Brush 990: duplicate plane
Entity 0, Brush 996: duplicate plane
Entity 0, Brush 1034: duplicate plane
Entity 0, Brush 1038: duplicate plane
Entity 0, Brush 1038: duplicate plane
Entity 0, Brush 1082: duplicate plane
Entity 0, Brush 1082: duplicate plane
Entity 0, Brush 1082: duplicate plane
Entity 0, Brush 1092: duplicate plane
Entity 0, Brush 1704: duplicate plane
Entity 0, Brush 1704: duplicate plane
Entity 0, Brush 1822: duplicate plane
Entity 0, Brush 1822: duplicate plane
Entity 0, Brush 1822: duplicate plane
Entity 0, Brush 1824: duplicate plane
Entity 0, Brush 1824: duplicate plane
Entity 0, Brush 1826: duplicate plane
Entity 0, Brush 1826: duplicate plane
Entity 0, Brush 1872: duplicate plane
Entity 0, Brush 1874: duplicate plane
Entity 0, Brush 1876: duplicate plane
Entity 0, Brush 1876: duplicate plane
Entity 0, Brush 1876: duplicate plane
Entity 0, Brush 1878: duplicate plane
Entity 0, Brush 1878: duplicate plane
Entity 0, Brush 1880: duplicate plane
Entity 0, Brush 1882: duplicate plane
Entity 0, Brush 1884: duplicate plane
Entity 0, Brush 1884: duplicate plane
Entity 0, Brush 1890: duplicate plane
Entity 0, Brush 1892: duplicate plane
Entity 0, Brush 1894: duplicate plane
Entity 0, Brush 1896: duplicate plane
Entity 0, Brush 1898: duplicate plane
Entity 0, Brush 1898: duplicate plane
Entity 0, Brush 1970: duplicate plane
Entity 0, Brush 1970: duplicate plane
Entity 0, Brush 1974: duplicate plane
Entity 0, Brush 1974: duplicate plane
Entity 0, Brush 1978: duplicate plane
Entity 0, Brush 1980: duplicate plane
Entity 0, Brush 1988: duplicate plane
Entity 0, Brush 1990: duplicate plane
Entity 0, Brush 2008: duplicate plane
Entity 0, Brush 2012: duplicate plane
Entity 0, Brush 2020: duplicate plane
Entity 0, Brush 2026: duplicate plane
Entity 0, Brush 2038: duplicate plane
Entity 0, Brush 2050: duplicate plane
Entity 0, Brush 2054: duplicate plane
Entity 0, Brush 2054: duplicate plane
Entity 0, Brush 2056: duplicate plane
Entity 0, Brush 2056: duplicate plane
Entity 0, Brush 2060: duplicate plane
Entity 0, Brush 2062: duplicate plane
Entity 0, Brush 2068: duplicate plane
Entity 0, Brush 2070: duplicate plane
Entity 0, Brush 2072: duplicate plane
Entity 0, Brush 2076: duplicate plane
Entity 0, Brush 2080: duplicate plane
Entity 0, Brush 2082: duplicate plane
Entity 0, Brush 2082: duplicate plane
Entity 0, Brush 2084: duplicate plane
Entity 0, Brush 2084: duplicate plane
Entity 0, Brush 2084: duplicate plane
Entity 0, Brush 2086: duplicate plane
Entity 0, Brush 2088: duplicate plane
Entity 0, Brush 2088: duplicate plane
Entity 0, Brush 2090: duplicate plane
Entity 0, Brush 2090: duplicate plane
Entity 0, Brush 2092: duplicate plane
Entity 0, Brush 2096: duplicate plane
Entity 0, Brush 2096: duplicate plane
Entity 0, Brush 2098: duplicate plane
Entity 0, Brush 2100: duplicate plane
Entity 0, Brush 2102: duplicate plane
Entity 0, Brush 2104: duplicate plane
Entity 0, Brush 2104: duplicate plane
Entity 0, Brush 2106: duplicate plane
Entity 0, Brush 2106: duplicate plane
Entity 0, Brush 2106: duplicate plane
Entity 0, Brush 2108: duplicate plane
Entity 0, Brush 2110: duplicate plane
Entity 0, Brush 2122: duplicate plane
Entity 0, Brush 2124: duplicate plane
Entity 0, Brush 2124: duplicate plane
Entity 0, Brush 2130: duplicate plane
Entity 0, Brush 2132: duplicate plane
Entity 0, Brush 2144: duplicate plane
Entity 0, Brush 2146: duplicate plane
Entity 0, Brush 2146: duplicate plane
Entity 0, Brush 2146: duplicate plane
Entity 0, Brush 2148: duplicate plane
Entity 0, Brush 2150: duplicate plane
Entity 0, Brush 2152: duplicate plane
Entity 0, Brush 2152: duplicate plane
Entity 0, Brush 2152: duplicate plane
Entity 0, Brush 2154: duplicate plane
Entity 0, Brush 2190: duplicate plane
Entity 0, Brush 2190: duplicate plane
Entity 0, Brush 2192: duplicate plane
Entity 0, Brush 2194: duplicate plane
Entity 0, Brush 2220: duplicate plane
Entity 0, Brush 2220: duplicate plane
Entity 0, Brush 2222: duplicate plane
Entity 0, Brush 2222: duplicate plane
Entity 0, Brush 2224: duplicate plane
Entity 0, Brush 2224: duplicate plane
Entity 0, Brush 2226: duplicate plane
Entity 0, Brush 2228: duplicate plane
Entity 0, Brush 2230: duplicate plane
Entity 0, Brush 2232: duplicate plane
Entity 0, Brush 2236: duplicate plane
Entity 0, Brush 2238: duplicate plane
Entity 0, Brush 2264: duplicate plane
Entity 0, Brush 2264: duplicate plane
Entity 0, Brush 2264: duplicate plane
Entity 0, Brush 2266: duplicate plane
Entity 0, Brush 2266: duplicate plane
Entity 0, Brush 2268: duplicate plane
Entity 0, Brush 2268: duplicate plane
Entity 0, Brush 2270: duplicate plane
Entity 0, Brush 2272: duplicate plane
Entity 0, Brush 2274: duplicate plane
Entity 0, Brush 2274: duplicate plane
Entity 0, Brush 2276: duplicate plane
Entity 0, Brush 2278: duplicate plane
Entity 0, Brush 2280: duplicate plane
Entity 0, Brush 2280: duplicate plane
Entity 0, Brush 2282: duplicate plane
Entity 0, Brush 2284: duplicate plane
Entity 0, Brush 2302: duplicate plane
Entity 0, Brush 2330: duplicate plane
Entity 0, Brush 2352: duplicate plane
Entity 0, Brush 2352: duplicate plane
Entity 0, Brush 2354: duplicate plane
Entity 0, Brush 2354: duplicate plane
Entity 0, Brush 2356: duplicate plane
Entity 0, Brush 2358: duplicate plane
Entity 0, Brush 2360: duplicate plane
Entity 0, Brush 2360: duplicate plane
Entity 0, Brush 2362: duplicate plane
Entity 0, Brush 2364: duplicate plane
Entity 0, Brush 2364: duplicate plane
Entity 0, Brush 2366: duplicate plane
Entity 0, Brush 2368: duplicate plane
Entity 0, Brush 2370: duplicate plane
Entity 0, Brush 2372: duplicate plane
Entity 0, Brush 2374: duplicate plane
Entity 0, Brush 2374: duplicate plane
Entity 0, Brush 2376: duplicate plane
Entity 0, Brush 2378: duplicate plane
Entity 0, Brush 2386: duplicate plane
Entity 0, Brush 2400: duplicate plane
Entity 0, Brush 2400: duplicate plane
Entity 0, Brush 2402: duplicate plane
Entity 0, Brush 2402: duplicate plane
Entity 0, Brush 2402: duplicate plane
Entity 0, Brush 2404: duplicate plane
Entity 0, Brush 2408: duplicate plane
Entity 0, Brush 2412: duplicate plane
Entity 0, Brush 2412: duplicate plane
Entity 0, Brush 2416: duplicate plane
Entity 0, Brush 2438: duplicate plane
Entity 0, Brush 2438: duplicate plane
Entity 0, Brush 2440: duplicate plane
Entity 0, Brush 2442: duplicate plane
Entity 0, Brush 2446: duplicate plane
Entity 0, Brush 2450: duplicate plane
Entity 0, Brush 2450: duplicate plane
Entity 0, Brush 2450: duplicate plane
Entity 0, Brush 2452: duplicate plane
Entity 0, Brush 2454: duplicate plane
Entity 0, Brush 2454: duplicate plane
Entity 0, Brush 2454: duplicate plane
Entity 0, Brush 2530: duplicate plane
Entity 0, Brush 2536: duplicate plane
Entity 0, Brush 2544: duplicate plane
Entity 0, Brush 2544: duplicate plane
Entity 0, Brush 2572: duplicate plane
Entity 0, Brush 2578: duplicate plane
Entity 0, Brush 2618: duplicate plane
Entity 0, Brush 2618: duplicate plane
Entity 0, Brush 2642: duplicate plane
Entity 0, Brush 2648: duplicate plane
Entity 0, Brush 2652: duplicate plane
Entity 0, Brush 2652: duplicate plane
Entity 0, Brush 2652: duplicate plane
Entity 0, Brush 2656: duplicate plane
Entity 0, Brush 2656: duplicate plane
Entity 0, Brush 2660: duplicate plane
Entity 0, Brush 2664: duplicate plane
Entity 0, Brush 2690: duplicate plane
Entity 0, Brush 2698: duplicate plane
Entity 0, Brush 2700: duplicate plane
Entity 0, Brush 2700: duplicate plane
Entity 0, Brush 2700: duplicate plane
Entity 0, Brush 2712: duplicate plane
Entity 0, Brush 2712: duplicate plane
Entity 0, Brush 2714: duplicate plane
Entity 0, Brush 2716: duplicate plane
Entity 0, Brush 2722: duplicate plane
Entity 0, Brush 2726: duplicate plane
Entity 0, Brush 2744: duplicate plane
Entity 0, Brush 2746: duplicate plane
Entity 0, Brush 2746: duplicate plane
Entity 0, Brush 2750: duplicate plane
Entity 0, Brush 2758: duplicate plane
Entity 0, Brush 2762: duplicate plane
Entity 0, Brush 2762: duplicate plane
Entity 0, Brush 2764: duplicate plane
Entity 0, Brush 2764: duplicate plane
Entity 0, Brush 2766: duplicate plane
Entity 0, Brush 2766: duplicate plane
Entity 0, Brush 2766: duplicate plane
Entity 0, Brush 2768: duplicate plane
Entity 0, Brush 2770: duplicate plane
Entity 0, Brush 2792: duplicate plane
Entity 0, Brush 2792: duplicate plane
Entity 0, Brush 2792: duplicate plane
Entity 0, Brush 2794: duplicate plane
Entity 0, Brush 2794: duplicate plane
Entity 0, Brush 2796: duplicate plane
Entity 0, Brush 2798: duplicate plane
Entity 0, Brush 2798: duplicate plane
Entity 0, Brush 2800: duplicate plane
Entity 0, Brush 2800: duplicate plane
Entity 0, Brush 2804: duplicate plane
Entity 0, Brush 2806: duplicate plane
Entity 0, Brush 2808: duplicate plane
Entity 0, Brush 2810: duplicate plane
Entity 0, Brush 2810: duplicate plane
Entity 0, Brush 2854: duplicate plane
Entity 0, Brush 2854: duplicate plane
Entity 0, Brush 2860: duplicate plane
Entity 0, Brush 2862: duplicate plane
Entity 0, Brush 2864: duplicate plane
Entity 0, Brush 2870: duplicate plane
Entity 0, Brush 2872: duplicate plane
Entity 0, Brush 2934: duplicate plane
Entity 0, Brush 2934: duplicate plane
Entity 0, Brush 2936: duplicate plane
Entity 0, Brush 2936: duplicate plane
Entity 0, Brush 2936: duplicate plane
Entity 0, Brush 2950: duplicate plane
Entity 0, Brush 2950: duplicate plane
Entity 0, Brush 2952: duplicate plane
Entity 0, Brush 2954: duplicate plane
Entity 0, Brush 2954: duplicate plane
Entity 0, Brush 2956: duplicate plane
Entity 0, Brush 2956: duplicate plane
Entity 0, Brush 2958: duplicate plane
Entity 0, Brush 2958: duplicate plane
Entity 0, Brush 2960: duplicate plane
Entity 0, Brush 2962: duplicate plane
Entity 0, Brush 2966: duplicate plane
Entity 0, Brush 2966: duplicate plane
Entity 0, Brush 2972: duplicate plane
Entity 0, Brush 2974: duplicate plane
Entity 0, Brush 2974: duplicate plane
Entity 0, Brush 2976: duplicate plane
Entity 0, Brush 2976: duplicate plane
Entity 0, Brush 2978: duplicate plane
Entity 0, Brush 2980: duplicate plane
Entity 0, Brush 2980: duplicate plane
Entity 0, Brush 2984: duplicate plane
Entity 0, Brush 2984: duplicate plane
Entity 0, Brush 2984: duplicate plane
Entity 0, Brush 2998: duplicate plane
Entity 0, Brush 3002: duplicate plane
Entity 0, Brush 3004: duplicate plane
Entity 0, Brush 3006: duplicate plane
Entity 0, Brush 3006: duplicate plane
Entity 0, Brush 3012: duplicate plane
Entity 0, Brush 3016: duplicate plane
Entity 0, Brush 3016: duplicate plane
Entity 0, Brush 3020: duplicate plane
Entity 0, Brush 3022: duplicate plane
Entity 0, Brush 3024: duplicate plane
Entity 0, Brush 3024: duplicate plane
Entity 0, Brush 3026: duplicate plane
Entity 0, Brush 3028: duplicate plane
Entity 0, Brush 3028: duplicate plane
Entity 0, Brush 3030: duplicate plane
Entity 0, Brush 3032: duplicate plane
Entity 0, Brush 3032: duplicate plane
Entity 0, Brush 3036: duplicate plane
Entity 0, Brush 3036: duplicate plane
Entity 0, Brush 3038: duplicate plane
Entity 0, Brush 3040: duplicate plane
Entity 0, Brush 3040: duplicate plane
Entity 0, Brush 3042: duplicate plane
Entity 0, Brush 3042: duplicate plane
Entity 0, Brush 3044: duplicate plane
Entity 0, Brush 3070: duplicate plane
Entity 0, Brush 3072: duplicate plane
Entity 0, Brush 3076: duplicate plane
Entity 0, Brush 3076: duplicate plane
Entity 0, Brush 3078: duplicate plane
Entity 0, Brush 3082: duplicate plane
Entity 0, Brush 3084: duplicate plane
Entity 0, Brush 3086: duplicate plane
Entity 0, Brush 3086: duplicate plane
Entity 0, Brush 3088: duplicate plane
Entity 0, Brush 3088: duplicate plane
Entity 0, Brush 3090: duplicate plane
Entity 0, Brush 3090: duplicate plane
Entity 0, Brush 3092: duplicate plane
Entity 0, Brush 3098: duplicate plane
Entity 0, Brush 3098: duplicate plane
Entity 0, Brush 3100: duplicate plane
Entity 0, Brush 3102: duplicate plane
Entity 0, Brush 3104: duplicate plane
Entity 0, Brush 3104: duplicate plane
Entity 0, Brush 3106: duplicate plane
Entity 0, Brush 3106: duplicate plane
Entity 0, Brush 3108: duplicate plane
Entity 0, Brush 3110: duplicate plane
Entity 0, Brush 3110: duplicate plane
Entity 0, Brush 3110: duplicate plane
Entity 0, Brush 3112: duplicate plane
Entity 0, Brush 3114: duplicate plane
Entity 0, Brush 3116: duplicate plane
Entity 0, Brush 3118: duplicate plane
Entity 0, Brush 3120: duplicate plane
Entity 0, Brush 3122: duplicate plane
Entity 0, Brush 3122: duplicate plane
Entity 0, Brush 3124: duplicate plane
Entity 0, Brush 3128: duplicate plane
Entity 0, Brush 3130: duplicate plane
Entity 0, Brush 3132: duplicate plane
Entity 0, Brush 3132: duplicate plane
Entity 0, Brush 3136: duplicate plane
Entity 0, Brush 3138: duplicate plane
Entity 0, Brush 3138: duplicate plane
Entity 0, Brush 3140: duplicate plane
Entity 0, Brush 3142: duplicate plane
Entity 0, Brush 3142: duplicate plane
Entity 0, Brush 3144: duplicate plane
Entity 0, Brush 3148: duplicate plane
Entity 0, Brush 3148: duplicate plane
Entity 0, Brush 3150: duplicate plane
Entity 0, Brush 3152: duplicate plane
Entity 0, Brush 3154: duplicate plane
Entity 0, Brush 3156: duplicate plane
Entity 0, Brush 3156: duplicate plane
Entity 0, Brush 3158: duplicate plane
Entity 0, Brush 3160: duplicate plane
Entity 0, Brush 3160: duplicate plane
Entity 0, Brush 3162: duplicate plane
Entity 0, Brush 3162: duplicate plane
Entity 0, Brush 3162: duplicate plane
Entity 0, Brush 3164: duplicate plane
Entity 0, Brush 3164: duplicate plane
Entity 0, Brush 3166: duplicate plane
Entity 0, Brush 3166: duplicate plane
Entity 0, Brush 3168: duplicate plane
Entity 0, Brush 3170: duplicate plane
Entity 0, Brush 3170: duplicate plane
Entity 0, Brush 3172: duplicate plane
Entity 0, Brush 3172: duplicate plane
Entity 0, Brush 3172: duplicate plane
Entity 0, Brush 3174: duplicate plane
Entity 0, Brush 3174: duplicate plane
Entity 0, Brush 3176: duplicate plane
Entity 0, Brush 3178: duplicate plane
Entity 0, Brush 3178: duplicate plane
Entity 0, Brush 3178: duplicate plane
Entity 0, Brush 3178: duplicate plane
Entity 0, Brush 3252: duplicate plane
Entity 0, Brush 3252: duplicate plane
Entity 0, Brush 3328: duplicate plane
Entity 0, Brush 3328: duplicate plane
Entity 0, Brush 3330: duplicate plane
Entity 0, Brush 3680: duplicate plane
Entity 0, Brush 3680: duplicate plane
Entity 0, Brush 3708: duplicate plane
Entity 0, Brush 3708: duplicate plane
Entity 0, Brush 3710: duplicate plane
Entity 0, Brush 3710: duplicate plane
Entity 0, Brush 3712: duplicate plane
Entity 0, Brush 3714: duplicate plane
Entity 0, Brush 3714: duplicate plane
Entity 0, Brush 3716: duplicate plane
Entity 0, Brush 3716: duplicate plane
Entity 0, Brush 3718: duplicate plane
Entity 0, Brush 3718: duplicate plane
Entity 0, Brush 3722: duplicate plane
Entity 0, Brush 3724: duplicate plane
Entity 0, Brush 3724: duplicate plane
Entity 0, Brush 3726: duplicate plane
Entity 0, Brush 3728: duplicate plane
Entity 0, Brush 3760: duplicate plane
Entity 0, Brush 3760: duplicate plane
Entity 0, Brush 3760: duplicate plane
Entity 0, Brush 3760: duplicate plane
Entity 0, Brush 3762: duplicate plane
Entity 0, Brush 3764: duplicate plane
Entity 0, Brush 3764: duplicate plane
Entity 0, Brush 3802: duplicate plane
Entity 0, Brush 3802: duplicate plane
Entity 0, Brush 3804: duplicate plane
Entity 0, Brush 3806: duplicate plane
Entity 0, Brush 3806: duplicate plane
Entity 0, Brush 3860: duplicate plane
Entity 0, Brush 3860: duplicate plane
Entity 0, Brush 3864: duplicate plane
Entity 0, Brush 3864: duplicate plane
Entity 0, Brush 3864: duplicate plane
Entity 0, Brush 3864: duplicate plane
Entity 0, Brush 3944: duplicate plane
Entity 0, Brush 3946: duplicate plane
Entity 0, Brush 3950: duplicate plane
Entity 0, Brush 3950: duplicate plane
Entity 0, Brush 3956: duplicate plane
Entity 0, Brush 3956: duplicate plane
Entity 0, Brush 3956: duplicate plane
Entity 0, Brush 3960: duplicate plane
Entity 0, Brush 3962: duplicate plane
Entity 0, Brush 3964: duplicate plane
Entity 0, Brush 3964: duplicate plane
Entity 0, Brush 3964: duplicate plane
Entity 0, Brush 3966: duplicate plane
Entity 0, Brush 3968: duplicate plane
Entity 0, Brush 3968: duplicate plane
Entity 0, Brush 4008: duplicate plane
Entity 0, Brush 4010: duplicate plane
Entity 0, Brush 4014: duplicate plane
Entity 0, Brush 4014: duplicate plane
Entity 0, Brush 4022: duplicate plane
Entity 0, Brush 4024: duplicate plane
Entity 0, Brush 4024: duplicate plane
Entity 0, Brush 4026: duplicate plane
Entity 0, Brush 4030: duplicate plane
Entity 0, Brush 4032: duplicate plane
Entity 0, Brush 4144: duplicate plane
Entity 0, Brush 4152: duplicate plane
Entity 0, Brush 4170: duplicate plane
Entity 0, Brush 4250: duplicate plane
Entity 0, Brush 4258: duplicate plane
Entity 0, Brush 4276: duplicate plane
Entity 0, Brush 4278: duplicate plane
Entity 0, Brush 4282: duplicate plane
Entity 0, Brush 4292: duplicate plane
Entity 0, Brush 4328: duplicate plane
Entity 0, Brush 4330: duplicate plane
Entity 0, Brush 4342: duplicate plane
Entity 0, Brush 4372: duplicate plane
Entity 0, Brush 4440: duplicate plane
Entity 0, Brush 4442: duplicate plane
Entity 0, Brush 4444: duplicate plane
Entity 0, Brush 4448: duplicate plane
Entity 0, Brush 4454: duplicate plane
Entity 0, Brush 4460: duplicate plane
Entity 0, Brush 4462: duplicate plane
Entity 0, Brush 4462: duplicate plane
Entity 0, Brush 4464: duplicate plane
Entity 0, Brush 4466: duplicate plane
Entity 0, Brush 4476: duplicate plane
Entity 0, Brush 4478: duplicate plane
Entity 0, Brush 4478: duplicate plane
Entity 0, Brush 4502: duplicate plane
Entity 0, Brush 4504: duplicate plane
Entity 0, Brush 4504: duplicate plane
Entity 0, Brush 4504: duplicate plane
Entity 0, Brush 4506: duplicate plane
Entity 0, Brush 4510: duplicate plane
Entity 0, Brush 4510: duplicate plane
Entity 0, Brush 4512: duplicate plane
Entity 0, Brush 4512: duplicate plane
Entity 0, Brush 4514: duplicate plane
Entity 0, Brush 4520: duplicate plane
Entity 0, Brush 4524: duplicate plane
Entity 0, Brush 4528: duplicate plane
Entity 0, Brush 4530: duplicate plane
Entity 0, Brush 4530: duplicate plane
Entity 0, Brush 4532: duplicate plane
Entity 0, Brush 4532: duplicate plane
Entity 0, Brush 4590: duplicate plane
Entity 0, Brush 4626: duplicate plane
Entity 0, Brush 5026: duplicate plane
Entity 0, Brush 5026: duplicate plane
Entity 0, Brush 5028: duplicate plane
Entity 0, Brush 5474: duplicate plane
Entity 0, Brush 5476: duplicate plane
Entity 0, Brush 5506: duplicate plane
Entity 0, Brush 5506: duplicate plane
Entity 0, Brush 5508: duplicate plane
Entity 0, Brush 5720: duplicate plane
Entity 0, Brush 5720: duplicate plane
Entity 0, Brush 5722: duplicate plane
Entity 0, Brush 5722: duplicate plane
Entity 0, Brush 5724: duplicate plane
Entity 0, Brush 5724: duplicate plane
Entity 0, Brush 5728: duplicate plane
Entity 0, Brush 5728: duplicate plane
Entity 0, Brush 5730: duplicate plane
Entity 0, Brush 5760: duplicate plane
Entity 0, Brush 5760: duplicate plane
Entity 0, Brush 5760: duplicate plane
Entity 0, Brush 5764: duplicate plane
Entity 0, Brush 5766: duplicate plane
Entity 0, Brush 5766: duplicate plane
Entity 0, Brush 5766: duplicate plane
Entity 0, Brush 5814: duplicate plane
Entity 0, Brush 5814: duplicate plane
Entity 0, Brush 5848: duplicate plane
Entity 0, Brush 5872: duplicate plane
Entity 0, Brush 5872: duplicate plane
Entity 0, Brush 5872: duplicate plane
Entity 0, Brush 5874: duplicate plane
Entity 0, Brush 5876: duplicate plane
Entity 0, Brush 5902: duplicate plane
Entity 0, Brush 5926: duplicate plane
Entity 0, Brush 5932: duplicate plane
Entity 0, Brush 5954: duplicate plane
Entity 0, Brush 5954: duplicate plane
Entity 0, Brush 5956: duplicate plane
Entity 0, Brush 5956: duplicate plane
Entity 0, Brush 6004: duplicate plane
Entity 0, Brush 6004: duplicate plane
Entity 0, Brush 6072: duplicate plane
Entity 0, Brush 6080: duplicate plane
Entity 0, Brush 6080: duplicate plane
Entity 0, Brush 6080: duplicate plane
Entity 0, Brush 6082: duplicate plane
Entity 0, Brush 6084: duplicate plane
Entity 0, Brush 6084: duplicate plane
Entity 0, Brush 6088: duplicate plane
Entity 0, Brush 6090: duplicate plane
Entity 0, Brush 6090: duplicate plane
Entity 0, Brush 6090: duplicate plane
Entity 0, Brush 6126: duplicate plane
Entity 0, Brush 6126: duplicate plane
Entity 0, Brush 6128: duplicate plane
Entity 0, Brush 6128: duplicate plane
Entity 0, Brush 6138: duplicate plane
Entity 0, Brush 6138: duplicate plane
Entity 0, Brush 6138: duplicate plane
Entity 0, Brush 6138: duplicate plane
Entity 0, Brush 6154: duplicate plane
Entity 0, Brush 6158: duplicate plane
Entity 0, Brush 6160: duplicate plane
Entity 0, Brush 6160: duplicate plane
Entity 0, Brush 6160: duplicate plane
Entity 0, Brush 6200: duplicate plane
Entity 0, Brush 6202: duplicate plane
Entity 0, Brush 6202: duplicate plane
Entity 0, Brush 6224: duplicate plane
Entity 0, Brush 6226: duplicate plane
Entity 0, Brush 6240: duplicate plane
Entity 0, Brush 6240: duplicate plane
Entity 0, Brush 6242: duplicate plane
Entity 0, Brush 6288: duplicate plane
Entity 0, Brush 6288: duplicate plane
Entity 0, Brush 6292: duplicate plane
Entity 0, Brush 6294: duplicate plane
Entity 0, Brush 6314: duplicate plane
Entity 0, Brush 6794: duplicate plane
Entity 0, Brush 6794: duplicate plane
Entity 0, Brush 6794: duplicate plane
Entity 0, Brush 6794: duplicate plane
Entity 0, Brush 6794: duplicate plane
nummapbrushsides = 94082
  1354 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  1410 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  1450 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  1490 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  2018 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  2046 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  2192 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  2220 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  2252 curve brushesWARNING: AAS_CreateCurveBrushes: no winding
  2366 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  2394 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  2687 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  2735 curve brushesWARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
WARNING: CM_AddFacetBevels... invalid bevel
  2767 curve brushesWARNING: AAS_CreateCurveBrushes: no winding
  3886 curve brushesERROR: MAX_MAPFILE_PLANES
Closed log bspc.log

D:\Games\Quake3\baseq3\maps>REM ##############################################
[/spoiler]

If the number of patches is a issue, I could simple delete the caulked patch sides of my modules.

Thanks.

Update
From our own thread:
33 Q : MAX_MAPFILE_PLANES (max mapfile planes) [kat]

A : Associated with AAS files for BOTs or AI. Usually caused by using large numbers of models (with q3map_clipModel in a shader) or large numbers of patch meshes in a map.

For models - removing q3map_clipModel from shader and manually clipping with weaponsclip (or some other clip brush) seems to fix this.

For patchmesh - depending on the number of models in a map, converting patch mesh work to ase models sometimes helps (leave clipModel out of shader) to remove the error.

But for AAS problems ydnar has noted that "BSPC needs to be updated with larger allowable values for planes, brush sides, etc." This effects any quake3 engined games using BOTs or AI. [kat]
My map has *no* models at all in it.

Hmmm... converting patches to models... might be something I could do... creating ASE models is not such a big deal, and I pretty much need to clip them anyway.

Though I would hope someone could up the values for BSPC instead... anyone have a working compile tree installed to "hack" up the values as ydnar suggests?

Would simplifying my patch modules help? I.e. remove unseen caulked patch faces?
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

So... luckily removing all the unseen caulked patches, was just a few GTKradiant key presses: turn off structural and detail brushes... leaving only the patches in view, then select caulk in the texture browser, and press Shift+A to select all caulked patches and delete them.

According to bspc that removed 920 curved brushes (from 3886 to 2966). The AAS compile works at least again. Hmmm... is 3000 curved brushes another one of those "magic limiting numbers"?
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

My first two matches against hardcore bots, 7 of them up to a frag limit of 100. Found a few trivial issues... but the bots seem to love the map, even in this not completely clipped state (also missing extra health and ammo). They use the JPs and the APs to grab the RA... neat. 7 bots is mayhem though, 5 would probably be more appropriate.

Steeper ramps, though not a problem for the player seem to confuse them though... will be adding botclip steps for them on there.

Over all... map seems to be fun... but needs tweaking.

After fixing the more obvious issues, would upload a first test version for everyone to play... question is... would a 248 MB download be "too" annoying? I still have all of Socks textures in my .pk3.
User avatar
Theftbot
Posts: 483
Joined: Thu Oct 08, 2009 4:03 am

Re: AEblocks - Modular Mapping

Post by Theftbot »

EEK
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

Seems I need to look through my folders and find a "packer" tool that sorts out all the stuff the map actually uses ;)

Update: Strange, even though I do not really use that many textures from Sock's Industrial Set (36 presently) I am already up at 45.3 MB pk3 file size.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

So... cleaning up AEblocks now... to polish it for final release (though that will be probably two more weeks of work).

But one thing I have learned about all this is that bevels are evil ;)... and that for my next map also using modules, I will create a "dumbed down" set of blocks that use mildly clever texturing instead to fake the look of real "angled edges"... this way I can build the map quickly and it will look not completely trivial, but automatically be structural from the start (so I can skip having to create a caulk hull and also having to create a player clip hull for the bots). And there will be no annoying holes in the walls and floors. This way I can experiment with the layout for longer.

This means creating a slew of new crete textures based on Sock's Industrial set, that has "texture edges" (outlines of sort) added to them... following the shapes of the geometry. I may probably be getting into all sorts of trouble with the textures in this next map.

Presently, any significant change to the AEblocks layout would almost be as painful as trying to do that to AEdm7... well not really... but the more detail I add the worse it would get. And the one thing I did learn was that I really need to be able to play the map against bots from the very start... and not towards the end of the build process.

Onwards to the stars... or something...
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

Starting to add decals and plants to the map. Gives the map a more "living" feel.
User avatar
Theftbot
Posts: 483
Joined: Thu Oct 08, 2009 4:03 am

Re: AEblocks - Modular Mapping

Post by Theftbot »

With that much water around that concrete there would be moss/algae growing on concrete in gradient form
User avatar
Eraser
Posts: 19168
Joined: Fri Dec 01, 2000 8:00 am

Re: AEblocks - Modular Mapping

Post by Eraser »

Looks really cool AEon. I see some sparklies in the tree screenshot though, in the bulkhead above the passage on the left.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

Theftbot,
the map world may be brand spanking new... or they clean up all the moss/algae on a daily basis... ;)... but you did remind me of a "moss"-ish decal texture I could place in a few areas... that might help.

Eraser,
Thanks :)... ironically those "sparklies" are actually angled edges that for some reason or other get a huge amount of direct sunlight from the skybox, making them brighter than the ambient texture faces. Since Q3A, IIRC, does not have AA, they then end up looking like that when you look at the lit angled face from a "strange" angle.

Anyone had such a problem before and found a solution? I.e. angled faces and "strange" lighting. I am probably doing something wrong here.

Hacky Solution: I actually cut off some of the angled edges, to make them flush with the brushes above it (or below it in a few other cases)... a very bad brushwork hack... but that slightly helped.

There are other strange lighting issues... almost like light-wells along some of my geometry... even though all the brushwork above should be "air-tight". Strange. Will get back to such cases towards the end of the map build, when I'll make a concerted effort to fix all such lighting issues.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

AEblocks II - The Return of the Decals

Even though AEblocks will take another few days to finish off... I was thinking about the new set of modules that does not us bevels but fakes that look using "edges" via decals. Hmm... there was a shader "effect" that seems to have done something like that, forgot how it was called though.

Initially I thought it would be best to create a huge collection of textures with such dark edges for the various module shapes... but if you bake the decal onto a texture, so to speak, you cannot change the main texture on the fly and you would need to create many variations of modules, i.e. for each main texture you want to add. Extremely redundant, and would also bloat the .pk3 file size.

Question: Is there a downside to using massive amounts of decals?

Thankfully... all new modules will be basic without, as mentioned, bevels, i.e. true cubes, ramps etc. Very easy to create, no unwanted holes in geometry. So they will be minimal in tris, and plastering decals on them should be also simple. Also the modules should actually take advantage of the compile optimization process, i.e. I can use the modules to crate the caulk hull directly, not having to create a caulk hull manually like before.

Question 2: Did q3map2A merge brushes? E.g. a wall made up of 5x3 cubes would become one large brush during compile? I think this has been happening, but I am not quite aware of the details and limitations. Manual mitering seemed to mess into automatic brush merging during compile, IIRC.

Will be fun to create simplified modules and the new decals for them. Hopefully this lets me create some new shapes that were to complicated to properly do for the bevelled module versions.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

Starting a new set of much more simple module blocks, for AEmod, that will be covered with "edge decals":
  • AEmod - left 3x5 blocks with bevels, right 3x3 using new decals
  • AEmod - nodraw brushes with the "edge decals", special ones for the ramps too
  • AEmod - new "corner" modules
Grey and orange chequered look is only to better set off the brushes.
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: AEblocks - Modular Mapping

Post by obsidian »

AEon wrote:Question: Is there a downside to using massive amounts of decals?
Depends on what you mean by "massive". They certainly add polys and an extra rendering pass with a blendFunc. Generally, this is manageable but I imagine on certain extremes, it could possibly break something/be bad for performance.
AEon wrote:Question 2: Did q3map2A merge brushes?
Yes and no. Surfaces might become merged if they have co-planar faces and form a convex shape. Also, any differences in textures, shaders, texture coordinates, brush properties, etc. will also prevent them from merging. I'm pretty sure detail brushes will prevent merging, but don't quote me on that. Strictly speaking, Q3Map2 doesn't really merge entire brushes the way the editor might with CSG Merge. It turns all visible surfaces into triangle soup, then tries to remove certain unnecessary stuff like T-juncs if possible, thereby removing unnecessary vertexes and edges.
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

obsidian,
thanks... I was aware of most of your points regarding the "merge", but having them concisely listed certainly helps. So it is still a good idea to manually merge brushes, when one notices them. Did that pretty much all these years.

About the amount of decals... pretty much every visible face will also have a decal on it too. Though there is some room for optimization... i.e. a wall would not be made up of many cube faces, but one larger brush, and one larger decal brush.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

Experimenting with new blocks... and the new decals...
No idea where this will be going... looks mildly interesting, IMO.

Update:
  • AEmod - more pathing, slowly getting somewhere, possibly.
wattro
Posts: 375
Joined: Mon Feb 20, 2006 1:12 am

Re: AEblocks - Modular Mapping

Post by wattro »

This is always a good read if you haven't already read it. It'll give you some things to consider as you think aboot your various workflows and methods.

http://www.gamasutra.com/blogs/JoelBurg ... Design.php
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

I decided to drop the corridor layout... even though it is systematic, it is boring IMO, and was not getting anywhere. The decal outlines I created are subtle and look OK, but somehow the new simpler blocks are a lot less inspirational.

Looking into a texture set by philipk: that was created for Quake 4 initially. Will need a lot of work to create the shaders for Q3A though (or did someone already create such shaders?), and obviously any specular or bump-mapping will not be usable. The textures looks really nice and Science-Fictiony. Maybe I can come up with something.

wattro,
I played about 700 hours of Skyrim, and was really impressed how they were able to e.g. make every cave look different even though the devs apparently only had a limited set of assets to do that. Seems like the article will be a very interesting read, thanks.
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: AEblocks - Modular Mapping

Post by AEon »

Thoughts (basically repeating some of the concepts in the article, commenting on them):

Indeed an interesting read... it turns out that in most cases I did the right things for my first set of modules or kit as it called in the article. Keeping the size of the player in mind, define the footprint of your basic blocks (64u in my case, paths are 3-4 blocks wide), also think about the height doorways should have and how high corridors and rooms should be (also about 3-4 blocks in my case). Create the basic pieces to "block out" your layout, and then add additional pieces for details, using multiples of the largest possible grid. When naming try to think of an easy to remember and understand format and apply it consistently. Did the latter for the outline decals in my second kit, and that really helped.

So I did already do most of the things "properly" or came up with similar solutions. But the article still inspires by demonstrating that what you (I) came up with, already has been tried and tested by professionals, plus they came up with new and different ideas to go steps further. Will take some more thinking on my part to see how any of those ideas could be used for a map.

Castle's proof of concept in his map using modules was far more of an eye-opener to me. Though Castle may have been aware of this article or the ideas presented... and I just analysed what Castle did quite thoroughly.

Looking at this Skyrim kit screenshot, is much more of an inspiration to me, because it presents a working solution to what modules might be needed to create e.g. corridors or tile floors:
  • [lvlshot]http://2.bp.blogspot.com/-q7M9ZyKUWpI/UXAcJT3pSUI/AAAAAAAAAak/FvXRSHtOsik/s1600/DwarvenKitShot.png[/lvlshot]
I especially find the floor tiles with attached corner pieces interesting... since they let you place the corner floor piece *and* stay within the footprint, but at the same time allow for some "intrusion" into the floor footprint. Will analyse the kit here some more.

Obviously all this is based on a mesh or model approach for mapping, massively using instancing, not a brush-based one as I had to do in Q3A.

Interesting how the topic of the pivot point also came up. In my very quick model test that seems to have failed (not letting me use many models in Q3A for some reason, i.e the compile failed), Hipshot pointed out that I should have placed the pivot point of my basic cube in the centre of the cube. He was right of course.

Hero Pieces (visually unique meshes, rarely used)... I think so far I tried to come up with unusual ways of using the basic kit pieces to create something of "Hero Piece"... the flooring design under the Quad would be such an example. Creating of really unique pieces is something to think about though...

"Going off the Grid - Pivot and Flange"... here things get evil for Q3A. Just filling gaps with other meshes is not something you will want to do in Radiant. They call it "kit bashing"... but this does open up a few interesting opportunities, if one keeps the "bashing" to an absolute minimum, I could imagine.

Would be interesting to hear about your thoughts and experiences with the above ideas...
Post Reply