I taught myself to code during a long period where I didn't have regular internet access but was able to (barely) obtain the SMAUG sourcecode and a compiler. The way I did it was, start with very simple projects and work your way up. For example, assuming you can get the compiler to compile the unedited source okay (which is the first big hurdle), it should be trivial to change any single particular messages. For example, customize the text that appears when players quit (I don't know what ROM has here so I'm just randomly using that as an example). Gradually work your way up from there. My first "nontrivial" code project was setting it up so pkillers could charm eachother with "charm person".
I had two big advantages, one was that I knew BASIC from my days as a kid, it's much harder if this is your first intro to programming period. The other was that I was thoroughly familiar with a MUD which used that codebase (oftentimes to the chagrin of the poor admins thereof!)
In my early years of coding my principle was "monkey see, monkey do". Until you start doing major, surgically game altering projects, for the most part you can figure out how to do something by copying similar things. Need to add a linked list? There are dozens of linked lists already, and you can easily see how they work. Same with adding a structure. Need an event or series of events to happen periodically? Look at already existing events which happen periodically and figure out what makes them happen periodically (almost certainly they're called by a master function in update.c which runs constantly). And so on and so forth. Another big advantage of using this tactic is that after a couple years you will know the codebase inside and out, before long you won't even need to search for some of the more common things, you'll know or be able to intelligently guess which .c file or .h file to open and where to find them. And you'll start to see the "bigger picture" of how the disparate parts of the codebase work together and complement eachother.
Learn to use "grep", it is your closest friend. When you're a little more advanced, "gdb" is also most invaluable. These are assuming you're programming on a linux type shell of some kind.
Don't run right out and start your own public MUD… expect your first months of coding to be pretty sloppy, backup frequently if you do make good progress, and if not, just have fun anyway :biggrin:
I'm learning C. Bought a book, also bought a book called "Mud Programmers Guide" or something but it hasn't arrived yet. It could arrive and be totally not about ROM at all, which is what I'm interrested in.
It would make it alot easier if people wrote simple little guides like "How to add a skill to a Rom mud" or "How to add a class to a Rom mud".
I can boot and run a mud well and have stable linux skills, its forgetting out how the actual code works that is hard…
Can someone reccomend an easy to install snippet for a newb coder trying to figure out how to work with the code?
Go with something from Midboss (you can see his snippets by clicking the numbers next to his name in the Top Uploaders box on the right, under recent posts.
Given that Brinson was looking for something Rom, the Midboss collection certainly seems to be the right direction to point out.. but given that Brinson had asked for recommendations of easy snippets for newb coders, what are you saying about Midboss? :wink:
I'm saying that he writes well written and documented snippets that are easy to put in. It's not a dig against his skill as a programmer. He's made them so anyone can add them. I quite like them, and keep them coming, Midboss!
Did Conner mention pie!? …Okay, now, I'm gonna be serious, and let you guys know I don't think I'll be releasing any more code. It's not that I don't want to release it, just that I don't have code to release, and don't see myself writing any more, at least, not in the near or even distant future. I'd rather not go into any details on why… Though I may bounce back around here as an old man or something. Take care, guys.
To say the least! Midboss, you're leaving us.. as in, the entire mud community altogether?? :sad: I know you said you'd rather not go into details, but can we at least get a general overview of why? I certainly hope it wasn't anything any of us, especially myself, might have said. :sad: