Difference between revisions of "Goonstation Map Submission Guidelines"

From Space Station 13 Wiki
Jump to navigation Jump to search
m (oops)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Adapted from the [https://github.com/goonstation/goonstation-2016/blob/goonstation-2016-byond510/maps/_Map%20Submission%20Guidelines.md document of the same name] in the 2016 public release.  
See [https://hackmd.io/@ZeWaka/goonmap version hosted on HackMD]. It explains what features are required and recommended when making a map.
 
==Required==
These are fundamental map features that need to be checked to be working prior to submission.
 
If these features do not work in the [https://github.com/goonstation/goonstation-2016/tree/goonstation-2016-byond510 '''2016 release'''] then your map will be '''rejected''' and ineligible for resubmission for a full calendar month. If these features are found to not work in the latest codebase, but do work in the 2016 release, you are off the hook.
 
*Crates should be able to be ordered from cargo, and arrive where expected '''without player intervention'''. Sitting in a few-tile conveyor "airlock" is fine (see [[Cargo Bay#Destiny|Destiny]]), sitting outside because the door did not open at all is not; missing the conveyor entirely is definitely not fine.
 
*Crates should be able to be sold from cargo from the expected conveyor belt '''without player intervention'''. Having to open a few-tile conveyor "airlock" is fine (see [[Cargo Bay#Destiny|Destiny]]).
 
*'''Access levels''' (for both doors and machinery, e.g. NanoMeds, AI turrets) should be correct. Missing a small handful is acceptable, but if excess access levels are incorrect (at the coders' discretion) the map will be rejected.
 
*Wiring and pipes (disposals, mail, brig, and morgue/crematorium, if present) should be '''complete and error-free''' for the most part. Obviously, it is okay if you are missing a single wire or something.
 
*The disposals crusher blast door should be '''closed''' at round start (i.e. anything put down disposals at round start should not be crushed without someone opening the door).
 
*'''All areas''' on station should be powered. APCs should be able to be charging if the appropriate SMES are set to output.
 
*Networked equipment should be '''functional'''. Specifically: telescience teleporter, communications consoles/dishes.
 
*A tested and '''functioning engine''', either thermo-electric or singularity. Please provide a screenshot of the engine output if thermo-electric (not necessarily at hellburn levels, but enough to meet the station/ship's power needs)
 
*A '''tested and functioning''' toxins, if there is a toxins on the map.
 
*'''Working''' shuttles, for the escape shuttle, mining and visiting traders. Some maps can have different facing traders which are not present in the release. If so, please let the coders know when you are submitting your map.
 
*'''Correctly placed spawn points''' for all present jobs, late-joiners, observers and so on. Failing to place these will result in players being dropped in to 1,1, which is a Bad Thing.
 
*A '''correctly linked up''' syndicate listening post (i.e. nuclear operatives should be able to teleport there), and the airlocks should absolutely be correctly configured.
 
==Turf Replacements==
 
Goonstation now primarily uses pathed floors instead of instanced versions of <code>/turf/simulated/floor</code>. For example, <code>/turf/simulated/floor/red/corner</code> is a tile that is grey with red corners in the cardinal directions for its direction states. Because of this change, maps should be primarily made from scratch and not from copied parts of old maps. It is possible to convert old maps,
 
*All of <code>/turf/simulated/floor/grid</code> must be changed to <code>/turf/simulated/floor/circuit</code>
 
*All of <code>/turf/simulated/floor/plating/airless/catwalk</code> must be changed to <code>/turf/simulated/floor/airless/catwalk</code>
 
*All maps must '''not use''' instanced floors for the majority of their turfs.
 
'''To convert existing maps to non-instanced format follow this simple guide.'''
 
'''(RECOMMENDED)''' Get a editor other than Dream Maker.
 
#Open the advanced Find/Replace fuctionality.
#Use this non-confusing RegEx in the 'Find' section: <code>\/turf\/(un)*simulated\/floor(?:\/plating)*(\/airless)*{(?:dir = (\d{1,10})+)*[^\n]*(?:icon_state = "yellow")+(?:; dir = (\d{1,10})+)*[\W\w]*?}</code>
#Make sure you're only modifying files in the maps folder.
#Set the replacement to be this RegEx: <code>/turf/$1simulated/floor$2/yellow/side{dir = $3$4}</code>
 
Now, what's currently inputted into the RegEx is an example. What it currently does is change a tile with the "yellow" icon_state into a floor of yellow/side
 
To change something other than a tile with the "yellow" icon_state, put that icon state in the find. You'll also need to change the replacement to be the tile that you want.
 
For example, if I wanted to change the a tile with the icon_state arcade_carpet" into /turf/simulated/floor/carpet/arcade, I would use this for my find RegEx: <code>\/turf\/(un)*simulated\/floor(?:\/plating)*(\/airless)*{(?:dir = (\d{1,10})+)*[^\n]*(?:icon_state = "arcade_carpet")+(?:; dir = (\d{1,10})+)*[\W\w]*?}</code> Also, I would need to put this in my replace box: <code>/turf/$1simulated/floor$2/carpet/arcade{dir = $3$4}</code>
 
This RegEx must be done for every floor path/icon_state in floors.dm if you want to convert a map.
 
That's all to it! If you have any questions about this RegEx replace for converting maps, visit #imcoder on SynIRC or the Goonstation Discord.
 
==Recommended==
These are generally recommended map features that should probably be present in your map. If they are present, please ensure they work as intended.
*An owlery or aviary.
*Drains, the path is <code>/obj/machinery/drainage</code>. However, you would need to make a placeholder object and not submit it along with your map.
*Monkeys (including a place for Stirstir in the brig)
*Functioning buddy-paths. Including a tour guide written for Murray.

Latest revision as of 04:35, 9 December 2020

See version hosted on HackMD. It explains what features are required and recommended when making a map.