ID:1585145
 
Hi I did not know who to ask, seeing as my coder buddy disappeared. But I have finally realized the byond guide does not teach you how to code it teachs you how to code IN byond. When I was reading the guide it got confusing, the way the guide is written for me it seems that the reader must know the basics/skeleton of coding. I want too be able to know the basics so I can just read a coding guide on a diffrent language and like...understand it. What I am looking for is some one to guide me in the right direction I do not know where to start! If you can please do! I am trying to learn thru ebooks. The one I am reading is Head First Programming but it seems like the wrong place to start. Basicly what I want is for you to recommend me a few ebooks or other things to help me learn the basics. Please look thru ebook3000.com and recommend something or if you can direct me to a learning website. Also recommend a couple languages I should learn first and remember I have almost no coding experiance. Please I want this to be my career any advice will help me.
But I have finally realized the byond guide does not teach you how to code it teachs you how to code IN byond.

Breaking news: The DM guide teaches you how to make games in DM. More at 11.

When I was reading the guide it got confusing, the way the guide is written for me it seems that the reader must know the basics/skeleton of coding.

It's really not. I started using it when I was 12, I had no previous experience using any game creation software or programming language. BYOND simplifies a lot of things to make development easier, and IS a good place to start. Try reading the Zilal tutorial before throwing in the towel with BYOND. The only easier things I can imagine are drag-and-drop options, but drag-and-drop options don't teach you to program, they just teach you extremely basic game design concepts. For example, you'll figure out what a hitbox is, and the importance of collision events, but you won't know how to write them until you start programming.

I want too be able to know the basics so I can just read a coding guide on a diffrent language and like...understand it.

If you MUST use something other than DM, Javascript is really simple, and there's a really easy course on it here.

As I already mentioned however, BYOND is extremely simple as it is. If you couldn't figure out DM, and you end up having a hard time with Javascript, I'm not sure what else to tell you. It doesn't get any easier than this.
Programming is hard. If you quit reading when you feel confused, and abandon that resource, you are throwing away the opportunity to get better.

Please look thru ebook3000.com and recommend something or if you can direct me to a learning website.

It's almost enough to make me go on a "kids these days" tirade.


Something I've noticed, though. The only people that complain that the guide is confusing generally can't even explain what was confusing to them. Which generally means that they weren't confused by the guide, but rather, just don't want to read.
In response to Ter13
Ter13 wrote:
Something I've noticed, though. The only people that complain that the guide is confusing generally can't even explain what was confusing to them. Which generally means that they weren't confused by the guide, but rather, just don't want to read.

I wouldn't go that far. When I was younger I actually had trouble learning from the guide because it confused me. Back when I first started learning DM, alike most of the people here who started programming for the first time with it, was young. About 11 if I recall, I was around 6th gradish. Due to that a lot of the text information that uses rather large words/non-communication friendly words, I didn't know what I was reading or what it meant. Even after re-reading it a few times. The guide had a lack of simplicity for the younger audience even when those younger people are the ones trying to learn it.

That's one major reason a lot of younger kids ended up ripping games and slightly altering them. They didn't know how to do more. When was the last time you saw a capable programmer with a rip that wasn't completely rehauled? At least this reason is the major one I started off on rips myself.

The guide lacks examples as well. It gives brief example of how to use it; but not how to use it for something you can use it for. Such as explaining what a mob is and then showing 3-4 examples of what the "mob" can be used for thus showing people the possibilities, as well as creating their own. This was another reason I personally chose the rip route, to see how things were used.

A basic suggestion/Idea I always had for the guide was A "Core" area, and a "Demo" project.

The "Core" area would document the vital keywords, procs, and functions we use in everyday programming in an overall view - as simple as possible. No large or over complicated words. No assuming people know something that isn't up to this area yet. It would give 3-5 examples of use, even if slightly altered to show what they are used for, and how to use them. It would give the syntax example. The keywords I'm talking about are "for", "if", "else", "switch", "mob", "client", "world", "var", "++", "--", "list", "proc", "verb", etc. This would give people the basic knowledge for program skeletons to help them progress and give them a stable starting point. It would also help trim down the "dev help"'s simple questions. An optional feature would be having the "mob" have an expandable index to it's most used built-in procs/functions. Such as "Login", "Logout", "Default Vars", etc.

