ID:2251696
 
Hi all. Not sure if this is the right category for this post, but here goes any way.

I'm a very inexperienced coder, I starter messing around with peoples rips when I was young (13-15 years) and now that I'm older with a better general understanding of things I'd like to take another shot at developing some small games on the dream maker. I've been reading the DM Guide, attempting to replicate the lessons it teaches me along the way, but somewhere along the lines (around chapter 4 and 5) I've just become lost in all the information. Seems I'm forgetting more then I'm taking.

I'm starting to think that perhaps developing on the dream maker is something that experienced coders can adapt to, and not everybody can come and learn. But then I read forum posts from other users who say they learnt coding by reading the DM guide, modifying peoples rips/base sources, then doing back and reading the DM guide multiple times again.

Anybody out there who can help me make sense of the DM guide? Perhaps even a base source that doesn't start out with complicated looking strings right off the bat?

Thanks,
- PoorCoding.
DM is a language. You pretty much learn it the same as any other language: by seeing it used, and using it yourself. There are tutorials, libraries, and demos all over the site.

As for using it effectively, that requires knowing what you want to use it for, and how to translate from your native language into the programming language. Try things, following the laws of the syntax, and see what happens. You can develop this skill with any programming language, so don't feel tied down to DM if there are easier alternatives. A lot of programming languages have many similarities.

The DM Guide isn't really written as a walkthrough of making a game. It's meant to introduce you to the general structural patterns of the language (what's a comment, what's indentation, what are type paths, vars, procs, control structures, etc.) and many of the built-in things that existed at the time of writing (many years ago, unfortunately). It might teach you what types, vars, and procs are, as concepts, and maybe provide some examples, but you need to use the DM Reference (hit F1 or go to "Help>Help On..." in the Dream Maker editor) to see all of the built-in types, vars, and procs.
Right, I guess I've been reading the DM guide the wrong way. Instead of trying to replicate the steps I might just read it front to back, and then try and apply what I've learnt. That might solve some of my issues of downloading other peoples resources and having no idea whats happening in the code :P.

Take an entry in the index for something that you have an understanding of, and click some of the related ones. That's usually a good way to learn since the two will always be similar in some way.
So, I pretty much learned DM by being ambitious about the projects I wanted to make. While this ended in disappointment and failure, I learned a huge deal of BYOND's language this way.

By the process of failure, trial and error, I've learned what I was doing wrong and also learned how to fix it. DM at face value doesn't reveal the various tips and tricks to creating a good BYOND game. Modifying someone else's source only molds a project that was once another programmer's point of view on the language, which means also taking in the bad with the good.

In 2009 I took a more serious attempt to using BYOND and started to think about what sorts of projects I'd like to create with it. I had an end-goal in sight, and in order to complete what I had in mind, I had to learn the processes necessary to make it work. The DM reference was (and is) my best friend when using DM. Most of my experience comes from many hours of fiddling with the language, while also being part of a group of friends who were also BYOND enthusiasts (D4RK3 54B3R, Mechanios, Gooseheaded). We've pretty much moved on to other tools, but BYOND was the very thing that brought us together in the first place.

You could try the BYOND Discord group to ask questions about little things you might not understand. Before this, there were places like Chatters that were helpful for DM programmers, and ultimately those who hung out there knew each other not unlike a small subcommunity. It's good to network with others to gain a better understanding of the environment you're working in. Also, Google is your friend.
Thanks for your reply, was expecting a generic "read guides" reply from everybody.

Been playing around with a basic game I've created through some tutorials on the forum, and had a member of the forums message me and offer his assistance through discord. Been really helpful so far, and things I would usually get stuck on and spend hours trying to figure out what I was doing are now explained in a way that allows me to replicate what I'm doing in the future.

The f1 guide still really confuses me though, I think I need some more practice with the basics before I go exploring things that look alien to me :P
The thing with the F1 guide is that it works like a dictionary: you don't just flip open a dictionary and read it (I'm not judging if you do, though). You use the F1 menu when you're reading some code in a library or on a forum post, and find a function you're not familiar with.
I've come to realise that in the past few days. F1 has saved me a few times now :P.
In response to Gooseheaded
I used to open sources, copy/paste, read it and learn.

Asked Gooseheaded to make me a dueling system for Yu-Gi-Oh in some BYOND chatroom back in 2012/13. He told me nobody would do it for me and to read the guide. Only then would he help me.

Read the DM guide up to some odd chapter, got bored. Watched youtube tutorials, tried my hand again.

Worked on a rip where I started learning a lot more. Split off and started making thousands of original and fangames/projects which were all just a big learning experience.

Then practicing, pressing F1 and reading through developer help like right now helped me code what I want.

(I did learn other languages, so I cheated some but...)

wp gooseheaded
Trial & error with a whole lotta perseverance.
So far I've been doing pretty much what you've described Rice :P. I've made about 5 mini projects so far all designing different aspects of a game... Maybe one day I can bring it all together and form a semblance of a real game lol.
In response to PoorCoding
Keep it up, honestly. It's really as Kozuma said.

Many years later I'm still just making my first, actual project. It's going to be great, so it's worthwhile.
In response to RiceINF
RiceINF wrote:
Asked Gooseheaded to make me a dueling system for Yu-Gi-Oh in some BYOND chatroom back in 2012/13. He told me nobody would do it for me and to read the guide. Only then would he help me.

That sounds like I might have been a bit of a douche to you. Ouch! I apologize if that was the case.

It's good to know that you've invested time into learning, though. :)
In response to Gooseheaded
It was some of the best advice I've received to date. Thank you very much for giving me that push.