views:

230

answers:

8

This question is intended for someone who is in game development, possibly working in one of the major sweatshops .. :)

I'm a programmer, not an artist. Up until recently, I had this notion that level design was something to be done in Maya, by an artist. The programmer would then load it up and "parse" that model and construct a BSP or something.

The more I work with level editors though, the more unrealistic this whole idea of level building in Maya or 3DSMax really seems. Parsing a huge world would be an enormous job, and it just seems so silly to export SO MUCH DATA from Maya only to be converted to the games own format.

So the question is, does anyone use Maya or 3dsmax or milkshape for level design at all, ever? Or is like the first thing a game should create is a map editor?

+1  A: 

I'm not in the industry, so I'm not expecting to get a lot of upvotes for this one, but I thought I'd contribute my own experiences. Using commerical games (Unreal series comes to mind), the map editors seem to be custom written for the game engine. That makes intuitive sense, since you're not rendering the world with Maya, etc. There's also going to be a ton of metadata not existing in Maya, like item properties, spawn points, etc. I think the developers of most games create the map editor as they create the engine, so that they can exercise the engine. Perhaps they even share significant code.

In my own games (hobbyist only), I always develop a simple map editor as soon as I've got the engine complete enough to render a simple map. I then incrementally add features to both. I've never used an off-the-shelf tool for a map editor, unless you could the one time I made my "maps" be bitmap images where each pixel's color denotes a type of tile (for an RTS) -- I used MS Paint as the map editor there. Sometimes, my map "editors" are really just simple random map creation algorithms, since I want to work on the game engine, not the map editor... It may be worth noting that only a few of my games have gotten far enough to be any fun to play, and I've never finished any of them.

rmeador
A: 

A friend of mine works as lead level designer for one of the major game companies creating ego shooters. They create a whole tool-chain to create the levels.

You can see the tools sometimes when you buy the game. Sandbox for Crytek is one example, the Leveldesigner for Neverwinter Nights, Fallout 3, Morrowind are other examples.

The levels are are created using specialised tools desinged for the game engine they work on. Artists uses tools like 3DS to create models/entities/prefabs that can be used within the level-creator-tool (example: doors, tables, ... for neverwinter).

The first thing you should create is a graphic engine and a level editor using the engine to create levels.

Tobias Langner
A: 

Usually the game engine is written, and then the level editor is made using the engine. I can't imagine why you'd use one of those programs to design levels for your game. They know nothing about the game, the monsters, the player, their sizes, the environment (gravity, etc), the items. Those programs won't throw up an error when you don't add a spawn-point. Those programs won't throw up an error when you try to spawn a player outside of the map.

I'd suggest installing Quake 2 and messing around with the game and it's level editor, moving up to Quake 3, then Doom 3/Quake 4. It was a summer-long learning process for me, but I learned loads, not only about map creation and game engines, but optimization, and many of the little ins and outs you'll wish you would have known when you try to make your own. Even if you aren't trying to make an FPS, this is worth doing. id knew what they were doing, and they made some damn fine engines.

I'd also suggest reading Masters of Doom. It's seriously such an inspiring book.

Sneakyness
+1  A: 

A lot of games do use Maya or 3DS Max as level designers. Usually the design-tools are augmented with custom scripts/plugins that help tag the data for proper export into the engine.

Building a good map editor can be an enormous task, especially for a small team that will only develop levels internally and not open up the process to modders. The required toolset for a map editor often has many overlapping features with the design-tools (wysiwyg views, transform tools, animation tools, etc...) and it makes sense to take advantage of those.

I'm less familiar with Maya, but take a look at the 3DS Max SDK (http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=7481355) to see what you can do.

M84
So, _who_ does this? Do you have specific examples? I recall seeing a screen shot of a recent StarWars game by Lucasarts that was being developed only 1 or 2 years ago, and they had a "level" inside of Maya. I'm not sure if it was just an enormous piece of scenery, or if they actually USED Maya to create/design the entire level, then load THAT up into the game..
bobobobo
M84
+1  A: 

You need to get level geometry from somewhere, and making your own editor for complex level geometry is pretty insane. (Terrain/heightfield editing or any procedural based content are exceptions to this.) You can overcome the bottleneck of parsing geometry from a file by storing an intermediate representation so you only have to parse once per export rather than every time you load it into your game. Although I've never seen parsing a file to be a real bottleneck to begin with; most time is spent converting raw geometry into a game usable format.

If, on the other hand, you are referring to adding game specific metadata to a level, you are definitely better served by either extending Max/Maya or writing your own editor. This is standard operating procedure for any large scale game endeavor. Plus, it enables all sorts of fun emergent editing workflows, like editing in place while you play the game.

MSN
+1  A: 

Building game levels with a 3D-modeller is a viable option for many games (rumor: the God of War team does this). This solution is appropriate for contained levels that have highly detailed and variable environments. I'm sure artists appreciate using the familiar and refined tools of their craft to make levels beautiful. However, this isn't a viable solution for most open-world games, where a great deal of optimization work goes into streaming the minimally necessary details into memory. A modeller won't do this, so loading and exporting such a level would make it crawl. In these games, the standard approach is to use the modeller to build reusable level chunks, and compose the rest with a custom level editor. Either way, you will need to parse a 3D-modeling format, and yes, it will be a lot of work.

I'm no guru, but I worked two years on a huge, recently shipped game, for which I wrote quite a bit of the art pipeline :)

Evan Rogers
+1  A: 

It really varies according to what the game is and what the team is. Max and Maya are certainly used, with data usually exported (via MaxScript or whatever) to a format the game engine can understand for each platform you're developing for (M84's reply is entirely correct).

Sometimes a level editor is written specifically for the game engine, but that takes a lot of investment so it needs to be worth it. Usually you'll see that in middleware engines, or large engines that might be used over the course of 3-4 years and for several titles.

One project I worked on split the game world into chunks that could each be loaded and edited in Max, then the whole lot would be exported and stitched together. Another project had the game world objects (e.g. houses, fences etc.) created in Max and then they'd all be placed together a world editor developed in-house. I don't think either of these approaches are particularly unusual.

teamonkey
A: 

It's possible to use Max or Maya but not recommended. And this is the level editor for some companies. However, those particular companies tend not to rely on Max/Maya 100%. They will have proprietary tools for designing AIs, combat sequences, scripting and more. It's almost impossible to get away from writing some kind of custom tool.

Text files, while not as pretty, can make pretty good game and level editors. I will usually start with an XML-style text format to get the level up and running. While designers are playing with the text files we get to work building the graphical editor. In the end you want your editor to read and write to a human readable text file, so why not start with one?

Plus buying licenses to Max/Maya for every artist, designer and programmer gets expensive!

Chris Masterton