TABLE OF CONTENTS
I. INTRODUCTION
1 How Blockland/Torque maps work
2 What kind of map do you want to make?
3 Setting up your files for editing
4 Get acquainted with the in-game editor
4.1 Moving around your map
4.2 Moving objects - the hand of God
4.3 Menus
4.4 The various editing modes
4.5 Variables / parameters
5 Data directories - textures, shapes, ham
II. Using The In-Game Editor - The Basics
1 Setting up your map
2 Skies and sun
2.1 Sky and light considerations
2.2 Setting up a skybox
2.3 Setting up fog and visibility
2.4 The sun: Let there be light!
3 Basic Terrain
3.1 How does the terrain engine work?
3.2 Your first terrain
3.3 Terrain editing
3.4 Terrain texturing - painting vs. automatic
4 Water -or- OMG WTF WATAR! LOLZ
4.1 Water's chemical makeup
4.2 Your first puddle
4.3 Water texture
4.4 Making oceans
5 Adding Blocks And Baseplates - It Ain't Blockland Without 'Em
5.1 A brief philosophical discourse on the view of blockbuilding as a metaphor for an existentialist outlook on the universe
5.2 Adding and aligning baseplates
5.3 Adding bricks and other hoodads
III Playing Your First Map
1 Common gotchas/mistakes a.k.a. you screwed up, try again
IV Unlock The In-Game Editor: Medium-Difficulty Topics
1 Terrain is not just the capital of Iran
1.1 Creating terrain from a heightmap
1.2 Creating heightmaps
1.3 Terrain filters
1.4 Creating tunnels PART 1
2 The Sky's the limit
2.1 Cloud animation
2.2 Creating your first skybox
a. Using Terragen
b. Using Bryce
c. Using Vue D'Esprit
d. Stitching together from a panoramic photo
2.3 Animating your own cloud layers
2.4 Recipe for fish plaki
3 Sun vs. fxSunLight: David vs. Goliath or Ecks vs. Sever?
3.1 Setting up your fxSunLight
V INTERMISSION
VI Working With External Files
1 Creating Textures
1.1 Texture resolution
1.2 Create seamless textures
a. In Photoshop
2 Interiors: DIF Files
2.1 DIFs vs. DTSs - Interiors vs. Decorations - Why we use what we use
2.2 Methods of creation
2.3 QuArK
a. Downloading and installing Quake Army Knife (QuArK)
b. Configuring and setting up QuArK and map2dif_DEBUG.exe
c. The QuArK interface
d. Creating your first room
1. Setting up the walls and floor
2. Textures - importing and using
3. Textures Part 2, WAD's Revenge: This time, it's personal
4. Exporting your room and getting it into Blockland
e. Lights in QuArK
f. Adding details
g. Mind your polycount -or- using detail brushes and the NULL texture
h. Level-of-detail (LOD)
i. Luquado's Quest: Caves with QuArK
j. Links to more QuArK topics
2.4 Other methods
a. Please, someone submit!
3 Decorations / Vehicles / Weapons: DTS Files
3.1 Methods of creation
4 Working with audio or, er, not working with audio
VII Advanced Blockland Map Editing
1 Particle effects
1.1 What should I make with particle emitters?
1.2 Creating your particle textures
1.3 Setting up your emitters
1.4 TBM ONLY: Set up your emitters to auto-execute
1.5 Getting your emitters into Blockland
1.6 Tweaking your emitter
2 Creating lightning
2.1 Visit URL
3 fxShapeReplicator
3.1 Visit URL
4 fxFoliageReplicator
4.1 What is fxFoliageReplicator?
4.2 Setting up your foliage
4.3 Seeing the forest for the trees
VIII Map Theory: Why Do X Instead Of Y?
1 Blockland's "Sandbox" game mode
1.1 Realistic vs. Lego maps
1.2 Why not modify existing maps?
1.3 Considerations
IX Frequently Asked Questions / Frequently Seen Problems
1 FAQ
2 FSP
X Case Studies
1 Luquado's "Islands Of Blockland"
2 Guys give me more case studies!
XI Further Resources
1 Torque Game Engine mapping links
1.1 Tutorials
1.2 Resources/downloads
2 Texture links
2.1 Tutorials
2.2 Resources/downloads
3 General links
XII Credits & Contributors
I. INTRODUCTION
Mapping for Blockland can sometimes be daunting. By the very nature of the Torque Game Engine, there's not a lot of documentation out there on
the Internet, or what you find often assumes a knowledge of mapping for games that's beyond that of most newbies. In this definitive and almost
exhaustive guide, I aim to take you, the mapping neophyte, from noobadoob all the way to Grand Master. Well, not quite. But you'll have the
knowledge and the ability to use almost every tool you need to start creating beautiful maps for the Torque engine and Blockland.
But, grasshoppa, before you can run (or hop crazy high before you're devoured by your mate – or is that praying mantises?) you've got to learn how
to walk, so let's start with the basics.
1 How Blockland/Torque maps work
In Blockland, your maps are stored in a plain-text format with the extension .mis. “What does plain-text mean, Luquado?” Well, grasshopper, plaintext
means that you can open up your mission file in any text editor and futz with it like that. Don't believe me? Open up Notepad. Now go to File >
Open. From the “Files of type” dropdown select “All Files,” and then navigate to your blockland/fps/data/missions folder. Go ahead, open up
bedroom.mis. You'll see something like this:
//--- OBJECT WRITE BEGIN ---
new SimGroup(MissionGroup) {
CTF_scoreLimit = "5";
musicTrack = "lush";
cdTrack = "2";
new ScriptObject(MissionInfo) {
name = "Bedroom";
descLines = "2";
desc0 = "Hey I'm Bedroom!";
};
new MissionArea(MissionArea) {
area = "-360 -648 720 1296";
flightCeiling = "300";
flightCeilingRange = "20";
locked = "true";
};
If you're wondering what the hell all this stuff means, fret not! It's not that important – yet. It gets much more important later, and later it'll be
covered.
Basically, this .mis file contains blocks of code that define different objects in your maps. You have TerrainBlocks, Sky, Sun, InteriorInstance (which
are 3D interior models like the bedroom), the position of each baseplate, the position of each block that people can pick up, any weapons, etc.
Basically, anything that's in the map the first time someone opens it up is included in this .mis file.
Quote
Tips From Luquado: This is a tip. You'll be seeing this when there's additional information that's not completely necessary to know but will help
deepen your understanding of stuff. For instance:
Quote
Tip: The position of each block that people build/place is not stored in the .mis file. For this you need an external modification. Currently the best
and most common/only one is Persistence, a great piece of work.
So when you load a mission, the game reads this .mis file, loads any external files linked in there - like skies, .ter (terrain) files, baseplates, and
other crap you'll learn about later, then positions everything according to the code in this file. Many items in this file also have tons of additional
options associated with them.
The good news is that for 90% of maps, you almost never have to edit this file directly. Whee doggies! The bad news is, however, that it's often
much easier to pop into the .mis file and change certain things as opposed to screwing around with them in the in-game editor. With that being said,
I'll give you lots of info on editing using the in-game editor, and occasional tips about hopping into the .mis file. But once you understand the
mechanics of editing maps in Torque and in Blockland, you'll find that .mis file is a lot less mysterious. So, let's move on.
Quote
Tip: Luquado makes up lots of statistics.
2 What kind of map do you want to make?
You should decide what kind of map you want to make before you even open the editor. Furthermore, it's best to have a mental idea of stuff you
want to add, how the map should look, etc. If your map is indoors like Bedroom, you probably won't need terrain. If your map is large like my own
Khersonesis, then you'll want to have fog help control the amount of onscreen polys – so I designed the skybox to lend itself to a thick haziness.
Just plan ahead.
Also, in the context of this tutorial, deciding what kind of map you want to make also helps in setting up. I've included two blank map templates, BLNewMission
and BL-NewMission-Flat. The regular one obviously has regular-style terrain. The other has completely flat terrain, flattened using a
filter that you can turn off (more on that later.) Either one is a good starting point. If you want to completely remove terrain and have an interior –
well, then, that's covered later since it's outside the scope of “basic” editing.
3 Setting up your files for editing
If you haven't already, download and unzip the included .zip, which can also be found at
http://www.luquado.com/blockland/tutorial/tutefiles.zip.
When unzipping, point WinZip at your blockland folder. It will automagically stick every file in the folders where they need to live.
Next, navigate to your blockland/fps/data/missions folder. You'll see the following new files:
1. BL-NewMission.mis
2. BL-NewMission.ter
3. BL-NewMission-Flat.mis
4. BL-NewMission-Flat.ter
For your first map, let's start with a standard map and modify the terrain to work. We'll want to make copies of BL-NewMission.mis and BLNewMission.
ter. Making copies allows us to always have these new mission templates to come back to whenever we want to make new maps.
Rename both of these files to something more descriptive, like BL-FlamingPoop or something. For ease's sake, I name both my .mis and .ter files
the same, though you don't have to. You should, though. Really. Make sure you don't change the extensions .mis and .ter, or you'll break things!
Quote
TIP: Luquado, why do you put the BL- in front of all your map names? No one else does! Answer? There are mods for deathmatch, capture the
flag, and other game modes in the works currently. This way all you have to do is DM- or CTF- or whatever to denote different maps for different
gametypes. It's an idea I stole shamelessly from Nali City and the Unreal series. BL- then remains for standard sandbox gameplay.
Done? OK! From here I'm going to assume you named your map BL-FlamingPoop, partially because that's entertaining for me while I write.
Go ahead and open up BL-FlamingPoop.mis in your favorite text editor, or Notepad if you don't have a different one.
Quote
TIP: I prefer the kick-ass and FREE text/code editor Crimson Editor. It features a tabbed interface, line numbering, syntax highlighting, and all
sorts of other cool junk. Plus it's fast and free. I use it for CSS editing, HTML, and now for editing Blockland files too. Check it out at
http://www.crimsoneditor.com.
Great. Don't be scared, I'm here for you. Oh yeah. Now, find the lines
new ScriptObject(MissionInfo) {
name = "New Mission";
desc0 = "A simple new mission template.";
descLines = "2";
};
...right around line 7. Got it? I'll wait. Ok. Change name = ”New Mission”; to something more descriptive like, oh, name = ”BL-FlamingPoop”; or
something. This is the name that shows up in the map list and at the top of the map loading screen. Next, change desc0 = “A simple new mission
template”; also to something more descriptive. This is the text that appears under the map name at the top of the loading screen. Done? Make
sure your quotes are correct; you need quotes around the name and around the description, and both lines need to end in a semicolon ;. Make sure
you didn't accidentally delete that!
Next we need to tell the template to use your terrain file. Find the lines:
new TerrainBlock(Terrain) {
rotation = "1 0 0 0";
scale = "1 1 1";
detailTexture = "~/data/terrains/details/detail1";
terrainFile = "./BL-NewMission.ter";
squareSize = "8";
position = "-1024 -1024 0";
locked = "true";
};
These are a little further down, down below the big Sky section and the Sun, around line 54. Got it? Change terrainFile = "./BL-NewMission.ter";
to terrainFile = "./BL-FlamingPoop.ter"; or whatever your .ter file was. Make sure to keep the quotes in there, as well as the slash-dot and the
semicolon.
Once you've done this, save this .mis file and start