The "Demo" project would essentially be a simple demo game. It would handle the following in extreme simplicity - no shortcuts, lots of whitespace, no one lined ifs/elses/fors. Simple. Possible concepts to include would be "Handling multiplayer", "Handling saving/loading", "Handling simple chating", "Handling naming a player", "Handling basic variables like HP and MP", "Basic movement(Tiles or pixel based - doesn't matter, whichever you think would be easier to learn first)", "Simple HUD", "Simple Images", "Simple Procs", "Simple Overlays", "Simple Verbs", etc. By simple I mean no over-complicated custom garbage handling, lists, recursion, etc. All simple, even if redundant examples - to form a working demo project as a learning station.

Possible additions could be - basic maptext, and inventories. How to hide/show on screen objects and use click/mouse over on them to make on-screen options instead of having to use stat panels. Etc. I know on-screen objects is a big thing most people have issues with at earlier stages of programming development. It took me a whole two years before I even knew how to use one when I was learning. Now I pretty much dynamically generate on-screen objects for all my games to form on-screen HUDs and get rid of stat panels.

The "Demo" project could even contain a "V2" part. Marked "Demo-Lib" with detailed instructions of how to add a library, and how to use it correctly. Not just for plug and play effects. It could also give them a brief overview on how to find, and download them on the site, and add them to your project.

Something the staff needs to remember about the guide is a lot of it doesn't assume you know other programming languages, but it uses common programming terminology. It also uses some uncommon words which can't be directly defined via inferring off the sentence. You need to realize a large majority of your community ends up on this site as early as 12 to 16. This places them between 6th and 10th grade. I'm in an English 12 class currently being a senior and our "vocab" words of "Malevolence" and "Obscure" are still rather commonly used. Thus common programming terminology and large words would shy younger users away form the guide due to having to reference a dictionary every so often to even learn the language itself. Only to reference and read more to be able to pick it up. You have to keep the introduction to the language as simple as possible. You teach new subjects in baby steps. You didn't start multiplication or division hearing the words "Algorithm", "Recursion", or "Increment".

All in all there is a lot that can be done to the "guide" aside from updating it(Lol) to improve it. Simple changes at that. Just no one bothers to make them at either the excuse it's a lost cause; it hasn't been updated and is too much work to do so; or it's fine how it is - when we all agree it isn't. Even if not in so many words.

Anyway Wrote:
BACK TO THE ORIGINAL POST

Anyway to the original post - If your trying to learn basic programming DM is a good start. It'll teach you basic functions, how syntax words, how most common keywords work, and various other things in an extremely simple way once you pick it up and know how to experiment.

If the DM Guide was a bit too complex for you i'd suggest taking a look at the guide I made a while ago(I'll link it below). It's only got two demos but goes into a lot of basic information you'd need to start and I've been told it's helped quite a few people before. It's most likely outdated to a degree by now. It's made with tile-based movement instead of pixel based and uses purely tile-based built in functions for one example of it's outdated standing. However, the majority of things gone over will help you pick up and grasp DM. Alike what I said above it's extremely documented, even explains lines that have seemingly no reason to document so you have a step by step outline of whats happening; as well as a reference filled with an explanation of what everything is in detail, and examples of ways to use them in simple code. These are not optimized, nor the most efficient. They are merely to get your feet wet and give you a basic understanding.

I'd also suggest the tutorial ET has already referenced you to.

Guide: http://www.byond.com/games/DCire/DMGuide
@D-cire: You wouldn't be a target of my comment. My point is that people who tend to complain about the guide refuse to give specific examples of what they were confused by, so there's no way to help them.

People that are genuinely having a tough time understanding things usually post a comment about the specific problem they can't wrap their head around. That's about 40% of developer help. The other 60% are looking for people to "teach them", which goes against the entire concept of programming. Programming is about critical thinking. Learning the syntax and the underlying behavior of computing technology should provide the toolset needed to begin using it to solve problems.

After you've learned the basic syntax and flow of programming, as well as the terminology, it's really just about reinforcing good habits and recognizing superior patterns to inferior ones.

