Psyentific wrote:How easy is it
Byond coding in principle is fairly easy, comparable or a bit easier than java or C, maybe even a good starting language. Like with any project in any language, the hard part is not coming up with new code, but understanding the old code. It depends a lot on what part of the codebase you are looking to work on.
what's something I can do out the gate
After you got the code downloaded, ready in dreammaker and you've test compiled it, and you don't know much byond coding yet to build anything from scratch, you can do small edits on existing stuff or copypaste something and work from there. My first thing was creating new sec uniforms from some sprites that were laying around the forums. Most likely you'll want to spend a good while just browsing through the files, see what catches your interest.
Oh and remember to give yourself admin status for testing your work.
how can I set up a local server to test my code?
You can test your code by compiling and running it in dreammaker. To test interactions between characters you can use dreamseeker. Select the compiled .dme file and press 'go'. You can join with your byond account, log out and join again as a guest.
how does BYOND work?
Honestly I'm surprised we have as little lag as we have. Byond is magic.
Is there a third-party IDE, or does everyone use dreamseeker?
I heard someone used notepad++, someone edited stuff straight from github some way. But dreammaker is the only place to compile and run as far as I know, so you can write anywhere but need to use dreammaker for that. Might aswell do it all in dreammaker.
Are there any resources I should be looking at/for, in terms of BYOND in general but also SS13 specifically?
http://www.byond.com/docs/ref/
http://www.byond.com/docs/guide/
Our codebases aren't much documented, so you'll be searching through github a lot. It is educational to look through the revision history and old pull requests to see how things are done.
How would I go about creating a new item?
Define the /obj/item/yourItem and it's variables. If there are special interactions you use attack_hand(), attackby() etc. Obviously adding the icons is important unless you want your item to be invisible. Looking at /code/game/objects/items.dm is a good place to start.
How would I edit the map, to put this new item in? Would that be what I would do, or would I be pestering Metacide/Whomever to put it in?
Open the map file in dreammaker, the tools for adding stuff should appear, and your item should be there somewhere. Then you need to learn how to use the map merger tool before making a pull request.
How would I create a new job, with its own equipment, office, and spawn location?
Jobs are at /code/game/jobs/, so you'd start from there.
We have some pretty good mapping guides for all the things you need to remember to add, pipes, alarms, APC, etc. A spawn location is just another object you'd need to add to the map, modify the variables so that it's a spawn location for the new job. You'd need to add the job to the job selection interface, make sure the ID computer works for the new access levels, stuff like that.
How can I go from nothing to coding?
Have fun and don't look back.