How do Professional Game Companies Make Their Scenes/Worlds?

In “professional” 3D games such as Call of Duty, Assassins Creed, and so forth they have rather large worlds, especially AC. How do they make these worlds? I imagine it would take a nutso amount of time to make them in something like blender but what do I know. And if they do make it in blender or something else, how do they create things that you can interact with such as a moving elevator or a button that opens a door?
Thanks,
-cMp

There is reason why these AAA games cost millions to develop… they have teams of sometimes more than 100 people going at it for year(s) straight.
Sometimes problem solving comes down to sheer manpower.

Would they use a 3d modelling program like Blender or 3dsMax? Say I wanted to create a small horror game like environment. What software would I use to make it?

Yes, they would have a modeling team using 3D modeling software for characters and such, but also for buildings, cars, anything that isn’t done procedurally, such as is easily possible with terrain, clouds, etc.

For 3D modeling, I like Blender, as it is free yet quite professional grade. Your choice of software may vary on how you want to store your assets as well, if the software can only export in a format you can’t read in to your program, that would be problem.

Don’t forget procedural content! Easy of the developer (relatively) and brings life to the game world, IMHO.

Many studios use their own software for creating worlds.
Look at Valve, they use Hammer for creating their environments.

if you are talking about cod you basically need a 3d moddeler and map maker thats all they have done lol. For games such as crysis they would use a proffesional editor and engine they have spent thousands of hours making perfect , you would need an entire team to get it done within any considerable amount of time or you could do it in a more memory efficient more dynamic language such as c++.

You could use something like cinema3d if you knew how to import the files into your games and render the objects around it. Otherwise I would stick with paint.net :).

This question bothers me too.
Let’s say there are two ways of creating a ‘level’:
First one, you create all game objects, like characters, cars, buildings etc. within blender. Then you could load each 3d model seperately into your code and create the actual level! (Obviously you must create specific methods)

Second one: you create the whole level within blender, including all the game objects I mentioned before. This way would be rather easy, because you have one big .obj file, so blender is in this case your ‘level editor’. you dont need to develope your own. But how do I interact now with certain ‘parts’ of the level?

they use their own level editors - we wrote one for our games as well.

for example the unreal editor and stuff
dont forget particle editors, animation management, sounds, music n stuff

basically you build a 3d mesh in your favorite program, although the industry uses primarily 3dsmax, then import them into your asset management and load them in the map editor into a map
Interacting with objects ? Well have a door frame as a static object and the door itself as a mesh, and that mesh can be manipulated to rotate depending on ingame actions.

Every object can by rotated and scaled later on. animations you have to create of course

I have worked as a leveldesigner (years ago) on an AAA game.

There was weeks of micro optimization on each map (RTS) using an inhouse leveleditor.

The artists who provided the 3D assets where a different team.

Kind of they where the engeneers, and we the Ford Model T assembly line.

The more manual fine work you put into a scene, the better it looks.
Cant be beaten by a generation algorythm.
Although nice procedural tools can relive the leveldesigner from a lot of repetetive work.

The way I would do it is create my own basic level editor and have premade generic objects (doors, cars, stairs etc…), place them in the world and then modify the individual instances of the objects. Then I would have a file that records the location and properties of these objects, an use a parser to load them into the program everytime you start the game.

Dont forget methods to create layers and groups of objects.

And and individual IDs (for scripts)
And invisible trigger areas.

During development its also good to have an easy to debug level format.
(like xml)
Later, when everything is stable you can compact this into a smaller binary format.

Can I ask what game you worked on? Did you ever get to code or were you strictly level design? Sounds kinda fun yet it doesn’t allow for much creativity and I think spending a ton of time on a game that isn’t even mine would make me get sick of it very fast…