If someone can't even grasp the basic terminology, and utterly refuses to read one of the millions of collected resources on the web regarding the basic concepts of software design, that's not really something that we can fix.

DM is so similar to other programming languages that it's scary. If the guide doesn't work for you, odds are the problem is reading comprehension. If reading comprehension is a problem, that's really, really bad, because video tutorials have a tendency to turn out really bad programmers.
In response to Ter13
Ter13 wrote:
@D-cire: You wouldn't be a target of my comment. My point is that people who tend to complain about the guide refuse to give specific examples of what they were confused by, so there's no way to help them.

I never particularly said it was targeted towards me, I was just speaking from my experience as one of those people who have struggled with the DM Guide before.

People that are genuinely having a tough time understanding things usually post a comment about the specific problem they can't wrap their head around. That's about 40% of developer help. The other 60% are looking for people to "teach them", which goes against the entire concept of programming. Programming is about critical thinking. Learning the syntax and the underlying behavior of computing technology should provide the toolset needed to begin using it to solve problems.

I completely agree with this. The issue is providing them the "Toolset" currently. If you gave people a simple way to learn how to fish, they wouldn't be asking for you to "get this fish for me" or "teach me how to fish". From that point on they can use their own critical thinking skills with the core knowledge they then have. Else they'll like you said, have a problem they cant wrap their head around. At that moment they would then be recommended to head to developer help.

After you've learned the basic syntax and flow of programming, as well as the terminology, it's really just about reinforcing good habits and recognizing superior patterns to inferior ones.

I agree again, but like above it's about getting the basic flow and syntax across to them.

If someone can't even grasp the basic terminology, and utterly refuses to read one of the millions of collected resources on the web regarding the basic concepts of software design, that's not really something that we can fix.

True you can't "Fix it" but you can provide a simple intro into DM along with software design as well rather than having to outsource them to another site. That's a solution without much effort required alike what I said above. Isn't it?

DM is so similar to other programming languages that it's scary. If the guide doesn't work for you, odds are the problem is reading comprehension. If reading comprehension is a problem, that's really, really bad, because video tutorials have a tendency to turn out really bad programmers.

That's a point I was trying to make with my initial comment that I couldn't quite word right. So thank you for that. Yes, it may be because of comprehension which was a major flaw I had when I first came into DM's language. However, if we turn away new programmers because of their lack of comprehension at a young age just reinforce BYOND's bad reputation and lower it's community population more? Wouldn't it be a much more logical and rational solution to just make "a" or "the" core section of the DM's guide easier to comprehend for the younger community this site has a habit to attract? Even now reading over the DM Guide myself after knowing the language and multiple others I run into a comprehensive issue here and there based off it's complex wording at times. I wouldn't ever expect a 13 year old kid to be able to fluently read and understand it to start learning. He'd rather go over to RPG Maker or GameMaker where you slightly script and drag and drop to create things. Making things just a tad easier to understand could possibly pull more attention to the site, keep people around longer, encourage more developers to sprout, decrease the amount of rips(Although the fan game population might not take a hit or even increase), increase productiveness of the site, possibly bring in more revenue via ads, sub pricing, and new membership purchases, and more. If a simplification of some text of an even outdated guide has the possibility to do all that I'd think it would be more than worth BYOND's time to do it.
However, if we turn away new programmers because of their lack of comprehension at a young age just reinforce BYOND's bad reputation and lower it's community population more?

Except BYOND wasn't initially targeted at pre-teens. in 2000-2003, it was mostly 20-somethings and 30-somethings bopping around these boards. They moved on. The age-range of users didn't seem to increase with time either.

It's a branding problem, if you ask me. Most 12-13 year olds just haven't yet developed the toolset they need to contribute anything meaningful to this community.

If anything, I think the problem that we have is not a lack of preteens.
In response to Ter13
Ter13 wrote:
However, if we turn away new programmers because of their lack of comprehension at a young age just reinforce BYOND's bad reputation and lower it's community population more?

Except BYOND wasn't initially targeted at pre-teens. in 2000-2003, it was mostly 20-somethings and 30-somethings bopping around these boards. They moved on. The age-range of users didn't seem to increase with time either.

It's a branding problem, if you ask me. Most 12-13 year olds just haven't yet developed the toolset they need to contribute anything meaningful to this community.

