Guide to mapping: Difference between revisions

7,979 bytes added ,  06:53, 29 May 2014
Added Metacide's Guide to Mapping, was just concerned that it would get forgotten and buried if it stayed on the forum.
imported>Rockdtben
(Created page with "Other related guides: Understanding SS13 code, SS13 for experienced programmers and Map Merger == Map Merger == It is important that you use the Map Merger too...")
imported>Kosmos
(Added Metacide's Guide to Mapping, was just concerned that it would get forgotten and buried if it stayed on the forum.)
Line 2: Line 2:
== Map Merger ==
== Map Merger ==
It is important that you use the [[Map Merger]] tools before commiting any changes to a map. See [[Map_Merger|here]] for how.
It is important that you use the [[Map Merger]] tools before commiting any changes to a map. See [[Map_Merger|here]] for how.
== Meta's Guide to Enthusiast Mapping ==
'''Written for those with any or no idea of how to use the map-maker.'''
I have no idea how experienced anyone reading this is, so I'll start from the top and try to assume little. First, you need to get yourself a copy of all the files for editing. To do this, go [https://github.com/tgstation/-tg-station here] and click the ZIP button next to clone this in windows. You won't be able to push to the GitHub repo or anything, but that's complicated and something you can get round to later. Once the .zip downloads, extract it wherever.
So now you have your folder with the latest code in, and a zip backup to go back to if you break everything. In the master folder, you'll see "tgstation.dme". You want to open this with Dream Maker a program that'll be in your BYOND folder. Set Dream Maker as the default program for opening .dme files, if it isn't already. When you open it, you'll see a two tabs on the left: file, and object. In the file tab, open '''maps''', and then open 'tgstation.2.1.2.dmm', or whatever the current map version is called. You'll then get something looking a bit like this:
[[File:Dreammakermap.png|thumb|left|400px]]
<br><br><br><br><br><br><br>
Switch from the '''files''' tab to the '''objects''' tab, and you'll see '''area''', '''mob''', '''objects''', and '''turf'''. These are the four primary 'layers' that you can see in the editor. You can toggle their visability and interactivity on and off using the '''layers '''dropdown. I'd advise copying this map, and renaming it to, say, teststation.dmm.  Perhaps delete most or all of the default station, and build on the now-empty z-level, wherever you like. To build stuff, use the object tree on the left of the UI to select things, then click to place them. A handy tip is that control-clicking places an object on top of others, instead of replacing them. You can have multiple maps open at once - I usually have the default /tg/station map and mine open, and can then shamelessly copy-paste things far more easily. Also, finding stuff in the object tree can be tedious as hell - right click something you see and you can see its path in the tree - obj/structure/closet/etc. This will help you find things. From this point on, really, you can begin mapping proper.
You can select areas to copy/paste/delete, or enter add or fill mode when placing objects. Basically just click around all the menus and you'll work out how they work, more or less. '''Options>Zoom''' allows you to zoom out to 50% to see more stuff. Use layers to select which of area, objects and turf you want to edit. If you actually want to be able to see anything, I'd deselect area, and tick 'only show selectable layers'.
The first step, then, is to be able to create your first few rooms. Select a turf (floor) from the generic simulated floors. These will start with the right make-up and pressure of air on them, which is how you'll want it. Surround these floors with walls, and hey presto you have a room. Try sticking some tables in there, perhaps a vending machine or two.  One you've made your room you'll want to put lights in. To get these to work, however, they need power.
So now we get to the basics of making a functioning room. First of all, you'll need to re-enable the area layer. Pick some area from the object tree, and cover your room in it. You can rename this area if you want, we'll do that later. Make sure the area isn't used anywhere else on the map. Each area should have one APC or Area Power Controller in it. Copy one in from the default map.
To rename an area or APC, you need to right click it, and select EDIT. This will give you a menu showing you all of its changeable variables. Name is what you'll want to change. You'll see a hell of a lot of other things you can change, too. Any that aren't defaults are in BOLD. The menu will look something like this:
[[File:Editinstance.png|thumb|left|200px]]
<br><br><br><br><br><br><br>
As you can see, cell type and dir are both in bold. Cell type defines how much power the APC can hold, you'll want to set this nice and high as you don't have any sort of generator yet - 10,000 ought to do. Dir defines the direction the APC is in with regards to the cell it occupies. Basically, 1 means it is above the cell you place it in, 2 is below, 4 is to the right and 8 to the left:
[[File:Directions.png|thumb|left|200px]]
<br><br><br><br><br><br><br><br>
Note that with APCs, '''dir ''' is the only variable controlling their position. Other objects have their positions defined by '''pixel_x '''and '''pixel_y''' - this changes where APCs appear in the editor, but once ingame they snap to whatever the '''dir''' variable says. Other things, like signs on walls, will only take notice of the pixel variables and not necessarily dir. In a normal power system, you'd connect the APC up to all the others and the station's generator via SMES cells, but we'll do that later. For now you have a basic room that is powered and starts with enough air to breathe happily. You can put an air canister in if you think you'll consume all the oxygen, or somesuch.
'''[u]Important Note:[/u]''' There are '''nudge_x '''and '''nudge_y''' variables in the editor, as well as various z-axis variables. Don't ever change these, they're not used in SS13 and break things.
To be able to actually spawn into a room, you'll want to place spawners. You'll see these as the big red X symbols on the default map, for each role. There are also blue Xs for xeno spawn locations and the spawns for all latecomers on the arrival shuttle. Stick in a spawn_late somewhere in your room for now.
To actually play your map and be able to screw around in it as an admin, you'll have to compile it. First, make sure the file tree (on the left like the object tree, click the file tab) is open, and go to maps. Make sure the only one ticked is your own. Then click Build>Compile from the top, and wait for it to finish. This will give you a something like "tgstation.dmb" in the folder containing bot, code, config, maps, etc. Whilst here, quickly go into config, and open 'admins.txt'. Replace everything in there with:
"<yourbyondname> - Game Master", filling in your BYOND name.
This will make you an admin, which is very helpful for tinkering ingame. Now to actually boot up a server so you can run your map! Find 'Dream Daemon' (has a big green icon) in your BYOND folder, and click the 'File' dropdown at the bottom. Select your "tgstation.dmb". Select a port if you want, put security on safe, and visibility to invisible, for now. Click start to start the server, which will take a little while. You can then connect to it through BYOND by putting in either your external IP, shown in Dream Daemon, if that port is correctly forwarded. Otherwise use your internal IP, 192.168.x.x, where x is whatever. If you don't know this, ask and I can help. Once in, go to the admin tab and click 'start game'. By joining after the start, you'll spawn at the late spawn you made, and, being an admin, will be able to make stuff, delete stuff, and other handy admin things (like causing massive explosions).
From there on, you can make whatever you like, really. Copying the default map and working out how everything works isn't too hard and is fairly rewarding. You could just tweak the default one for a bit if you like. The first thing I made was a small shuttle - you can see this at the bottom. Just tweak it and add stuff and you'll work out how almost everything works fairly easily. For explanations of wiring, piping, and atmos, ask away on here. I'll add an atmos guide later on, as well as a power generation and wiring guide. If you're a good engineer in-game, it'll help a lot as a mapper.
If you've managed to get all the way to the end of this before I've added more, fine effort on your part. Have fun screwing around with stuff, and feel free to ask anything you like. I'll add more stuff here soon.


== Pre-commit checks ==
== Pre-commit checks ==
- Are all the floors with or without air, as they should be? (regular or airless)<br>
- Are all the floors with or without air, as they should be? (regular or airless)<br>
- Does the area have an APC?<br>
- Does the area have an APC?<br>
Anonymous user