Home Technical Talk

3ds max as a level editor

polycounter lvl 18
Offline / Send Message
Snowfly polycounter lvl 18
Does anyone use 3ds max for level editing at work? I'm talking about a pure 3ds max workflow, no exporting content to editors. Can anyone disclose how that would work?

Replies

  • Eric Chadwick
    Options
    Offline / Send Message
    We do it. Our tools are still young though.
    What do you want to know?
  • Joshua Stubbles
    Options
    Offline / Send Message
    Joshua Stubbles polycounter lvl 19
    Same here. We're using Gamebryo for our engine, and they do not provide editors of any kind. We use their in-app tools and export scripts to export the scene from 3dsmax into *.nif format.

    What are you looking to find out?
  • CrazyButcher
    Options
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    I assume you would throw a few maxscripts together that allow to place entities and such. Als it might be wise customising the UI in a fashion that it hides most of 3dsmax, so that basically only the level relevant primitives and operations are left. probably also a simplified material editor. to just assign quickly textures.
    maxscript's "custom attributes" come in handy here a lot.

    there is a script that brings some of this to max allowing quake level editing
    http://www.maple3d.com/
    never used that much so

    for our own gameengine I worked on exporters/entity stuff, however it's not like AAA engine wink.gif and there is basically just me using the stuff as friend works with c4d and does his own tools for that.
  • Rick Stirling
    Options
    Offline / Send Message
    Rick Stirling polycounter lvl 18
    Yeah, we do it all in max. People work on different sections of a map, and replace dummy or temp objects in the real map.
  • Eric Chadwick
    Options
    Offline / Send Message
    Create models in separate files, or grouped together in a file, whichever's easiest. Characters in separate files, props together, ground tiles together.

    Script tool creates proxy of a model, which we then merge and arrange into a master game layout file.

    Any objects that have behaviors or animation or any kind of change get a Note Track. Lets us specify info per frame or just for the whole entity. Exporter parses the track to know what to export, besides the default first frame.

    Ours is working fine so far, with a few hiccups here and there, but nothing unsurmountable. There are other ways to do this though. I saved some threads about using max as a game editor...
    http://www.ericchadwick.com/examples/files/3DStudioMax_and_exporting_to_NetImmerse.html
    http://www.ericchadwick.com/examples/files/3DStudioMax_and_game_exporting.html
    http://www.ericchadwick.com/examples/files/Attribute_Methods_for_Game_Export.htm
    http://www.ericchadwick.com/examples/files/Attribute_Methods_for_Game_Export_Day1Props.jpg


    BTW, taking some time off. See y'all in a week or so.
  • Ryno
    Options
    Offline / Send Message
    Ryno polycounter lvl 18
    Yeah, we did it with the racetracks on Forza. It was a bit of a bitch though, as we had miles and miles of track and environment, calling thousands of textures and lightmaps. It was painful, but apparently our issues directly resulted in Discreet's implementation of smart object display culling.
  • Snowfly
    Options
    Offline / Send Message
    Snowfly polycounter lvl 18
    Thanks for the replies so far. The kinds of levels we're looking to build are strategy game stages, so they'll be relatively small compared to Forza I'm sure..and their behavior will most likely be much simpler.

    We're all inexperienced with PC games here (industry is young) and we're trying to decide on a nice max-to-engine workflow. I'm thinking we'll have separate scenes for the collision and display models, and referenced scenes for props and particle emitters. That's for the visual side of things. I was wondering how most people go about setting up a level for in-game use (i.e. specifying which faces can be walked on, which block bullets, etc.), but I think I have a vague idea now.. Would tying behaviors to materials work?

    Agh rambling.. still trying to find my feet here..

    Eric-What is a note track? I see that phrase mentioned a few times in the threads, but I'm not sure I understand what they are.
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Yeah, I guess you could do something like add "_nowalk" to the end of the material name for any materials that you didn't want to be walked on, then if the engine is reading the materials, it should know what's what.
    That's just guesswork though :P
  • Rick Stirling
    Options
    Offline / Send Message
    Rick Stirling polycounter lvl 18
    Man places that I have worked at use a lower poly collision map over everything. Build your level then build a lower poly shell over everything.
  • Delaney King
    Options
    Offline / Send Message
    Delaney King polycounter lvl 18
    first thing I do is set up a naming convention... this allows me to do 'replace' actions to swap out objects on complex scenes. That way I build a hi-res and a collision object for each and work mainly in collision objects without worrying about fickle x-refs.

    You can use object colours from the palette to help organise your scene whilst testing gameplay.

    Max is pretty awesome for doing levels once you know your way around the stack and all the tricks you can do to put down things like grass objects that conform to surfaces. Very powerful indeed.
  • Snowfly
    Options
    Offline / Send Message
    Snowfly polycounter lvl 18
    Thanks a lot, all your input is really helping! Is it a good idea to follow some kind of grid convention?
  • CrazyButcher
    Options
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    about the material stuff, take your time and make maxscripted material properties, that way you can easily add checkboxes to your material and also change the look of a material to just the game relevant stuff (like only diffuse texture..)

    it's fairly easy to work with custom attributes in maxscript, and quite nice to throw a gui together.

    taht way you can quickly assign special game properties to surfaces/objects without having to use special names or abuse other max values
  • Ryno
    Options
    Offline / Send Message
    Ryno polycounter lvl 18
    Layers can be helpful for controlling what is displayed in the scene, and can speed things up a bit. For instance, all terrain could be on one layer, all buildings on another, props on a third, collision mesh on a 4th. That way, if you need to fix just one aspect of the environment, you're not being forced to view all of the other visual clutter.
  • Eric Chadwick
    Options
    Offline / Send Message
    [ QUOTE ]
    Eric-What is a note track? I see that phrase mentioned a few times in the threads, but I'm not sure I understand what they are.

    [/ QUOTE ]
    Look it up in the Help! wink.gif

    It's an animation track you can add in the Dope Sheet. Note Keys contain a bit of text, and can be time-sensitive. We place them on the time frames where we want to export boned poses, or morph targets, or whatever. Then our exporter reads them and assigns poses and/or behavior to the objects when they're exported. It's one way to go.

    Custom Attributes are nice too. We haven't gotten that far yet.
  • AstroZombie
    Options
    Offline / Send Message
    AstroZombie polycounter lvl 18
    [ QUOTE ]
    tricks you can do to put down things like grass objects that conform to surfaces. Very powerful indeed.

    [/ QUOTE ]

    More info, PLEASE!!!!!

    [EDIT]
    Just found it in the help files and ran through it; WHERE has this feature been all my life!??!?!!?
Sign In or Register to comment.