If anything, I think the problem that we have is not a lack of preteens.

Never said the problem was. The problem is lack of developers, correct? Whats better than obtaining developers at a young age and raising them to be able to contribute something? I'd rather had 10 pre-teens dedicated and experimenting with core knowledge than one 25 year old person programming fluently. 10 pre-teens will eventually callab. onto a project. One fluent programmer will just search for a pixel artist. Currently one of BYOND's main problem is the dying community ever since the C&D from FUNimation. I'd rather resolve that even if it means having some starting-edge content published before trying to overhaul or add things to drastically grow the community in one go.

Back then it may have been aimed at the 20-30 age group but currently it's grown into a younger crowd. BYOND needs to grow with that, or lose both. Eventually that younger crowd will be that 20-30 crowd.

I personally don't find a point behind your (seemingly?) argument against making something easier to comprehend to make more people able to do it. It's like saying "We shouldn't make working out easier, because then everyone would be toned!" or "We shouldn't make making money easier, because then everyone would be making money!". You right that the lack of preteens isn't a problem. The problem is the lack of preteens developing due to not being able to comprehend the learning source everyone tells them to go to; with almost no alternative.
First of all to Empirez thats because the younger you are the easier it is to learn a new language even a coding language also many of us think diffrent thanks for the advice and sarcasm.And to Ter, the byond guide is confusing because after chapter 6 I can read it but not understand it I'll be like "wtf did I just read?". And Head First Programming the reason I said it might now be what I want MEANS I am not sure were to start it MIGHT be the place to start thanks for ignoring the topic and sas. Thank you D-cire for actually not coming here with some form of rudeness. Now I want too ask this question again can you please refrence me to helpfull or an ebook to start me off in the right direction? I have read the things you suggested many times and they simply do not work for me! I learn best by reading a book and practicing. Im dead serious about this so if you want to look down on me go ahead just don't include it in your post.
And to Ter, the byond guide is confusing because after chapter 6 I can read it but not understand it I'll be like "wtf did I just read?"

Can you be more specific about the part that confused you?
6.1 and most of the things after it one thing I never can be able to grasp is what a return is. I am not sure if you know python but return and print are similar but I do not know the differences between them. The reason I want to learn to code from basics is because I want to be able to code in order c,#c,byond,c++. I was able to code in byond but my codes were looking like everybody elses codes. When I saw a professional code in byond his codes looked more advanced he took something simple I coded and made his own version only his version looked beautiful and i could not understand most of it even tho it did the same exact thing as my simple code. Then I decided I wanted to be professional like him andwilling to do what ever I takes.
Just a quick question: Are you here to make games or are you here simply because you wanted to learn programming?
I want to learn to program so I can make byond games. I don't want my codes to look like rubbish I want efficient codes that I know everything about I want to understand what I am coding not coding based on how I see some one else do it. Like for example imagine you know nothing about programming and you see an attack code from someone else and you are making your own most likly your gonna use most of what you saw in that persons code to make your own but yet you dont know what src.dir does or what a var is. You just know src.dir lets you hit that person. Its kind of hard to explain but you start thinking in one way and only one way. I want to learn the skeleton of coding the rules, what does what, what you can and can do, words you need to know, ect so I CAN understand what the DM guide is talking about. I figured if I can understand c and c# I would be able to read the DM guide with ease. But then I realized there are basic things I should know but don't. Basicly I want too take everything I learned and use that knowledge to make a very successful byond game to prove to myself that I can do it.
And I do not want to stop at byond I want to learn more and more until I can do all sorts of things with coding.
6.1 and most of the things after it one thing I never can be able to grasp is what a return is. I am not sure if you know python but return and print are similar but I do not know the differences between them.

Python is one of the 30+ languages I know. And for the record, return and print are in no way even close to the same thing.

print sends textual data to the parent console, while return forcibly ejects function processing and pushes a value onto the stack.

The reason I want to learn to code from basics is because I want to be able to code in order c,#c,byond,c++.

Start with one syntax and stick to it. If you have trouble with DM, trust me, C/C++ will be no picnic. C# is fairly easy, though, but you can set yourself up for failure pretty easy if you don't know what you are doing.

I was able to code in byond but my codes were looking like everybody elses codes.

