Zur deutschen Seite

Main Menu
Home
Board / Forum
Links
Disclaimer
Remository
Game Facts
Summary
About DraSa
Technical Information
General
Story
Combat & Magic
Content
Game world
Special
Official Dev Diary
Community Interview #1
Community Interview #2
Media
Previews
Interviews
Videos
Screenshots
Concept Art
 
Dev Diary #04 PDF Print E-mail
Written by Nico Pogoczelski   
Wednesday, 14 March 2007

Drakensang – Official Dev Diary #4

16. 03. 2007: Developing the overview map

What does a coder actually do as a games developer? This is exactly what I’d like to tell you, on the basis of the development of the overview map. As the Lead Programmer, this task was very tricky for me, which is why I decided to write my first article for the dev diary about the map.

Recently the little son of our secretary Borislava visited us. After she guided him through several departments at Radon Labs, they finally came in the coder’s room.

„What do these guys do?“ – “They get paid for playing games.”

Indeed, it’s quite difficult to briefly explain what a coder does in the development of a computer game. Maybe an example will help to make it understandable. The first version of the game design document on the creation of the overview map contained the following:

 

The first time the player enters a not yet discovered setting, he will only see a blank map. By exploring the location the map will be “drawn” (automapping) and points of special interest will be marked (e.g. after the first visit of Hesinde’s temple).

 

From a coding perspective this leads to different system requirements, which will make the development of an overview map possible.

The overview map has to be created for each location and dungeon, the not yet discovered areas have to be hidden in the beginning. Those areas have to be uncovered when the game advances, and last but not least the player, special locations and characters have to be marked on the map.

We quickly had a first idea how this could be done. Here are the working steps in chronological order:

  • make a screenshot from bird’s eye view
  • fit the shot to the required area
  • make area resizable
  • put a “revelation mask” on it
  • show markings on map

Making a screenshot was soon done, but it was quite difficult to get the shot resized in the way we needed it. The revelation map was realised by simple means: we created a texture that was layered over the map and could be saved as such. To make the markings show correctly, a couple of smaller changes had to be made, but we were able to accomplish that too.

Image

After an example map had been generated, nothing happened for a while. Every now and then we heard some swearing from the leveldesign department – but this is nothing unusual.

Finally Sven, the Head of Level Design, came in and said:

“This doesn’t work. It takes way too long to create and resize the maps, and every time we change something the maps display incorrectly. In addition, the save games are much too big. Actually, the rendered maps don’t look very impressive at all. Oh… and did you forget that we have overlapping areas?”

Image
Click to enlarge

Through my headphones, this pretty much sounded like “Map not good *grunt* you make better or you get a paddling”

After a long meeting we finally defined several more requirements:

  • 1. The map generator must work automatically, at least in parts.
  • 2. It must be possible to define areas in which maps may be generated. These areas may overlap or lie on each other (for detailed maps)
  • 3. The maps should not be generated in-game with screenshots, but with Maya (the 3D design tool which we use mostly). This would make it possible to blind out certain objects and different “layers” of the map could be rendered individually.
  • 4. The exposure of newly discovered areas must work more effectively

It was hard to tell in advance how much effort these changes would take. In any case, one coder would have to spend the next couple of weeks on this job.

Finally, we managed to come up with a system that met most requirements:

To define the areas, for which maps are created, we placed cubes in the level file. All objects that are in the level were split up in groups, e.g. the ground is in a group, the fixtures are in a group etc.

Individual layers of the map are then generated by a script. These can be reworked in photoshop separately and be put together to make one very fine map.

Image

When all of this was completed, Sven came to me and said: „Now that’s a nice overview map. But… how do I turn on the mini-map…?!”

;-)

 

- Written by Nico Pogoczelski, Lead Programmer of Drakensang -

Comment this article at our forum!

 
< Prev   Next >
 
Random Image
advertising
 
© 2008 DSA - Drakensang
Joomla! is Free Software released under the GNU/GPL License.