Project Description
This simple map content creator for the Xna framework allows fast creation of basic maps and includes a 3d preview so you don't have to build your content to see what it looks like. This project was developed in c# and requires the (Xna SDK v3.1) in order to run.

Click here for more Screen Shots.
mappreview.png

About The Project
This project was originally a part of another project that I was a member of during my earlier computer science years. Since I did the work with terrain development and map creation I built this tool to make map development easier.



How it Works
Like many map creation tools the MapFinalizer uses heightmaps and normal maps to generate map data, but the MapFinalizer does so using a custom ContentProcessor.
heightmapoftrack.bmp Trackmap24.bmp

The MapFinalizer tool takes your content (heightmaps,normal maps,textures,and parameters) and processes them into a folder with a script file (.mhf)
This script is then used by your main project as content which then becomes your final map content.
For the final processing of the script I used Riemer's and many other tutorials as inspiration to form a basic unoptimized map content file (this is where it becomes an .xnb).

Features
1. A simple step by step interface using windows forms to build maps.
2. A fast previewer that builds xna content.
3. The ability to change many parameters that control everything from map size to texture blend radius.
4. All classes needed to render your maps are included in the content processor as well. (just add a reference to it and you can call drawterrain)

Limitations and Extra
1.) I did not implement any optimizations in the content processor so all vertex/index data is built into the final content file.
  1. This means that maps are generally limited by the heightmap size. (anything over 1024x1024 probably wont work)
2.) I have always made maps square: being 256x256 or 512x512 so I have not tested rectangular maps.
3.) The previewer uses a less advanced content processor, (one from an earlier build) this is to increase efficiency as well as not to tie it entirely to racing game development.
  1. The main things effected are the lighting and other parameters.
4.) The current release does not include the shader used for rendering the map. get it here Series4Effects.fx -(also thanks to Riemer)
  1. Its a very simple shader that I edited to support up to 12 blend-able textures per map. (I'm no shader programmer.)
5.) Also you will need the content reader class for your main project. Map_Reader.cs (You may have to change its namespace.)
6.) Finally I have also just finished editing my map game component which should make your first project easier to finish. MultiHeightMapObject.cs

Help and Tutorials
Here is a guide on how to make a map and how to include it into your main project.
Tutorial 1 Making a Map and Including it into your Project

Last edited Aug 29, 2010 at 4:07 PM by T3866, version 10