Well, yeah, that's how it starts. You get better the more you work at it.

When I saw a professional code in byond his codes looked more advanced he took something simple I coded and made his own version only his version looked beautiful and i could not understand most of it even tho it did the same exact thing as my simple code.

Are you talking about SSj4JustDale, Pirion, or Falacy? Those three are really the only people you've interacted with on the forums from what I can tell. Pirion is pretty okay, JustDale, well, he's no expert, and Falacy... Falacy isn't nearly as good as he thinks. He's good at getting things done though, and being fairly self-aggrandizing, but beyond that, he's nothing to write home about.

Then I decided I wanted to be professional like him andwilling to do what ever I takes.

Time, practice, and asking questions. You've never mentioned that you don't understand what return values are in the threads I've read of yours. You simply say you can't follow the tutorials every time. Specific questions are the best kind. Pop into developer help with a specific question about BYOND, and we will do our best to set you right.
JustDale to me seems professional because he KNOWS what hes doing he can take an a kamehameha code and write it 20 diffrent ways be cause he KNOWS how coding works he can make it efficient while at the same time include things in it you will need to code later to make the kamehameha code work even better. Also your right I was learning off Falacys tutorial and feel like I dirtyed my mind now I only think one way when I am trying to code something, Falacys way lol. Also Head First Programming the ebook it was introducing return and used an example which replaced print with return I guess it mislead me. Thank you for the advice greatly appreciated now I sort of know where I am going. Btw would you happen to be an active skype user? I always have questions. Also I am going to continue reading Head First Programming from what I have heard python is a good place to start.
A basic rundown of what return is:


Functions in DM are called procs, or verbs. Verbs and Procs are essentially just a way to "name" a series of instructions. Every line in a program is at least one instruction. A series of instructions that share a line are called expressions.

A verb, or a proc, is a way to call a lot of instructions by name. Proc is short for "procedure". A procedure is an ordered sequence of instructions, hence, why procs are called procs. Verbs are, by default, displayed in BYOND in a verb panel, and are also accessible through the command inputs, which allow you type an action. Since verbs are things that clients actually USE, they are called verbs. Remember, a verb is the part of speech that describes an action. Verbs are just specialized procs. They are the same thing at a fundamental level whose differences are really only the way that they can be used.

When you call a proc by name, you are executing that procedure. All instructions result in a value being "returned". Think of it this way. When you bake a cake, you go through a series of steps, and you get a cake. So, the procedure would look like this:

proc/bakeCake()
bowl.Add(flour,sugar,baking_powder,salt,butter,egg,milk)
while(is not batter)
bowl.mix()
bowl.Pour(baking_pan)
oven.Add(baking_pan)
oven.Bake(350 degrees)
wait(50 minutes)
cake = oven.Empty()
return cake


The reason we use procedures, is because it would be inconvenient to write this code out every time you wanted a cake. Instead, we can imply that we want all of this done by defining this procedure. Instead of remembering and writing each step out, we simply:

cake = bakeCake()


The reason we have return values, is because procedures can sometimes have different results. For instance, if we want to make a simple procedure that adds up two numbers and tells us what the result is:

proc/add(a,b)
return a + b


We can do that. This procedure has two arguments, a, and b. Those arguments are essentially variables that are used to pass data into the procedure. We can use those variables to represent data, or change the parameters of how the procedure operates, thus changing the value returned.
Yeah I agree, he really is pretty good at an Kamehameha codes. There used to be a guy who was really good at Destructo Disk codes too. Like he literally had 50 different Destructo Disk codes in his code arsenal.
Finally I think I am starting to get ot you have no idea ^^ter13 post is like gold to me. So return is sort of a way of saying "give" right? Also do you have a way I can get in contact Im seriously not giving up until I can code which means ill be lost a thousand times before I can find the way on my own.
In response to EmpirezTeam
EmpirezTeam wrote:
Yeah I agree, he really is pretty good at an Kamehameha codes. There used to be a guy who was really good at Destructo Disk codes too. Like he literally had 50 different Destructo Disk codes in his code arsenal.

Lol you make me question reality. Speaking of which when I become a beast coder I'll make a program to check if were living in a simulator and call it Distructo Disk.
Page: 1 2