This is just another blog post from me asking other BYOND developers for some advice. A few weeks ago I made a post asking about how datums are usually used, and I got quite a bit of good response and tips. This time I'm asking developers that have worked with Dream Maker a lot how they would usually organize and structure their games' code.
I have started many projects on BYOND, but most of the time they seem to fall through mainly because of lack of structure and organization. I understand how to do quite a bit with DM, but things can quickly get out of hand for me with my code, so to speak. After working on a fresh DM environment for even just a few hours, it seems that systems start becoming all over the place, the actual definition for atoms are messy, and it quickly gets to the point where I don't even know where to put things.
I make extensive use of multiple code files, trying to split my code up. At the very start I have Interface.dm (where the most of my macro verbs and winset/winget related code is found), Main.dm (where I define the basis for the world and the mob/Login() and mob/Logout() procs), and Variables.dm (where I list out an extensive bunch of variables used by atoms and the world). After setting these up, I would continue to fill them out, and expand into numerous other files as I try to progress my game.
As I've said above, this system is not working out well for me at all. When I start with those three basic files, all seems fine, but it's hard for me to know how I should sort out anything more.
This is why I am asking for advice again. If you develop with Dream Maker a lot, how is your code generally structured? What should I try doing with my code to ensure it doesn't get out of hand? What programming habits have you picked up that are generally useful to you?
Thanks, as always. :)
I suppose I should learn to develop something soon, my membership runs out in 19 days now ...