Our Properties: Gamasutra GameCareerGuide IndieGames Indie Royale GDC IGF Game Developer Magazine GAO
My Message close
Contents
An Environmental Pipeline in MaxScript
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
February 9, 2012
 
What Nintendo's 2011 sales mean for Wii U, third parties [5]
 
Rift heading to China, in 'biggest game deal ever' for a Western MMO
 
DICE 2012: Culture, pride lead to success at Skyrim maker Bethesda [4]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
February 9, 2012
 
Toys for Bob / Activision
QA Tester - Temporary
 
Radical Entertainment / Activision
AI Programmer (Senior)
 
Sony Computer Entertainment America LLC
Senior On-line Programmer
 
2K Marin
FX Artist - XCOM
 
Visual Concepts
Software Engineer, VC China (Shanghai)
 
Visual Concepts
Senior Producer, VC China (Shanghai)
spacer
Latest Features
spacer View All spacer
 
February 9, 2012
 
arrow Principles of an Indie Game Bottom Feeder [6]
 
arrow Postmortem: CyberConnect 2's Solatorobo: Red the Hunter [1]
 
arrow Jerked Around by the Magic Circle - Clearing the Air Ten Years Later [33]
 
arrow Building the World of Reckoning [4]
 
arrow SPONSORED FEATURE: TwitchTV - How to Build Community Around Your Game in 2012 [13]
 
arrow Happy Action, Happy Developer: Tim Schafer on Reimagining Double Fine [9]
 
arrow Building an iOS Hit: Phase 1 [11]
 
arrow Postmortem: Appy Entertainment's SpellCraft School of Magic [5]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
February 9, 2012
 
Double Fine's Kickstarter Windfall: Will Patronage Supplant Traditional Game Publishing?
 
Did DoubleFine Just break the publishing model for good? [1]
 
The Devil Is in the Details of Action RPGs - Part One: The Logistics of Loot [2]
 
Xbox LIVE Indie Games at it Again
 
Merging Waterfall and SCRUM [3]
spacer
About
spacer Editor-In-Chief/News Director:
Kris Graft
Features Director:
Christian Nutt
Senior Contributing Editor:
Brandon Sheffield
News Editors:
Frank Cifaldi, Tom Curtis, Mike Rose, Eric Caoili, Kris Graft
Editors-At-Large:
Leigh Alexander, Chris Morris
Advertising:
Jennifer Sulik
Recruitment:
Gina Gross
 
Feature Submissions
 
Comment Guidelines
Sponsor
Features
  An Environmental Pipeline in MaxScript
by Lance Thornblad [Programming, Visual Art]
6 comments Share on Twitter Share on Facebook RSS
 
 
December 9, 2008 Article Start Page 1 of 3 Next
 

[In this technical article, complete with free-to-download tools and scripts, Sony Online's Thornblad explains his 3DS Max function library and tools, a light mapper and polygon unwrapper, originally created for MMO PlanetSide.]

Nearly eight years ago I moved to St. Louis, where SOE had established a small satellite office, to work on a new game project that was still in the research and development phase.


It was to be a massively multiplayer online first-person shooter, or MMOFPS, on a scale beyond anything I had worked on before. Because of this, it was going to require strong organization and efficient processes in art development.

I had been using MaxScript in personal projects for a year or so, but my knowledge was pretty rudimentary and limited to little more than macros for accomplishing repetitive tasks. The needs of the project presented an interesting challenge that inspired me to spend many late nights teaching myself the 3ds Max scripting language in depth.

When I started work on PlanetSide, there was a basic engine up and running with terrain, skies, objects, and characters. All these components would undergo a great deal of work over the next three years, since they were in fledgling form, but two main graphics components were completely missing.

At the time, there was no graphical user interface and no component for handling building structures and interiors. I was approached to help with R&D on the latter portion. This grew to become my focus on the art and tools side for the majority of my time on the project.

Old Dog, New Tricks

The original intention for construction of building interiors was to use QRadiant, a popular level building tool of the time, because there were a couple of level design enthusiasts on the project who were familiar with the program.

The problem was that the output was a rather messy collection of triangles in a hierarchically arranged format called a BSP tree. BSP (binary space partitioning) trees were useful for interior level-based games such as Doom and Quake because they represented all of the environmental geometric data and were suitable for the graphics hardware available at the time when those games came out.

In a massively multiplayer game, however, the interior levels needed to be seamlessly connected to a larger world represented by a different set of data. Since the BSP tree data was useless, it would need to be converted into geometry.

But because the process that generates the tree splits polygons, the resulting triangle count would be much higher than was needed to represent the model and thus be very inefficient. As an R&D test, I was asked to reconstruct a model in 3d Studio Max that was originally built in QRadiant.


Here is a selection of hallway block pieces put together using a custom move tool in the Planetside editor. (click image for full size)

Creating the model was a simple enough task. It was a matter of matching existing high polygon geometry with a lower polygon representation, similar to building an LOD (level of detail) model.

The main difference is that since the high polygon version was "high" only because triangles were unnecessarily split (a result of the BSP, not artistic decision making), there was no reason to expect the new model to be of lesser quality than the original.

The more challenging aspect of the test was to create the light maps, or textures that represent the static lighting in the scene. This was the most common method used to represent interior lighting back then, but level design tools generated them internally using placed lights. We needed to be able to create the maps in 3ds Max. Fortunately, a little web research turned up a plug-in for 3ds Max called Luminaire.

Luminaire was a radiosity-lighting plug-in designed primarily for architects who wanted something closer to real world lighting than what was available in native Max, but it also had a feature for rendering light maps that proved very useful. The mapping coordinates used for generating light maps are normally unwrapped automatically inside the level building tool, but they had to be created by hand for the R&D test.

Lighting was done inside 3ds Max using standard omni and spot lights, then rendered via Luminaire into texture maps similar to the ones that had been produced for the original model in QRadiant.

The result of the test was a model of a building that looked as good as or better than the one produced in the level design tool, but using approximately one-tenth of the number of triangles. The caveat was that the process took considerably longer than creating levels in QRadiant and needed to be made a lot more efficient or it couldn't be used in full production.

 
Article Start Page 1 of 3 Next
 
Comments

Aaron Harris
profile image
Awesome, can't wait for you to work on PlanetSide 2. ;)

Really though, this is some creative stuff, but I'm wondering if you'd actually use mesh instancing now for the individual hallway "pieces" rather than building it all into the same mesh.

Francesa Castellanos
profile image
vanu 4 life!

Lance Thornblad
profile image
@Aaron: I'm on EQ as the character guy now. Instancing was used for all of the props inside the rooms. The base geometry was pretty simple. Later, we realized that the base geometry itself could have been instanced, as well. However, it was a bit late in the game at that point.

Jason Webb
profile image
Loyalty Until Death!

Matthew Stelzer
profile image
Landoooo! Nice work

Shawn Yates
profile image
Very informative, sounds very similar to some of the tools I have had experience with, including the in-house built asset manager tool.


none
 
Comment:
 




UBM Techweb
Game Network
Game Developers Conference | GDC Europe | GDC Online | GDC China | Gamasutra | Game Developer Magazine | Game Advertising Online
Game Career Guide | Independent Games Festival | Indie Royale | IndieGames

Other UBM TechWeb Networks
Business Technology | Business Technology Events | Telecommunications & Communications Providers

Privacy Policy | Terms of Service | Contact Us | Copyright © UBM TechWeb, All Rights Reserved.