Dear returning Carmageddon fans
These last years, the CWA Board assimilated what was archived from many old Carmageddon forums, including the whole of the Official Carmageddon.com Forums.
If you wish to merge any previous account you might have had with your new or existing CWA account, don't hesitate to reach out to us !
These last years, the CWA Board assimilated what was archived from many old Carmageddon forums, including the whole of the Official Carmageddon.com Forums.
If you wish to merge any previous account you might have had with your new or existing CWA account, don't hesitate to reach out to us !
Blocksburg
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Started making a suspended beltway (not yet present in the ZIP-file):
Image 1, Image 2
I'm liking it already. It should offer a better view of the city when finished, I just have to actually build those views first. :)
Image 1, Image 2
I'm liking it already. It should offer a better view of the city when finished, I just have to actually build those views first. :)
Tags:
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Sorry, I would merge the subsequent posts together if it was possible to delete individual replies. :)
I've been thinking about setting up the different tall trees as noncars (a single noncar type, to be more exact). A slight problem with this is that I've been using random X/Y/Z scaling to add more diversity to their appearance, and this would cause a funny behavior when applied to noncars - the object would jitter between scaled/unscaled version when about to be collided with, and 'snap' to the unscaled version scale when finally hit. Would you consider this a problem, and which would you choose from the following:
1) Rock-solid, but scale-varied trees
2) Scale-varied and tippable trees, but which act strangely when (about to be) collided with
3) Tippable, but completely identical looking trees (except for rotation)
As for parked cars: would you consider it ok to only use a single noncar type for the smaller parked vehicles, with averaged bbox and stats?
I've been thinking about setting up the different tall trees as noncars (a single noncar type, to be more exact). A slight problem with this is that I've been using random X/Y/Z scaling to add more diversity to their appearance, and this would cause a funny behavior when applied to noncars - the object would jitter between scaled/unscaled version when about to be collided with, and 'snap' to the unscaled version scale when finally hit. Would you consider this a problem, and which would you choose from the following:
1) Rock-solid, but scale-varied trees
2) Scale-varied and tippable trees, but which act strangely when (about to be) collided with
3) Tippable, but completely identical looking trees (except for rotation)
As for parked cars: would you consider it ok to only use a single noncar type for the smaller parked vehicles, with averaged bbox and stats?
Re: Modular modeling (level design)
Nice overpass. I always though a map with multiple cloverleafs and exits that just drop you back on the highway would be fun.
I'd opt for #3 trees
I'd opt for #3 trees
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Modular modeling (level design)
Oh C2S, you keep me so motivated :)
I would opt for #3 also. I figure a normal behaviour of the trees is desirable and the rotation will already do a lot of good to your tree.
You could also consider to make the tree look different from one direction, then the other. I mean, double the polygons, and change the size of the polygons of one side of the tree different from the opposite side of the tree. Then disable the two sided flag. Catch my drift? I think the 'double sided' flag actually doubles the number of faces to render, so It would not make a difference in polycount in the render engine of the game whether you double the faces or set the flag (I guess) And it will make your trees look quite different if they have a variation in rotation ;)
This track is still becoming more and more epic!
I would opt for #3 also. I figure a normal behaviour of the trees is desirable and the rotation will already do a lot of good to your tree.
You could also consider to make the tree look different from one direction, then the other. I mean, double the polygons, and change the size of the polygons of one side of the tree different from the opposite side of the tree. Then disable the two sided flag. Catch my drift? I think the 'double sided' flag actually doubles the number of faces to render, so It would not make a difference in polycount in the render engine of the game whether you double the faces or set the flag (I guess) And it will make your trees look quite different if they have a variation in rotation ;)
This track is still becoming more and more epic!
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Ok, looks like #3 is the way to go then. :)
Harm: that's a good idea with the trees. I'm thinking it will also get rid of the 'mirror' effect.
Coffey: I know what you mean. I've wanted to see a track with a large-scale highway/freeway network, similar to those that can be seen in certain driving videos from USA.
I'll add a few videos with some nice sights:
- I-70, Colorado Glenwood Canyon
- Eisenhower Tunnel, I-70 Colorado
- Pikes Peak downhill
Harm: that's a good idea with the trees. I'm thinking it will also get rid of the 'mirror' effect.
Coffey: I know what you mean. I've wanted to see a track with a large-scale highway/freeway network, similar to those that can be seen in certain driving videos from USA.
I'll add a few videos with some nice sights:
- I-70, Colorado Glenwood Canyon
- Eisenhower Tunnel, I-70 Colorado
- Pikes Peak downhill
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Another huge delay, and less progress than you would expect from it. :)
I've reworked the street network, so that the majority of the streets and all sorts of junctions now fall into the major grid lines when using a grid pitch of 1024 units. It took a bit of time and doesn't look hugely different, but I think it's easier to work with from now on. Some areas may also have slightly changed the position or size as a result.
Other than that:
- more work around the river area
- some of the beltway is now included (use KoC to get on it)
- movable trees and parked cars (except for buses and trucks)
- and of course misc fixes, improvements (?) and additions
https://c2s.cwaboard.co.uk/DLoads/MaxBlocks.zip
I've reworked the street network, so that the majority of the streets and all sorts of junctions now fall into the major grid lines when using a grid pitch of 1024 units. It took a bit of time and doesn't look hugely different, but I think it's easier to work with from now on. Some areas may also have slightly changed the position or size as a result.
Other than that:
- more work around the river area
- some of the beltway is now included (use KoC to get on it)
- movable trees and parked cars (except for buses and trucks)
- and of course misc fixes, improvements (?) and additions
https://c2s.cwaboard.co.uk/DLoads/MaxBlocks.zip
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Modular modeling (level design)
Less progress maybe but still mayor progress if you ask me.. The track is huge! I've been driving around for 45 minutes. I see you have improved a lot of the smoothing groups on the map. The use of noncars is also great. I love how the fences and gates blast away. Also have seen some nice 'easter eggs' ;) The highway is humongous! Will it run all the way around the map?
I noticed some holes here an there, and the buildings seem to be missing their plinth, but offcourse it's still WIP
The loading time of the maps is also great! This really proves the instancing trick works like a charm! I do have to lower my yon to about 75 on my laptop, but then the framerate is great too.
Great work man, keep it up!
I noticed some holes here an there, and the buildings seem to be missing their plinth, but offcourse it's still WIP
The loading time of the maps is also great! This really proves the instancing trick works like a charm! I do have to lower my yon to about 75 on my laptop, but then the framerate is great too.
Great work man, keep it up!
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Thanks! :)
Have the smoothing group changes resulted in a performance hit in any way?
By the way, after the upload I tried some simple maxscripting again, meaning to write a script that would help with preparing the scene for export. So far I've manually done the following steps:
1) Delete the excess, isolated objects in the far east of the map
2) Delete objects starting with the number "1", "8" and "9"
3) Ungroup all group objects (there are certain groups in the map the track export script doesn't export properly)
4) Convert all (remaining) shape objects into editable polygons
Here's the code I've tried:
I've turned the two unfunctional bits temporarily into comments.
The first one seems to take a lot of time to finish, and doesn't seem to do much anyway. It worked with a simple test though, so it's not completely bogus. Perhaps I should try something like "for i to $.count"?
The second one simply converts everything that still remains into (uninstanced) editable polygons. Unfortunately the geometry of a few objects becomes slightly distorted.
Every one of them, or just some of the buildings...? I hope you're referring to the few WIP buildings. :)...and the buildings seem to be missing their plinth...
Yep, eventually it will. It will descend to ground level in some parts, go through a cliff wall or two in a tunnel, probably run on a seafloor as well (in a similar glass tunnel as in the river area), and I've also thought about making a section that is still under construction.The highway is humongous! Will it run all the way around the map?
Sounds good, I'm using 80 on my (outdated) desktop PC. The framerate could be better, I agree. :)I do have to lower my yon to about 75 on my laptop, but then the framerate is great too
Have the smoothing group changes resulted in a performance hit in any way?
By the way, after the upload I tried some simple maxscripting again, meaning to write a script that would help with preparing the scene for export. So far I've manually done the following steps:
1) Delete the excess, isolated objects in the far east of the map
2) Delete objects starting with the number "1", "8" and "9"
3) Ungroup all group objects (there are certain groups in the map the track export script doesn't export properly)
4) Convert all (remaining) shape objects into editable polygons
Here's the code I've tried:
Code: Select all
deselect $*
-- select $*
-- for obj in $ do ( if obj.pos.x >= 380 then delete obj )
-- deselect $*
select $1*
delete $
select $8*
delete $
select $9*
delete $
ungroup $*
-- ConvertTo $* Editable_Poly
deselect $*
The first one seems to take a lot of time to finish, and doesn't seem to do much anyway. It worked with a simple test though, so it's not completely bogus. Perhaps I should try something like "for i to $.count"?
The second one simply converts everything that still remains into (uninstanced) editable polygons. Unfortunately the geometry of a few objects becomes slightly distorted.
- Toshiba-3
- BRender Actor
- Posts: 5515
- Joined: Sun Jun 08, 2003 12:14 am
- Location: MagnaChem Data Unit
- Contact:
Re: Modular modeling (level design)
Yes, the most surprising part of it all is the loading time considering the total geometry placed ingame. It's obviously one of the main aims of this trick but I'm still surprised.
Lately been thinking about using this trick for the Silo Area 4 / Wipeout track idea. Would allow me to make an insanely long speed tunnel with randomly recurring leveldesign patterns easily.
Lately been thinking about using this trick for the Silo Area 4 / Wipeout track idea. Would allow me to make an insanely long speed tunnel with randomly recurring leveldesign patterns easily.
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Modular modeling (level design)
All the apartment buildings near the main road.Every one of them, or just some of the buildings...?
Oh yes, even forgot to mention the water tunnel, which is awesome too!in a similar glass tunnel as in the river area
You maxscript code seems fine. It should all work, but you are constantly selecting and deselecting objects. Perhaps using this instead might work better?
Code: Select all
for obj in objects do
(
if isgrouphead obj == true then
(
setGroupOpen obj false
ungroup obj
continue
)
else
(
if obj.pos.x >= 380 or obj.name[1]=="1" or obj.name[1]=="8" or obj.name[1]=="9" do
(
delete obj
continue
)
)
)
If not a group it will check for 4 things. Position, and the 3 naming conventions. Then it will delete and will continue.
You can also add the convertto assignment, but I don't think it will be nescessary.. ;)
This will probably go a lot faster, as you are not constantly selecting and deselecting (which is a heavy task with many objects in the scene)
Let me know if it works ok ;)
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
That is faster for sure, and much more elaborate. :) It's almost perfect, but there two strange flaws:
1) While it does delete the majority of the excess objects in the far east, for some reason it still leaves two behind, even though their X positions are beyond our custom threshold. The objects that won't get deleted are named "&BalconyBoxA_160" and "&TilesA1x3_00".
2) It also correctly deletes majority of the objects starting with a number, but again for some reason it leaves two shapes untouched. The two shapes are both spline objects and start with a "9", like the similar objects which did get deleted. If you want to investigate, open the map, switch to front view, and look for the collection of cross-section shapes next to the tall, pointy black tower just above the blue-windowed building. The troublesome shapes are named "9 Street A" and "9 Street E".
EDIT 1: I just noticed that 6 group objects remain as group objects, even though other similar groups were properly ungrouped.
EDIT 2: Updated the ZIP-file to fix the missing plinths.
1) While it does delete the majority of the excess objects in the far east, for some reason it still leaves two behind, even though their X positions are beyond our custom threshold. The objects that won't get deleted are named "&BalconyBoxA_160" and "&TilesA1x3_00".
2) It also correctly deletes majority of the objects starting with a number, but again for some reason it leaves two shapes untouched. The two shapes are both spline objects and start with a "9", like the similar objects which did get deleted. If you want to investigate, open the map, switch to front view, and look for the collection of cross-section shapes next to the tall, pointy black tower just above the blue-windowed building. The troublesome shapes are named "9 Street A" and "9 Street E".
EDIT 1: I just noticed that 6 group objects remain as group objects, even though other similar groups were properly ungrouped.
EDIT 2: Updated the ZIP-file to fix the missing plinths.
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Modular modeling (level design)
The main reason it is faster is because you now do all your scene handling in a single loop. When there are a lot of objects in you scene, looping it quite time consuming. Best to do it all at once. And like I said, selecting and deselecting is usually a no no because max then has a little timed delay eacht time you select and deselect... ;)That is faster for sure, and much more elaborate. :)
1. Could it be that the pivot of these objects is still within the range? Otherwise you could change '.pos' by '.center' and the script will not take the pivot as position but the objects center. I will check it out later.
other points; It is strange though, because splines should also be considered and all the groups should have been handled by the script. I will take a look today, when I have more time. (at work a.t.m.)
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Modular modeling (level design)
Okay, this really baffles me!
The script does what it should do. If I run the script 5 times, it will remove all the objects you need removing and it will ungroup all groups that you needed.
Why it doesn't do it in a single run? I have no idea! :s
I have made these additions. It it simply runs the script 10 times... You can remove the -- in front of the 'format' lines. It will then output the object names it removed and ungrouped to the maxscript listener. Does it do all needed operations now?
hm, it also seems you have linked several objects to each other by accident. The export script can handle this, but I don't think you wanted to link the highway sign arrow to the tree next to it did you? ;)
The script does what it should do. If I run the script 5 times, it will remove all the objects you need removing and it will ungroup all groups that you needed.
Why it doesn't do it in a single run? I have no idea! :s
Code: Select all
for i=1 to 10 do
(
for obj in objects do
(
if isgrouphead obj == true then
(
--format "% //ungrouped as group\n" obj.name
setGroupOpen obj false
ungroup obj
)
else
(
if obj.pos.x >= 380 or obj.name[1]=="1" or obj.name[1]=="8" or obj.name[1]=="9" do
(
--format "% //deleted as node\n" obj.name
delete obj
)
)
)
)
hm, it also seems you have linked several objects to each other by accident. The export script can handle this, but I don't think you wanted to link the highway sign arrow to the tree next to it did you? ;)
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Hehe, that works better, no complaints from me. Thanks! :)
And good catch with the false linking, although I seem to have already fixed it at some point. :)
As an unrelated note, I forgot to mention something about the update. The opponent paths in the textfile still present the old layout, before I shifted things around. I'll fix this in the next update, but meanwhile, the green path network spline in the .max file is already up to date, if anyone wants to compile the paths themselves and play with opponents.
And good catch with the false linking, although I seem to have already fixed it at some point. :)
As an unrelated note, I forgot to mention something about the update. The opponent paths in the textfile still present the old layout, before I shifted things around. I'll fix this in the next update, but meanwhile, the green path network spline in the .max file is already up to date, if anyone wants to compile the paths themselves and play with opponents.
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Damn maxscript, I'm dumb and I don't seem to get it. :)
I'm trying to write a simple script that merely selects an object based on a text input, but it's not working:
I'm aware that objects are referred with a "$" prefix, but this won't work either:
Neither does this:
Nor does it work if I enter the exact name of an object and substitute the "select CompleteName" with "select ShortName", and whether or not I use the "$" sign anywhere.
In fact, if I write "select $box01" in the listener window, the said box is selected. But that doesn't work if done the following way:
Had I managed to get the simple part out of the way, I would have also tried to make the script first store the position coords of a currently selected object, then ask for the name of some other object, instance-clone it, and move the clone to the previously stored position. So when I'm working on some area and need a certain scenery tile, the script would quickly fetch a clone of it for me.
I know... I should just stick to the map making. :)
I'm trying to write a simple script that merely selects an object based on a text input, but it's not working:
Code: Select all
macroScript Valinta category:"Plugins"
buttontext:"Quick select"
tooltip:"Quick select"
(
on execute do
(
rollout QuickSelect "Quick select"
(
edittext NameAsker "Object name:" fieldWidth:200
on NameAsker entered ShortName do
(
CompleteName = "&" + ShortName + "_00"
select CompleteName
)
)
createDialog QuickSelect 300 30
)
)
Code: Select all
CompleteName = "$&" + ShortName + "_00"
Code: Select all
select $CompleteName
In fact, if I write "select $box01" in the listener window, the said box is selected. But that doesn't work if done the following way:
Code: Select all
x = "$box01"
select x
I know... I should just stick to the map making. :)
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Modular modeling (level design)
Aww maaaaan, you were so close!
selecting objects(nodes) via a script doesn't work using the $ character. You need to tell the script it is dealing with a node using the 'selectnodebyname' command.
If you would have added that and removed the "+$ " part, the script would have worked! :o
I have made the following addition to let the script...;
- make a list of all objectnames local to the rollout.
- select the first found node in the scene that uses the search query.(If the query is more precise, it will select a more precise model.)
- zoom extent to this model.
Don't give up man! We all need the help files and internet to make a script. In fact, there is almost no script I have made without resulting the help files and google at some point ;)
Now go and do that instancing part!
selecting objects(nodes) via a script doesn't work using the $ character. You need to tell the script it is dealing with a node using the 'selectnodebyname' command.
If you would have added that and removed the "+$ " part, the script would have worked! :o
I have made the following addition to let the script...;
- make a list of all objectnames local to the rollout.
- select the first found node in the scene that uses the search query.(If the query is more precise, it will select a more precise model.)
- zoom extent to this model.
Code: Select all
macroScript Valinta category:"Plugins"
buttontext:"Quick select"
tooltip:"Quick select"
(
on execute do
(
rollout QuickSelect "Quick select"
(
local objectnames = for object in objects collect object.name
edittext NameAsker "Object name:" fieldWidth:200
on NameAsker entered ShortName do
(
for oname in objectnames do
(
if findstring shortname oname != 0 do
(
select (getnodebyname oname)
max tool zoomextents
)
)
)
)
createDialog QuickSelect 300 30
)
)
Now go and do that instancing part!
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Thanks a bunch! And gah, I did try "getnodebyname" at one point, but I just replaced "select" with it instead of using it the way you did, so it only produced another error. :)
I think there was a bit of a problem with this though: for example, if I had a "&Street16_00" and "&Street1_00" in the scene, and wanted the latter, it might select the former instead. However, I made my own modifications, which seem to work, for now:
Additional features:
- automatically sets focus on the textfield when the dialog pops up
- closes the dialog after pressing ENTER
Towards the next challenge, let the head scratching ensue. :)
I think there was a bit of a problem with this though: for example, if I had a "&Street16_00" and "&Street1_00" in the scene, and wanted the latter, it might select the former instead. However, I made my own modifications, which seem to work, for now:
Code: Select all
macroScript Valinta category:"Plugins"
buttontext:"Quick select"
tooltip:"Quick select"
(
on execute do
(
rollout QuickSelect "Quick select"
(
edittext NameAsker "Object name:" fieldWidth:200
on NameAsker entered ShortName do
(
destroydialog QuickSelect
C = 0
CompleteName = "&" + ShortName + "_0" + C as string
while getnodebyname CompleteName == undefined and C < 10 do
(
C = C + 1
CompleteName = "&" + ShortName + "_0" + C as string
)
if getnodebyname CompleteName != undefined do
(
select (getnodebyname CompleteName)
)
)
on QuickSelect open do
(
setfocus QuickSelect.NameAsker
)
)
createDialog QuickSelect 300 30
)
)
- automatically sets focus on the textfield when the dialog pops up
- closes the dialog after pressing ENTER
Towards the next challenge, let the head scratching ensue. :)
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Modular modeling (level design)
Cool! Nice find on the 'setfocus' btw! It really needed that.
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
I'll edit and rewrite this post to compress it. :)
The "quick fetcher" script is now here.
There's one annoyance though: when the the script finishes, the keyboard shortcuts are temporarily unavailable, until I restore the viewport focus with mouse clicks, for example. From what I've read, the solution to this problem seems a bit lengthy, unless I've missed something.
I recently added two new features:
1) matches the Z-axis rotation of the instanced object with the selected object
2) the wire color of the instanced object will be set to dark blue instead of a random color
I'll add the Prepare export script here as well.
New maxscripts:
Random rotate 360°
This one simply rotates the selected objects randomly around their Z-axis. Great for trees, for example.
Object randomizer
This lets you randomly replace objects. You first select a group of objects to be used as sources, and then you select the target objects, which get randomly replaced by the objects in the source group. I used the script on this page as a base, and slightly modified it. Adding the suspendediting() and resumeediting() bits improved the speed of the script a lot. :)
The "quick fetcher" script is now here.
There's one annoyance though: when the the script finishes, the keyboard shortcuts are temporarily unavailable, until I restore the viewport focus with mouse clicks, for example. From what I've read, the solution to this problem seems a bit lengthy, unless I've missed something.
I recently added two new features:
1) matches the Z-axis rotation of the instanced object with the selected object
2) the wire color of the instanced object will be set to dark blue instead of a random color
I'll add the Prepare export script here as well.
New maxscripts:
Random rotate 360°
This one simply rotates the selected objects randomly around their Z-axis. Great for trees, for example.
Object randomizer
This lets you randomly replace objects. You first select a group of objects to be used as sources, and then you select the target objects, which get randomly replaced by the objects in the source group. I used the script on this page as a base, and slightly modified it. Adding the suspendediting() and resumeediting() bits improved the speed of the script a lot. :)
Last edited by C2 Scientist on Mon Dec 24, 2012 12:23 pm, edited 1 time in total.
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Ho ho ho, it's that time again - update time! As usual, it's been a while, but now it's because I bought a new desktop PC, and had to spend some time not only installing and setting up the programs, but also waiting for the SSD-disk the vendor forgot to include in the case! :)
It's a bit faster to work in 3dsmax now, although still not completely smooth when everything is in view. The game now loads the track in 3 seconds on this system.
While I'm sure you have better things to do on the holidays, I'll post this regardless. :)
https://c2s.cwaboard.co.uk/DLoads/MaxBlocks.zip
It's a bit faster to work in 3dsmax now, although still not completely smooth when everything is in view. The game now loads the track in 3 seconds on this system.
While I'm sure you have better things to do on the holidays, I'll post this regardless. :)
https://c2s.cwaboard.co.uk/DLoads/MaxBlocks.zip
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Modular modeling (level design)
Oh you too? I got myself a new laptop with win. Been installing and 'benchmarking' it all week. :p
The map looks great. Getting bigger and bigger huh?
One tip so far; I would cap the top of those big buildings. I mean, we are going to use kangaroo's anyway, so driving on top of them would be great. :)
Great to see those scripts aswell!
The map looks great. Getting bigger and bigger huh?
One tip so far; I would cap the top of those big buildings. I mean, we are going to use kangaroo's anyway, so driving on top of them would be great. :)
Great to see those scripts aswell!
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
What an annoying bug I'm having in max on this system, that just won't go away. Every time I close a quad menu, it leaves an inactive area that won't refresh at all until I exit the program. Not only that, but these areas stack as well!
I recorded a video of it:
I wonder if it's a Geforce or Windows 8 specific problem. Fortunately the standard windows work fine, and maxscript text input dialogs.
Other than that, I'm testing whether turning those vertex/poly heavy parking tiles into simple quads using a dedicated parking spot texture improves the in-game performance at all (I'll try to keep the appearance as similar as possible). I'm doing this within a new "edit poly" modifier, so all changes can be easily reverted if necessary.
Capped the wide skyscrapers too. ;)
I recorded a video of it:
I wonder if it's a Geforce or Windows 8 specific problem. Fortunately the standard windows work fine, and maxscript text input dialogs.
Other than that, I'm testing whether turning those vertex/poly heavy parking tiles into simple quads using a dedicated parking spot texture improves the in-game performance at all (I'll try to keep the appearance as similar as possible). I'm doing this within a new "edit poly" modifier, so all changes can be easily reverted if necessary.
Capped the wide skyscrapers too. ;)
- Toshiba-3
- BRender Actor
- Posts: 5515
- Joined: Sun Jun 08, 2003 12:14 am
- Location: MagnaChem Data Unit
- Contact:
Re: Modular modeling (level design)
I'm on Win8 with a GeForce GT530 here, Max 2012 and no such problem.
Have you tried other viewport renderer? There's Nitro, Direct3D and OpenGL if I recall correctly.
Also if you have a new config with maybe an integrated gfx chipset (ala Intel etc.), make sure MAX is running with the performance gfx card by default.
Have you tried other viewport renderer? There's Nitro, Direct3D and OpenGL if I recall correctly.
Also if you have a new config with maybe an integrated gfx chipset (ala Intel etc.), make sure MAX is running with the performance gfx card by default.
- Toshiba-3
- BRender Actor
- Posts: 5515
- Joined: Sun Jun 08, 2003 12:14 am
- Location: MagnaChem Data Unit
- Contact:
Re: Modular modeling (level design)
I'm on Win8 with a GeForce GT530 here, Max 2012 and no such problem.
Have you tried other viewport renderer? There's Nitro, Direct3D and OpenGL if I recall correctly.
Also if you have a new config with maybe an integrated gfx chipset (ala Intel etc.), make sure MAX is running with the performance gfx card by default.
Have you tried other viewport renderer? There's Nitro, Direct3D and OpenGL if I recall correctly.
Also if you have a new config with maybe an integrated gfx chipset (ala Intel etc.), make sure MAX is running with the performance gfx card by default.
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Yep, it is using the Geforce. I've tried the other rendering modes too. They all suffer from this problem on my system, but there some other differences between them (unrelated to the problem above):
Direct3D 9: works well, so this is the preferred choice
Direct3D 10: seems buggy: a lot of polys are not rendered in very detailed scenes
OpenGL: very slow, grainy rendering (doesn't filter maps)
Software: slow, grainy rendering, distorts maps
I couldn't find an option for the Nitro renderer you mentioned, though.
Direct3D 9: works well, so this is the preferred choice
Direct3D 10: seems buggy: a lot of polys are not rendered in very detailed scenes
OpenGL: very slow, grainy rendering (doesn't filter maps)
Software: slow, grainy rendering, distorts maps
I couldn't find an option for the Nitro renderer you mentioned, though.
- Toshiba-3
- BRender Actor
- Posts: 5515
- Joined: Sun Jun 08, 2003 12:14 am
- Location: MagnaChem Data Unit
- Contact:
Re: Modular modeling (level design)
Are you running 3dsmax along with other programs using DX?
Do you have fancy win desktop effects ala animated backgrounds etc.?
Have you tried removing/renaming 3dsmax.ini?
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Sorry, I didn't notice you were using the 2012 version. Mine is older: 2010 and 32 bit. Maybe that's the problem.
The bug seems to occur even if Max is the only DX using program opened. I also have almost all enhancements in appearance options disabled, except the 'update window contents while dragging' (not sure what it is in english/french version).
I tried with a fresh .ini file as well, but the problem remained.
EDIT:
Well anyway, I decided to try maxscripting again. I may have mentioned rounding vertex coordinates to integers some time ago, so now I'm attempting to write a script to do just that:
https://c2s.cwaboard.co.uk/Maxscripts/RoundXYZ.txt
UPDATE:
I found the error I mentioned in the last edit: it was caused by negative coordinates. I managed to fix it, and now the script seems to work fine. Next I'll try to find out how to make this work in "Edit poly" modifier too, because currently it only works in Editable poly, which is limiting its usefulness for most cases.
The bug seems to occur even if Max is the only DX using program opened. I also have almost all enhancements in appearance options disabled, except the 'update window contents while dragging' (not sure what it is in english/french version).
I tried with a fresh .ini file as well, but the problem remained.
EDIT:
Well anyway, I decided to try maxscripting again. I may have mentioned rounding vertex coordinates to integers some time ago, so now I'm attempting to write a script to do just that:
https://c2s.cwaboard.co.uk/Maxscripts/RoundXYZ.txt
UPDATE:
I found the error I mentioned in the last edit: it was caused by negative coordinates. I managed to fix it, and now the script seems to work fine. Next I'll try to find out how to make this work in "Edit poly" modifier too, because currently it only works in Editable poly, which is limiting its usefulness for most cases.
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Modular modeling (level design)
I am also using 2012. In my experience each 3ds max version has its own graphics issues, though 2010 seemed pretty stable last time I used it.
d3d is still the best way to go I guess. I would suggest changing some of the settings and see whether it is an improvement or not. The update viewport settings and the texture size settings often do wonders.
Good to hear you are working out the issues with the script. I will have a looksee when I have more time ;)
and a happy new year I suppose!
d3d is still the best way to go I guess. I would suggest changing some of the settings and see whether it is an improvement or not. The update viewport settings and the texture size settings often do wonders.
Good to hear you are working out the issues with the script. I will have a looksee when I have more time ;)
and a happy new year I suppose!
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Modular modeling (level design)
Yep, happy new year to all. :) Maybe I'll go and record a video of the fireworks at midnight.
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Blocksburg
I think I'll switch to monthly updates with this, that seems like a good interval.
I've blocked most of the void in the central parts of the map with simple temporary geometry (grass plains). So if you haven't tried it yet, I think now is a good time to test this map with opponents. Especially if you have selection of heavy vehicles only: the mess they make with the noncars... :)
Optimization question: which do you think provides a better performance, a custom diffuse color, or a 1x1 pixelmap (of the same color)? Probably a minor difference, but you never know.
And what do you think about getting rid of (replacing) the diamond shaped fence textures in the apartment balconies? That's a lot of transparent textures reducing performance (significantly?), but on the other hand, they look pretty good in there. :)
I've also thought about making multiple 'paint' options for the bitmaps by using the diffuse color on a white/gray version of a texture, such as a plank wall, to save a few bitmaps. The problem is that I don't think the 'paint' will ever show correctly in 3dsmax viewports like it does in C2. And it's probably a tradeoff anyway: storage vs load time vs performance?
Both gas station pump models are set as smashables now, but would probably require a preprocessing for the simple vanish to work. I think there'a smashable type that works even without preprocessing, but that must be smashable textures instead.
Next I'll probably start filling the residential area with houses, and expand the selection of parked car models (including color changes, which is fast to do)
Tips, thoughts and suggestions are always welcome, whether technical or gameplay related. :)
https://c2s.cwaboard.co.uk/DLoads/MaxBlocks.zip
I've blocked most of the void in the central parts of the map with simple temporary geometry (grass plains). So if you haven't tried it yet, I think now is a good time to test this map with opponents. Especially if you have selection of heavy vehicles only: the mess they make with the noncars... :)
Optimization question: which do you think provides a better performance, a custom diffuse color, or a 1x1 pixelmap (of the same color)? Probably a minor difference, but you never know.
And what do you think about getting rid of (replacing) the diamond shaped fence textures in the apartment balconies? That's a lot of transparent textures reducing performance (significantly?), but on the other hand, they look pretty good in there. :)
I've also thought about making multiple 'paint' options for the bitmaps by using the diffuse color on a white/gray version of a texture, such as a plank wall, to save a few bitmaps. The problem is that I don't think the 'paint' will ever show correctly in 3dsmax viewports like it does in C2. And it's probably a tradeoff anyway: storage vs load time vs performance?
Both gas station pump models are set as smashables now, but would probably require a preprocessing for the simple vanish to work. I think there'a smashable type that works even without preprocessing, but that must be smashable textures instead.
Next I'll probably start filling the residential area with houses, and expand the selection of parked car models (including color changes, which is fast to do)
Tips, thoughts and suggestions are always welcome, whether technical or gameplay related. :)
https://c2s.cwaboard.co.uk/DLoads/MaxBlocks.zip
- Harmalarm
- road raged psycho
- Posts: 1302
- Joined: Tue May 13, 2008 3:56 am
- Location: Den Haag, Holland
- Contact:
Re: Blocksburg
Great progress! I see you keep adding originallity to the map. The whole beach area is totally unexpected, and the noncars that are spread around the map are just awesome. What a mess when the opponents are racing around. :)
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Blocksburg
Yeah it's funny to watch. :) Too bad the noncar freezing has to start at some point.
Overall I'm pleasantly surprised that all this is still working, and that I still haven't managed to hit any limits (model slots, mostly). Of course, now I've probably jinxed it...
And I got to say again, that export script is a real joy to work with. :)
Overall I'm pleasantly surprised that all this is still working, and that I still haven't managed to hit any limits (model slots, mostly). Of course, now I've probably jinxed it...
And I got to say again, that export script is a real joy to work with. :)
- Toshiba-3
- BRender Actor
- Posts: 5515
- Joined: Sun Jun 08, 2003 12:14 am
- Location: MagnaChem Data Unit
- Contact:
Re: Blocksburg
I was also surpised to see the beach all of sudden. It was a great idea. Maybe you could even have more different areas like this?
It's indeed great how stable it is and how good it runs.
On another subject, do you still have plans for the Cruisemap?
It's indeed great how stable it is and how good it runs.
On another subject, do you still have plans for the Cruisemap?
- C2 Scientist
- jaywalker
- Posts: 2059
- Joined: Tue Mar 26, 2002 5:00 pm
- Location: Finland
- Contact:
Re: Blocksburg
Beach-like areas? The swimming beach will cover the southern border of the map, and there will be open sea from there on. The western border will consist of a coastline, and I will probably put several active wind turbines along it.
As for cruisemap, right now I'm not sure if I will continue it. At least I'm focusing on this one for now. It would be interesting to try applying this modeling concept to cruisemap as well, but the highly irregular geometry of the terrain would probably require a lot of thinking. :)
As for cruisemap, right now I'm not sure if I will continue it. At least I'm focusing on this one for now. It would be interesting to try applying this modeling concept to cruisemap as well, but the highly irregular geometry of the terrain would probably require a lot of thinking. :)
Re: Blocksburg
Hey this map is great. I've been driving around exploring, but kept forgetting to check my mini map and found myself driving in mid-air while trying to race around on the elevated highway. Racing along the beach is fun too, plowing through all the beach umbrellas.
I know you guys are trying to get to the point where you can do away with PT2, but I really really wanted to get peds onto my copy of Blockburg, so I threw all caution to the winds and tried to pre-process my copy using PT2. Didn't work, imported ACT, saved so there'd be an SDF and tried pre-processing but got 'Error loading data'. Oh well, it was worth the shot.
Keep up the progress
I know you guys are trying to get to the point where you can do away with PT2, but I really really wanted to get peds onto my copy of Blockburg, so I threw all caution to the winds and tried to pre-process my copy using PT2. Didn't work, imported ACT, saved so there'd be an SDF and tried pre-processing but got 'Error loading data'. Oh well, it was worth the shot.
Keep up the progress
Check who’s online
Users browsing this forum: No registered users and 207 guests