Guide to Mapping
- 1 Mapping for the First Time
- 2 Mapping Guidelines
- 2.1 Turf and Structure Usage
- 2.2 Atmospherics and ZAS
- 2.3 Powernet and Equipment
- 2.4 Maintenance
- 2.5 AI Core
- 2.6 Balance
- 2.7 Miscellaneous Tips
- 3 How to get your map merged
Mapping for the First Time
Note : For Github features such as cloning, forking and pull requests, you can also refer to the Guide to GitHub.
- Go to the /vg/ Github page and fork a copy of it.
- Download the zip file or clone it using your application of choice.
- When you have your own clone of the Bleeding-Edge branch of /vg/station13, navigate to the maps folder and open the map you wish to modify, tgstation.dmm being "Box Station", the default map.
- Take a look around the map using the arrow keys or scroll bars to get a general feel for the map editor.
- At first, the map will look like a clusterfuck of bright colors with repeating text, these are areas as seen in the map editor.
- Go to "Layers" at the top-left of your screen and check "Only Show Selectable Layers". Then, uncheck "Area", you will no longer be seeing areas and can begin working.
All atoms (the base type of everything in a BYOND map) are separated into four layers and are what make up the building blocks of all SS13 maps.
- Areas - They divide up the station into distinct geographical areas, and are used for things from assigning APCs and Air Alarms to being able to fulfill objectives or delimit space areas.
- Turfs - Atoms that literally make up the floors and walls of the station and keep things such as the air in. Not to be confused with structures like grilles, tables and windows, which are objects.
- Objs - Atoms that constitute the great majority of atoms in-game. They go from pens and electromagnetic cards to cloning pods and mechs. Theoretically everything that isn't a turf, mob or area
- Mobs - All the non-player characters on the map. At run time, those also include the crew. Does contain some exceptions like facehuggers (masks, so objects) or maintenance bots (objects).
Usually, having some experience with how the map works live is going to be needed to understand what you are working with. If you are familiar with that, start taking a look around. Once you're done, it is a good idea to understand the tools you have to modify the map. At the bottom of the Object window, you will see three icons, they are the following :
- Add - This adds an item to the tile currently being worked on. Normally, adding an atom removes all over atoms of the same type on the tile, which is useful for areas and turfs and extremely bad for objects. ""CTRL + Click" allows you to add without replacing anything. This can be inverted in "Options > Click Behaviour". Finally, "ALT + Click" inverts the command and makes you remove the top-most atom, which is useful to quickly clear up long lines of wiring or piping without removing everything else.
- Fill - This behaves the same as Add, but when you drag your mouse around it will create a selection zone instead of simply adding on every tile your cursor crosses. This is useful to quickly create rooms, although it should be handled carefully to ensure you don't accidentally replace atoms you did not mean to.
- Select - Clicking on a tile selects it, you can also create selection zones. This allows you to switch tiles around, which is useful to reshape the map quickly and efficiently or move complex atom setups away while you reshape the rooms in general. "ALT + Click" is meant to disable Snap to Grid. Do note that it will change the item's step_x and step_y, and we do not want that to happen, so you will have to manually edit the item to use pixel_x and pixel_y instead.
With that in mind, you should now be capable of doing some very basic modifications. Test all of those options around until you get a hang of them. If you screw something up, you can "Undo" and "Redo" ("Ctrl+Z" and "Ctrl+Y" respectively, or under Edit). Finally, make sure to "Save" often ("CTRL+S", or under "File > Save") as the Dream Maker map editor often has issues with properly storing restore points for "Undo and "Redo" commands, and can sometimes outright crash. So save every time you have something concrete done.
Another thing you should be aware of are the right-click options. You will first go through the tile menu, where you can Undo, Redo, Cut, Copy, Paste, Delete, Select or Find and Replace any selection of tiles individually, which is useful for precise work (note that all keyboard shortcuts still apply, notably for Copy and Paste which you should know). Following that, you have a second tier right-click menu when you mouse over an individual atom with the following options :
- Make Active Object ("CTRL + SHIFT + Click"). This causes the atom to be selected as your "Active Object", which means you can look up its code or add it to the map. Very useful to quickly get access to specific items if they already are on the map, or to study an item's instances.
- Reset to Default. If the atom is an instance, it causes it to reset to the base object type. Be careful with this button, as anything from the direction of an atom to extremely specific variables like its frequency can be reset this way.
- Delete. Self-explanatory.
- Edit.... More on that below.
To understand instances and the Edit window, you will need some basic coding notions. Simply put, every item when coded creates a "base instance", for example an empty drinking glass. This is the item you will find when looking through the object tree. Then, mappers can fine-tune objects to tailor to their maps, for example by naming the drinking glass "silicate beverage utensil". While there are specific guidelines to the proper usage of instances, all you need to know is that instances are usually used for special naming, directional objects, access requirements and frequency on inter-linked objects like buttons and airlocks.
Fine-tuning atoms via instances is done by modifying its variables. To perform this fine-tuning, you can create a "New Instance" (This copies all the old's objects variables over but makes sure you don't modify the old object, and is always done on the base instance) or "Edit Instance" (This causes all objects of that type to use those variables from now on). You can check in the "Edit..." window in you are editing the instance or creating a new one, and choose instances in the Object window.
To modify variables, just modify the "Value" column's contents by double-clicking them. Do note that you will need a basic idea of what the variables do, and what they are defined as. In general however, numbers should stay numbers, strings (They will always be in "" symbols) should stay strings (They can have numbers), paths should stay paths, etc. Altered variables from the base instance are in bold. If you don't know what a variable does, don't touch it.
Basic variables that you can edit somewhat safely :
- "pixel_x" and "pixel_y". These define the object's offset from the center of the tile. Very useful to make tables and lockers look neat and organized instead of stacking everything in the center of the tile. They are also mandatory for wall-mounted objects (you might notice it if you try to select a wall-mounted object by right-clicking, they are usually offset by one tile)
- "dir". A define that gives directional objects their direction. Note that "dir" is a binary value, for example 1 is NORTH, 2 is SOUTH, 4 is EAST and 8 is WEST. The available directions depend on the objects, some objects can handle diagonal directions.
- "name" and "desc". Both are self-explanatory and are strings. You can check how the name shows in-game in the right-click menu. Note that some items have dynamic naming usually based on their area, like APCs.
- "req_acess". A define that is important for machinery crew can interact with like airlocks, which prevents a lowly Assistant from casually walking into the Secure Armory. You can find access levels in your repository in Config > access_levels.txt, and you can check existing airlocks and machinery to see how required accesses are set up.
Note that some things are impossible to do with the Map Editor alone (even some seemingly simple changes like making a glass that starts filled with sulfuric acid). This is why there's an entire code suite included with your map editor (in fact, the map editor is pretty much an appendage to the later). In that case, you can either call competent coders to the rescue to guide you through, or get your hands dirty and start coding. Many coders started up trying to perform specific map changes that are impossible in the map editor, such as the writer of this page.
You might have noticed strange colored crosses on the map (note that on the area level, this represents the "space" area, otherwise it is an object). Those are called landmarks. Red landmarks usually represent player and special object spawns. Blue landmarks are event and hostile mob spawn points. Other colors can be used for landmarks like machine output zones.
Just like any other type of contribution, you will have to follow many guidelines to contribute map changes. Some of them are mandatory, because the quality of the map matters to everyone, and others are heavily recommended unless you want another mapper to override half your changes or want to have your pull request refused for quality reasons.
Note that having an understanding of the game on a base level is not a luxury. Trying to build a little autism fort as a Station Engineer is more often than not the most basic introduction to mapping guidelines, as it will help you understand the place of all the atoms on your screen in the grand scheme of things.
Turf and Structure Usage
Before you fill your map with objects, you will need to create the rooms. While there are a variety of situations, there are usually a few universal (at least on /vg/station13) style guidelines on how to build rooms :
- Unless the room is flavored as under construction, rooms are always airtight, period.
- Reinforced walls should only be used for secure areas, otherwise regular walls should be used.
- Do not use multiple layers of walls to separate areas. If you find yourself doing that, try adding some Maintenance instead.
- Do not use regular glass for windows (it breaks way too easily). Use reinforced glass for normal window bays, and reinforced plasma glass for extremely secure areas (reinforced plasma glass is fire-proof and explosion-proof)
- Don't be shy with windows. Everyone likes open, aerated rooms. Same with windows to space.
- Floor tiles are used in all work areas, the pattern on them is a purely stylistic choice (although it is useful to delimit departments). Reinforced floors are bomb-proof and should be used in gas mixing and experimental areas. Plating is reserved for Maintenance areas (including Maintenance, obviously enough) and represents bare floor.
- Regular Tables can be deconstructed with a Wrench. Reinforced Tables need a Welding Tool. Always use Reinforced Tables for desks exposing public areas to any area with non-general access. Otherwise, use either type at your discretion, but don't mix both together.
- Lattices are used for style and linking objects outside the station hull (notably meteor shielding and E.V.A. navigation). More permanent outdoor navigation paths (notably the Solars, or stepping pads outside external airlocks) gain to use catwalks. Any outdoor wiring and piping should go on catwalks.
Window bays are built with the following method :
- Place a grille on all tiles of the window bay
- Place window panes when the grille faces a tile that isn't another grille. This will give you a grille line "surrounded" with window panes
- If the area should be a bit more secure, add a full reinforced window over the window bay.
- If you need to electrify the window bay, see APCs and Wiring.
Atmospherics and ZAS
Simulated, Airless and Unsimulated Turfs
- Simulated turfs run many expensive checks that are related to the simulation and realism aspect of Space Station 13. The main check is Atmospherics, followed by Dynamic Lighting and finally Power.
- Airless turfs are simulated by all standards and should never be confused with unsimulated turfs. The only difference with simulated turfs is that they start in a vacuum.
- Unsimulated turfs don't simulate anything. They are always fully lit, always have a standard atmosphere and are always fully powered.
You might wonder when each turf should be used. Here's a fool-proof guideline :
- Always use airless turfs on all tiles exposed to space at roundstart and in rooms you want to start in vacuum. This will prevent roundstart lag and atmospheric anomalies.
- Never use unsimulated turfs in playable areas of the map. This generally means that the only places where you should ever use them are on the Centcomm Z-Level, outside of movable shuttles and antagonist lairs.
- Whatever happens, do not ever mix simulated and unsimulated turfs. Really bad stuff can happen in that case.
As established partially in the last paragraph, atmospherics simulation is an important part of Space Station 13. In fact, it is usually viewed as a fact that this game was born as a playable atmospherics simulation. On the station, there are some basic rules you have to follow to ensure everything works properly, because non-functional station atmospherics make the Atmospheric Technicians cry and the crew rage.
You don't need to be a master of Atmospherics to handle it while mapping, but there are a few guidelines you have to follow to avoid lowering the quality of the map :
- Piping can be a bit complex, but there are a few universal standards for coloring, positioning and linking. The air distribution loop is blue and uses vents, the waste loop is red and uses scrubbers, both of those need to link back to Atmospherics and form a full, unbroken loop around the station (redundant connections are heavily recommended for multiple reasons)
- Hidden pipes show up under floor tiles and should always be used, even in Maintenance (hidden pipes show above plating). Visible pipes are usually reserved for complex atmospherics systems where the users needs to see where everything is going at a glance, for example in Atmospherics itself or for mixing rooms.
- Insulated pipes should be used for cold and hot gas loops, Heat Exchange pipes should be used for heating and cooling gas directly from the environment (burn mix or space, generally).
- Pipes never stack over different pipes going in the same direction (including bends) unless their layer is different. Pipes never cross other atmospherics devices, notably vents, scrubbers and gas mixers.
- Pipes never, ever go under walls, period. If there is only one entrance to the room an exception can be made, preferably under a regular wall, but otherwise the use of pipe layers will be expected as those are refined.
- Pipes that end abruptly (Read : Don't feed into a scrubber, vent, injector or any machinery, just ends right there) should preferably use an end-cap.
- T-Manifolds and 4-Way-Manifolds should be used whenever convenient as they make it much easier to fit piping in tight corridors and ventcrawl around.
Firelocks are used to minimize the damage caused by vacuum and fires on station, as they prevent half of the station from suddenly losing all its air from a broken window or turning into an inferno. They are positioned under all non-maintenance and non-space-access airlocks. They can be positioned around airlocks in a sandwich manner in hallways to allow maneuvering between areas with non-functional atmospherics. They are usually directed towards the area most likely to be hull-breached or lose its air (so for example, if an airlock leads into a room with a big window bay exposed to space, the firelock should be rotated to hug the room and leave the airlock itself in a "safe zone") or the biggest area (so for example a small closet airlock leading into a large room would have the firelock hugging the large room)
Any zone enclosed by firelocks or air-tight turfs outside of Maintenance needs the following atmospherics machinery :
- At least one Vent Pump.
- At least one Scrubber.
- One Air Alarm.
- One Fire Alarm (Optional for zones enclosed by firelocks, heavily recommended for all rooms).
- A direct Distribution and Waste connection.
You can change the frequency of Air Alarms, Vents and Scrubbers to create specific couples, which is useful in some cases, notably to separate mixing room equipment from the room's basic atmospheric systems. Note that otherwise, Air Alarms and Fire Alarms only work on equipment in their delimited area, and multiple Air Alarms and Fire Alarms have shared functionality.
Failure to have an Air Alarm in an area enclosed by firelocks will cause the firelocks to behave incorrectly, causing them to raise when there might still be hazards in the area. Obviously enough, failure to add Vents and Scrubbers will respectively prevent refilling the air of a room and scrubbing contaminants out of a room
Powernet and Equipment
APCs and Wiring
While power generation is a more complex topic, once the raw power comes out of Engineering, it is sent through a big loop that runs through the entire station similar to the atmospherics loops. This loop is called the Powernet, and powers all electrical equipment on station, from computers to the AI.
Power is distributed on a per-area basis. Each area has a single APC, or Area Power Control (Unit). Each simulated area needs one APC (even Maintenance areas), which will distribute power to all machinery in the area. APCs are connected to the Powernet by adding a wire knot under their tile (remember that they are wall-mounted and thus offset)
Note that large rooms might benefit from having their areas split whenever physically logical (Read : There's a visible separation inside an area, for example a small closet or two rooms separated by a window bay, for example in a cold room). The only exception to this are Maintenance areas. Note that some important areas such as the AI Core, Engineering and Telecommunications are fed by SMES cells to prevent early blackouts.
Wiring itself is fairly simple to handle. You will need an unbroken line from the engine output area (follow the wires outside of Engineering) to the APC. Knots can be considered as power output points, otherwise corners, bends and manifolds should be done with straight or curved wiring. Note that wires are omni-directional.
A few specific items need to be "hotwired" to the Powernet (also known as "the grid"). The main practical example of such being electrified grilles, used to electrify window bays to discourage break-ins. In that case, a wire knot should be placed under each individual grille, and all those knots need to be connected to the grid.
Airlocks are basically airtight doors powered by electricity. While the purpose of airlocks should be obvious, here are a few guidelines on how to use them :
- Try to respect color coding. Each airlock type has a very specific color coding used to quickly find one's way around. Don't use Medical airlocks in Security for example
- Glass airlocks can be seen through, regular airlocks can't. A baseline for using glass airlocks versus regular airlocks is wherever or not you should be able to see into the room. Unless it's a storage closet, a high-security room or a private area, the answer is most likely that you should use a glass airlock. If there already are windows into the room, you should reach the same conclusion.
- Maintenance airlocks always lead to Maintenance, period. If you want to add generic closets, use the Civilian airlock (green color coding on grey background)
- Airlocks that lead into space or shuttles should always be external airlocks, period. Cycling mechanisms aren't a bad idea, too.
- As stated previously, non-Maintenance airlocks should have a firelock under them.
- Always name your airlocks in correspondence with the room they lead to or the rooms they link. The name of the airlock is the first indication for a crewman of what room they are entering.
- Always remember to double-check access requirements. In departments, the access is usually identical to nearby airlocks outside of job-specific workplaces.
Space Station 13 is a work place, and a work place needs proper lighting to be usable. Luckily for you, lighting is very simple to handle.
- Light Tubes have a large lighting range and emit full-spectrum light (non-colored). They are usually placed in all work rooms and hallways, and both trial and error and reproduction is the easiest way to place them properly. In terms of style, they are wall-mounted and are usually placed symmetrically. Note that they consume a lot of power, so don't go overboard
- Light Bulbs have a much shorter lighting range and emit tungsten-tinted lighting (yellow-orange). They are usually used in storage, closets and Maintenance, in places that don't need to be fully lit since they are mainly used for storage and not for long term usage. If Maintenance tunnels are lit, it will also be with them, because who doesn't like dimly-lit tunnels ?
- Light Switches work on a per-area basis. Pressing a lightswitch turns all lights in the area off (and also toggles any other lightswitches in the same area). While ghosts can screw with them, they should be added to any area that isn't a hallway or Maintenance. Yes, even the absolutely massive Atmospherics area has one.
- There are other more specific lighting sources. Lamps work on magic and never turn off, and are generally added for flavor and style on desks or in the Library. Floodlights emit a lot of light and run on battery, and should be added to areas in construction and to storage area to be used as emergency lighting. More "manual" light sources like flashlights and flares are usually used at the crew's discretion.
The AI is watching you. Or at least it needs to, else it would be blind to most of what is happening on station. Any extension of the station should be packed with full camera coverage to allow the AI and Security to keep a remote, watchful eye on what is happening on station. Simply add a camera, make sure to change its camera tag to a logical name and remember to test as an AI to ensure everything is working properly.
There usually aren't cameras in Maintenance and outside of the station hull (outside of some very specific cases around secure areas). Furthermore, you can add specific camera types, usually x-ray cameras which can see through walls and motion sensors cameras that alert the AI when a mob enters their range.
While every crewman is supplied with a headset for communication, the station is also outfitted with the following equipment in the event of telecommunications outage or secure communication needs :
- Station-Bounced Intercoms are used to allow crewmen to communicate in emergency situations, for example if Telecommunications is disabled. You can set the intercom to a special frequency by changing the "frequency" variable, to allow it to communicate on secure channels (a variable needs to be changed however, check the AI intercoms). There should ideally be an intercom in every room.
- Newscasters are used to transmit important information through unsecured channels (otherwise the Communications Console would be used, a computer on the Bridge). There should ideally be one in every public area.
- Request Consoles are more complicated to set up but are used for inter-departmental communication. Set a specific "department" variable to name your request console. Note that department and specific rooms that don't need or produce material, cargo orders or R&D equipment do not need request consoles, so they are usually limited to specific departments.
Disposals Units are a special kind of equipment, using disposal pipes around the station to send litter and basically anything that can be shoved into a Disposals Bin to Cargo Disposals and then straight to Recycling. To give a room a disposal unit, add a disposal inlet, put a Disposal Bin above it, and then link it to the pre-existing Disposal Loop.
Be very careful with the link you create with the Disposal Loop. It is not omni-directional, and putting the wrong direction on a manifold will cause all upstream garbage to indiscriminately spew through your newly created disposal inlet.
Maintenance is easily one of the most important parts of the station. While hallways neatly link all departments together, Maintenance are the gritty, dimly-lit tunnels that are used to quickly navigate through the station, run wiring and piping around easily and allow crewmen to flee hazards quickly. And in terms of flavor, this is usually where antagonists get their dirty business done, and where competent crewmen can easily get anything done.
Usually, most departments have multiple Maintenance accesses, used to quickly evacuate departments and ease maintenance tasks. The access on those airlocks is usually the one of the respective rooms they are linked to. Beyond that, Maintenance is a series of large, winding and crossing tunnels. It's easy to get lost, but knowledgeable crewmen can easily go from one point of the station to another while spending minimal time inside hallways.
Maintenance shafts should usually be at least two tiles wide for navigation, and only extremely tight corridors should be a single tile wide. There's often all sorts of really basic and random junk found here. Tables, crates, firefighting closets, water tanks and fuel tanks, air tanks, heaters and conditioners. Sometimes you might even find usable loot, from spare gas masks and sunglasses to spare light kits and meson scanners.
Random spawners exist if you want to add some more spice to your map and prevent systematic rushing of specific items.
Note that Maintenance areas should always have an APC. Otherwise, everything else is up to you, even lighting. A light bulb here and there can't hurt though, just remember that Nanotrasen isn't going to waste money and energy lighting up what are supposed to be maintenance shafts for emergency situations.
Windows with sight to space are somewhat common, and the tunnels usually link to the station's solars. Wiring and piping preferably goes through here, and only redundant connections cut through the hallways. Sometimes, they might even cut through departments, in which case they usually cross through a special empty room to avoid giving anyone undue access to departments.
Do note that Maintenance is also very often used as a shortcut, so avoid blocking off areas unnecessarily. Also, spare rooms are common.
The AI Core is one of the parts of the station with the most specific design theory. A well-designed AI Core can easily augment many gamemodes, from the most obvious such as AI Malfunction all the way to your average AI subversion by an antagonist.
The AI Core is very often going to be compromised, and is as such easily the most secure room on station. The AI Core itself, and often the AI Upload should be defended with turrets, themselves linked to separate AI Turrel Control units. It is also common to add Foam Dispensers in turret-protected areas to boost the efficiency of said turrets. If the AI Core is partly exposed to space (and especially if it is isolated from the rest of the station), there should be adequate space defenses, including shocked grilles and turret points
The AI Core is the only room that can transgress the wall layering rule. A two-deep reinforced wall should surround the core itself, maybe outside of the AI Core and AI Upload connection. There should be no windows into the AI Core, and no airlocks into the AI Core (use button-activated pod doors, and put the button inside the AI Core to prevent rogue Cyborgs from remote-activating it)
There should be enough setup for a Triumvirate round (three AIs spawn in). Each AI needs a "cubicle" with a U-shape wall (reinforced or not) with windows and windoors in the front, three intercoms on the same tile as the core to allow it to communicate, and exclusive view to the AI Core's APC, turret control and secure door button (any other camera inside the AI Core shouldn't be able to see them). Finally, the AI Core needs its own powernet isolated via a fully-charged SMES cell to prevent an early power blackout (which would be fatal to the AI)
The AI Core should either be fully isolated and secured, or embedded near a secure area, usually the Bridge. Note that the later option is at the detriment of the AI's security if it is rogue or if the crew in its majority is rogue.
Usually, while mapping is mostly about stylizing a space station that players will want to play on because it's unique, good-looking and functional, at least some thought has to be put on how players will use the station. This can go either through how antagonists will try to disturb it, or how regular crewmen will use its pre-existing contents to achieve their individual goals
First of all, make sure to always put items in places where they make sense (outside of Maintenance loot), and always make it so that they are easily accessible to the workers that need it, without allowing some clod with general access to snatch them. Vendors and secure closets are space-efficient and safe ways of storing supplies, and tables make items much easier to notice and access in a pinch.
Then, consider the safety of your room and its contents to malevolent actions. Always ask yourself the following questions :
- How hard would it be to break into the room, what ways are there to break into the room, what tools would I need to break into the room, how much time would it take me ?
- What is the risk of a worker being there and seeing me. If no-one works there, what is the chance of someone transiting or checking and noticing me. Can I be heard or noticed breaking in otherwise ?
- How sensitive and precious are the items here. Can I steal a potential traitor objective in here ?
- How much damage can I do in here. How much damage can I do by just walking in, mashing a few things and running out ?
This is a fairly complex topic, but it should always be considered for gameplay purposes. A small general-access emergency closet leading into a hallway encased in reinforced walls is stupid, but the Singularity Engine easily accessible by hacking a single door or welding a regular wall from Maintenance would be equally preposterous. While no room on station is impossible to infiltrate or break into given time, equipment and luck, places containing sensitive items or machinery should require much more effort. Use electrified window bays, reinforced walls, window bays leading to main areas to allow witnesses to break-ins and other devices at your discretion.
Obviously, access requirements are an important consideration, although they are always the first line of defense against break-ins, not the last.
- While decals look really nice, don't go overboard with them. Same with signs.
- Potted plants are a cheap but effective way to give some cachet to a room without cluttering it. And they even have practical purposes.
- Always test your map in-game to make sure everything works properly.
- APC terminals are automatically generated but SMES terminals are not, you have to add them manually.
- Actually playing the game will teach you most of what you need to know for mapping, the rest is learned through reading and understanding the code, notably for instance editing.
- If you are making a new map, make it clearly distinct from Boxstation. No-one wants to play a reshuffled Boxstation, period.
- Once you're done editing everything with areas off, please check the areas before compiling and running. Forgetting to update areas causes a lot of problems.
- Don't go overboard with what is inside your Maintenance. It's an emergency maintenance shaft, not a strange uncharted area unexplored for thousands of years.
- Don't be afraid to use windoors, desks and reinforced glass panels, they often look better than just slapping walls and window bays everywhere.
- Most importantly : Everything you need to know about advanced mapping can be seen in maps that were already made, study them and learn to appreciate them. It's the same as coding.
- And finally, FUCK YOU DUNY.
How to get your map merged
You could make an absolute work of art, but it won't account for anything if no-one wants to merge it. And usually, there's only a few things you have to do to make your map ready to be merged.
DO THESE BEFORE MAKING A PR:
First of all, you will have to one time only follow the instructions in install.txt within the maptools folder. Here is a video for what to do if you're too lazy to read:
Second of all, you need to learn how to prepare and clean your map, to avoid junking the Github diff view with ten of thousand of changes.
These steps have to be performed every time you edit the map.
- Go to the maptools folder in the vgstation13 repository
- Run 1prepare_map.bat
- Once it's done, exit. Now you can make your changes
- Once your changes are done and ready to push, save and go back to that folder
- Run 2clean_map.bat
- Once it's done running, push only the map you have modified (not the backup). Congratulations, your map is up to merge standards.
If you realize halfway through that you didn't prepare the map like an idiot, you can do the following to recover from your mistake :
- Go find the map you are modifying in the online Github repository (the .dmm, not the .dm), open the Raw version, save it under All Files after having removed the extra .txt extension.
- Save your map, close Dreammaker, move the map you're currently working on outside of the repo, and move the map you just downloaded into the repository
- Run 1prepare_map.bat
- Now, override the map you downloaded with the map you were working on
- You can proceed with your changes, and then clean your map once done.
Please note that while these steps prevent most conflicts from arising in PR's, if you and someone else making a pull request for the map edit the same tile or tiles, then theirs is merged first, you will have to rebase to their version of the map, follow these steps on it, and THEN insert your changes into it. If you're confused, your best bet is to ask for help on IRC.
To test your map, make absolutely sure that the .dm file corresponding to the map you are working on is checked. Then, Compile. Once it's done compiling (without errors, hopefully), Run. After a while, your local server should start and a Dreamseeker process will open and thrust you straight into the station.
Note that for testing purposes, it is a good idea to make yourself an admin on your local server. Simply copy all text files in config_example over to config in your repository, and then edit admins.txt and add YOUR_CKEY - Host at the bottom, respecting the syntax in the file.
Before committing, make sure you respected the mapping guidelines. You will also need a screenshot of your map. If you felt confident enough to not test, a screenshot of the map editor is perfectly fine. Just maximize the editing window and take a print screen, and quickly make a .png in Paint. You can then click and drag the .png in the Github text window to upload it directly.
Happy mapping !
|General||Downloading the source code, Guide to contributing to the game, Game Resources category|
|Coding||Understanding SS13 code, SS13 for experienced programmers, Binary flags|
|Mapping||no other guides|
|Spriting||no other guides|
|Wiki||no other guides|