• Hey! Guest! The 36th GMC Jam will take place between February 27th, 12:00 UTC - March 2nd, 12:00 UTC. Why not join in! Click here to find out more!

Dealing with "novices" abusing the Q&A: We need less spoonfeeding

Status
Not open for further replies.

FrostyCat

Member
Recently there has been a number of "novices" requesting so much help that I find it alarming. We all know who they are, and I am not exactly pleased about the attitudes they encourage on the GMC.
  • Not drawing one's own conclusions on anything GML-related
  • Using other people to trace one's own code without trying
  • Refusing to read the Manual in adequate detail
  • Insisting that learning involves being told the exact answer, not being led to the answer
  • Excessive reliance on video tutorials and copy-and-paste solutions
I think now is the time to take a stand against such improper learning attitudes. Looking at how similar novices have been dominating the Q&A boards recently, it's on its way to becoming a mooching environment instead of a learning environment. Why should we condone non-initiative?

Part of becoming a good developer involves independent problem-solving, and being constantly wet-nursed doesn't teach that. I'd like to see more Manual reading, introspection, tracing and unassisted work from novices, and less spoon-feeding from non-novices. And the "less spoon-feeding" part I'll start with myself.

It's time for a little tough love, and I hope the GMC has what it takes to give some.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Lol! Okay, so yeah.... I have to agree 100% with the sentiment being expressed here. In general I try to point users in the right direction without giving them the exact code they want, and I try to gauge my replies to the willingness of the user to give information too. For example, simple "can someone give me a script/code for..." will not get a reply from me other than "show us what you have done and we can build on it". Generally, the less proof that a user gives to show that they have actually tried to work on the problem the more vague my replies will be, but not out of petty maliciousness, rather it's out of a desire to see people put some effort into learning and advancing themselves. Nothing feels better than solving your own problems!

I will say though, that when replying in this way PLEASE try to be polite and explain WHY you aren't going to just paste in the code that the user requests. Also encourage the users to read the manual and make use of the resources available to help themselves. The main issue I think is just that.... a lot of people haven't learned how to help themselves resolve their own problems, so before addressing their programming issues we can help them to learn how to learn for themselves. Which is far more valuable than any code snippet.

Also note that often giving out code or scripts is the worst thing you can do. Encouraging a user to find their own solution helps them to learn, and it also helps them to find a solution that they understand and that fits their exact problem. Posting full code simply leads to more problems as they copy/paste it and then it doesn't work and they don't know why because they don't understand it, which in turn leads to further topics asking for further code to fix what they have already.

So, yeah, help people to help themselves is the best thing you can do with any novice, as long as you don't forget that you were a novice once too!!!! So keep it polite and reasonable.
 
That seems extremely difficult if not impossible to achieve. No one is forced to help anyone but at the same time, anyone has a right to reply to anyone and say what they want. Don't get me wrong, I don't disagree with what you're saying.

I do think that some general guidelines for members to follow when helping other members would be beneficial and helpful. Either way though, guidelines are just that; not rules or laws but suggestions on how one should respond.

To further discussion, what kind of guidelines would be ideal?

I feel like limiting an answer to not do all the work for someone would involve quoting the manual for functions one would need, giving formulas as psuedocode or just plain math, minor edits to code pointing out flaws. The only thing is, I only see issues when new members post a question without code, without details, and with no idea how to even start. Key phrases are "give me an example," "I learn best by example," well key word example.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
I disagree that adding guidelines would be beneficial. All we need to do is raise awareness of the issue (which this topic does) and have those people that reply most frequently to topics reply in a sensible and helpful manner without actually "spoon feeding" people. This then shows the newer members a more appropriate response and little by little things improve.

The only thing is, I only see issues when new members post a question without code, without details, and with no idea how to even start.
From my experience on the forum you can generally tell when a user really doesn't know where/how to start and when a user is just being lazy or demanding. Just use common sense?
 
I disagree that adding guidelines would be beneficial. All we need to do is raise awareness of the issue (which this topic does) and have those people that reply most frequently to topics reply in a sensible and helpful manner without actually "spoon feeding" people. This then shows the newer members a more appropriate response and little by little things improve.
Guidelines (so far):
  1. reply in a sensible and helpful manner without actually "spoon feeding" people
  2. show the newer members a more appropriate response
;)
I was actually looking more for defining spoon feeding vs not helping enough. But I don't want to ask because I feel you'll say it's common sense and everyone knows which will make discussing pointless so...
From my experience on the forum you can generally tell when a user really doesn't know where/how to start and when a user is just being lazy or demanding. Just use common sense?
I personally avoid any of those topics. Why get started with helping someone who is in over their head or being lazy/demanding or both?
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
I was actually looking more for defining spoon feeding vs not helping enough.
See, that's not easy to define... it really is a question of using your own judgement. But erring on the side of caution and asking for more information or to see what the user has already tried is a good first reply to a post if you aren't sure whether the user is looking for a simple copy/paste answer or is actually looking to learn. The important thing is to do your best to help, but realise that sometimes the best help you can give is a gentle push in the right direction rather than a full blown copy/paste code block.

Note too that IN GENERAL the people that post are ALL looking for help to learn, and we get relatively few people that simply want a quick fix and/or are lazy. It's just that we have had a few topics in the last week or so that could be answered with a simple test and the manual, and this has highlighted a minor issue with how some replies are handled. I don't think this is a major issue, and I certainly don't want to promote an elitist attitude towards novices. We've all been there, and we're all still learning. ;)
 

Mike

nobody important
GMC Elder
This is really emblematic of the internet as a whole. People are getting used to having virtually every answer out there, and if its not - no matter how simple, they feel it should be. Coders these days are getting expert at cut'n'paste of publicly available code into their own projects to make stuff work, sometimes (actually usually) without understanding any of it.
I'm just as guilty of abusing this as anyone. Back in the day, I could spend WEEKS trying to get something to work - or even just figuring something out, now if I've not done it in a couple of days, I get frustrated as hell.

The best thing to do really is point them to tutorials, rather than give them an out and out answer. I totally agree that just pasting some answer in won't teach you anything, you have to figure stuff out for yourself in order to retain that information. When I'm learning anything new, I make something. This forces me to figure stuff out, even if it's basic stuff, because that way I learn, and more importantly - remember.

There's a reason schools don't just give out the answers to everything.
 

Yal

GMC Memer
GMC Elder
I have a rule of thumb that you should never spend more effort to make a reply than whoever made the topic spent trying to solve their problem, and with that approach you don't need to feel drained by people that refuse to learn completely. With enough nudges and nothing to copypaste, they'll be forced to learn eventually by starting to look the nudges up.
 

MishMash

Member
I think one of the main things that has spawned off this kind of culture is the quick-fire "I want to make a super, over-complicated game right now". Whilst I did find that in the older GMC, similar things did happen, and this is certainly not a new phenomenon, more and more beginners seem to be instantly diving in, trying to make over-complicated games rather than taking the time to enjoy the process of learning the core principles of GameDev.

The number of times people have asked questions and i've provided some pseudo code + explanation of the general process that the person needs to be aiming for, only for them to just paste in my reply (when my reply exists as a guide, but not as actual, usable code) is crazy :p!

I'm not sure what the current state of the tutorial system is like in GM at the moment, but back in the day, we just got given a folder with a number of example games: Catch the clown, street racing, platformer demo, parallax demo etc; In a way, these were really good as it encouraged you to dive in and experiment, changing things around until you achieved some behavior you wanted to. One of the downsides of tutorials is that people can just skip forward to get to the point where they find code. Though when you have a small game that is already made, something about that made you want to break them down and understand how they work.

I'm wondering if this is simply a by-product of having a slightly more closed approach to game development in general. Back in the day, alot of people did used to just make cool games and little demo's for free, I spent hours experimenting and modifying things made by TheSnidr, Slayer64 and a bunch of other old-school users. I guess I probably should have done more on my part to "re-pay" the community for the things that helped me, as the entire process is a feedback loop: when the current devs learn and get better, they help out those who are learning to get better.

One interesting thing we used to see alot of was that novice users helped each other. I don't see this all that much anymore, but a few years ago, it used to be novice/intermediate level users who were helping the beginners, then advanced users helping the intermediate level (in general.). The awesome thing about that was that people who had just learnt something new helping others out was more beneficial for the people giving the advice. I do agree that it wasn't necessarily the highest quality of advice, and could often lead to bad teaching, though it was still a good environment for learning.

This is one of those things that is really hard to have a clear perspective on without being in the shoes of new developers.
 

Bingdom

Googledom
Just a quick note, and i think all of you already mentioned this, some people don't even bother doing a quick search (self learning) to get the answer they are looking for. They expect solid answers. There are plenty of online materials that can easily be found, to help teach you how to do such things, or at least explain. The only time i would ask questions on the forums if i have some bizarre question that would be hard to find on google, but don't get me wrong, forums can become a great source of information and it builds up with every new question! :)
 
Last edited:
T

ThompMel

Guest
As a novice, I just want to say I totally understand and agree with the views expressed about not spoon feeding information. I think this community is just so helpful its tempting to turn straight to it when you have a question....
 

jackhigh24

Member
yes i too agree with @FrostyCat , there are to many just asking direct for this to be done, one is even cheeky enough to state they cant be bothered reading the manual and their just to simple a person to understand, then when the few regs that help out just give them the code ?? which they should not, that noob say thats to complex make it simpler for me and they do ??, iv even gone on his thread and tried to raise awareness of what they were doing, he told me to keep out of his thread and not help him as the others are doing it for him, so i said then all your doing is getting other to make your game, he said no im getting them to write the code for my game, and they still kept spoon feeding him, although in the last couple of weeks it seems to have stopped for that one guy so maybe the helpers finally realized what he was doing, but surprised me how they kept spoon feeding it for so long and are still doing it now with new noobs today, so hopefully they will spot this topic a reevaluate.
 

Pingo

Member
I haven't read any of this thread, but the only times I ask questions and you should ask questions, is if they aren't answered in the manual or already asked.


For example, asking about collision functions and what each one does, when you could just simply search collision in the manual.

Now, a post I made (which sadly didn't get any answers) but when I was dealing with something as harsh as networking, I was receiving this problem


Now that's an ugly sight, but I was doing something not many other people are doing, also asking questions on commonly used extensions where the camera extension for Android wasn't working saved other people from wasting $10 on a defunct extensions.

Here are my 3 main rules for asking in the Q&A that I propose.
1. If you can't find it in the manual, ask the community.
2. If the advice you're looking for can't be found anywhere else, ask the community.
3. If your question hasn't been answered by any YouTube tutorials, forum post, or by person, ask the community
 
Here are my 3 main rules for asking in the Q&A that I propose.
1. If you can't find it in the manual, ask the community.
2. If the advice you're looking for can't be found anywhere else, ask the community.
3. If your question hasn't been answered by any YouTube tutorials, forum post, or by person, ask the community
While it is good to do research first, setting rules is a bad idea. It more comes down to effort. Some people are bad at research. A lot of questions are from new members. Complicate the forums too much and people won't even known how to ask a question or the rules will just be broken anyway.

If anything, the only thing I'd recommend to members posting questions would be list the full problem, list what is the expected outcome, post relevant code. In general a good question gives other members everything they need to give a good answer.
 
It has everything to do with popularity and accessibility Look at the gamemaker front page. "Making Games Is For Everyone". What used to be a niche market is now very popular. Everyone wants to make a flappy bird and what used to end at 'hello world' can make it all the way to google play. How many of these 'make my game for me people' are around 6 months later? I suspect not many. I don't think there is anything to curb it as long as more and more people get on forums, and also I miss the Advanced section like others had mentioned before, as it did weed out most of the simplest questions although I understand the reasons mentioned in the post concerning it.
 

renex

Member
I'm not sure what the current state of the tutorial system is like in GM at the moment, but back in the day, we just got given a folder with a number of example games: Catch the clown, street racing, platformer demo, parallax demo etc; In a way, these were really good as it encouraged you to dive in and experiment, changing things around until you achieved some behavior you wanted to. One of the downsides of tutorials is that people can just skip forward to get to the point where they find code. Though when you have a small game that is already made, something about that made you want to break them down and understand how they work.
This. A whole lot of this.

That's how I started 12 years ago.
 
A

Alessio

Guest
Beginner GML user here.
I don't fully agree with this for a number of reasons. We need less spoon-feeding, this is true but we also need more good guides and more and better explanations, though.
It's a while i'm following a bunch of tutuorials and, well, most of them are targeted only towards beginners. What if you want to learn something of a little more advanced? That's where i feel stuck.
Really, i took forever to understand how simple collision detection functions work. Also, some guides simply tells you to not use some built-in motion functions because they suck. Now i really want to know why some users tell that built-in functions suck.
I was trying to build a platformer, but it's too difficult even if i want to make something super simple. I decided to stop it as i've ordered Matt de Lucas' GML guide book. I got it because i want to learn new things, hopefully at an intermediate level, i hope it's any good.

This is more about me than about other novices but it's simply that you can't expect someone will learn if you try to "lead them to the solution" without leaving them any clue of what they should do and use. I feel sometimes a direct code paste may be needed, but the pasted code alone doens't do anything to me i'm afraid: that code needs an explanation of what function is used, how do these work (if the docs aren't enough) and why. Believe me, as soon as i got how i got how lenghtdir_x/y functions work i've learnt how to make a sin/cos based wave motion! Not every novice demands a copy/paste code only to copy and paste it on their project without understanding it at all. Some would want code example because beginners who aren't aware of GM's functions can't magically guess them by a non clear explanation. Another good thing, for me, would post alternatives to make something instead of just answering with a direct code.

Now, it's not right if a newbie comes in the forums and asks "how do u maek a paltforme gam??", and that's 90% sure that this kind of novice doesn't bother learning. But not everyone is like that and example codes are, sometimes what are actually needed. For everything you need examples to learn. You can't fix a car if you aren't shown how. You can't learn japanese if you aren't shown the symbols sound like or how are they written. I could never assemble a cabinet i buy in a furniture store if instructions aren't given to me. Give me instructions and give me the right tools and then, maybe, i can learn something. If i don't, think that you're writing to the world a guide that could work for other people, don't think that someone is just asking for being spoon-fed. If some want to be spoon-fed, that should be their problem, not yours.

I'm not here to defend the beginner's practice to keep being a beginner without trying to learn at all. But i'm not even for not giving solution and instead giving abstract answers in the vain hope someone may grasp it. No beginner will be able to grasp it if not given explanations to tools.
Unless the question is very generic, i mean, you're not here to replace the docs.
 
I don't fully agree with this for a number of reasons. We need less spoon-feeding, this is true but we also need more good guides and more and better explanations, though.
It's a while i'm following a bunch of tutuorials and, well, most of them are targeted only towards beginners.
m8y, I started programming and making small games in BASIC like twenty years ago, when I was still in elementary school, before we even had the almighty Google to give us every answer to every problem we could dream up. It has literally never been easier to learn anything, including programming. There are tons of good tutorials and resources everywhere. The problem is that programming isn't something you can learn linearly. You need to think and struggle until the pieces all fall together and make sense for you. There are a ridiculous amount of tutorials out there covering the basics of programming, in writing and video formats. Just keep working. =)

Dinosaurs like Mike Daily had to literally climb mountains to collect the stone tablets they hand-incribed all their binary codes on, making programs for ancient and storied machines such as the "See-sixty-four" and the "Zeddex Specterum." Don't even get people his age started on how it's "hard" to find resources nowadays! :p

As for the Q&A forum: I propose we add two new buttons next to the "quick reply" button. One will simply post "RTFM" in red, bolded, 128px text. The second will open a dialog that accepts text, and will autogenerate and post a "here, let me google that for you" link. Should cover about half of the Q&A responses with just those two things pretty easily. :'D
 
Last edited:
A

Argonaut14

Guest
So nobody should help anyone then if there are a stupid amount of tutorials out there? Why even bother asking for help if everything is available on the net and people should be able to struggle through and learn coding themselves? In fact, let's close down every bloody school and simply point children at the nearest PC with WiFi. (Over the top, I know.) People learn better when they are involved.

We've got two problems here on these fora;

1) The OP's post. There are some people who are bloody annoying and want everything to fall in their lap. There are people like this in virtually every aspect of life .. "Teach me how to play the guitar quickly!"...."Show me how to do cool tricks on skateboard!".. and these type of people fall by the wayside once they realise there's actually some work,dedication and struggle involved. Programming is no different and people are going to come along to this "entry level" engine and look for the most basic help.

2) On the other hand we have people who are so elitist, uber-programmer, condescending egocentric pillocks that anyone who might consider asking for help is deterred because of the manner some people use when replying. Posting for help with something basic, after exhausting other avenues is often met with replies such as..

"Why are you even using global variables? It's inefficient." ...... But why? Nobody will tell me why it's not efficient because they think it's really obvious?
"You shouldn't even be using strings for something as simple as <whatever they're attempting>".........Using strings is the only way I know how to do it because no one will explain anything to me?
"RTFM"...... I have read the manual and I just don't get it? Why won't people help me?

There is an example in this very thread of how a newcomer makes a suggestion and is immediately given the whole "You've got it easy! I used to have to bash my head on a BBC Micro before the information went in!" (Sorry RichHopelessComposer)

Remember that something is only obvious if you know the answer, and everyone had to learn how to use a spoon and stop soiling themselves at one point in their life.

There is a post by Nocturne stickied in the Programming Forum that is titled something like "It's nice to be nice." You might as well remove it. I would rather muddle through my game, being inefficient, using the wrong variables for the wrong thing, bashing code together in the hope it works knowing full well there might be a better way......Rather than post asking for help because of the attitude of some of the people who reply here. For me at least, the way some people reply is not a minor issue and stops me posting.

Now that everyone is suitably infuriated - some suggestions.

Some Absolute Basics always visible in the Tutorials section, or another section for Brand New To Coding people.(In fact, the tutorial section could be moved higher up the list of Fora.)

- At the time of writing there is THIS EASY INTRO TO GML hidden in the middle of more complex tutorials. As a tool for Novices to find their own way *possibly* it could be made easier for them to help themselves.

- The most often requested code simply slapped in a post, so lazy annoying people can literally cut and paste. IMO if anyone is going to do that then they're wasting their time in the long run anyhow but hey - if it's there let them have it and simply point them to it. If it's available they might not even register and post annoying stuff.

- I was only on the old Forum for a little while before it went South, but wasn't there a Programming and Advanced Programming subsection? I think it might work better with a Beginners Programming subsection, where any really basic stuff could be moved by a Mod. This would also mean that people who ask dumb questions are less likely to anger the people who are trying to help only to find they are being wrapped up in simple stuff. The OP could simply avoid this sub section and maybe let the fledgling people help the absolute novices. This could also have some "articles" on things that get asked a lot.

I've got my flame proof suit on, so fire away.
 

jackhigh24

Member
yes ideally some of those things would be great, but what we are talking about is those that just cant be arsed working it out for them selves, for instance we get a lot of example how do you make something that's drawn see though, we say here is a link to the manual draw set alpha, they come back and go nope that don't work it turns everything see through, meaning they just went a copy pasted from the manual without even reading the description, and some that refuse to read it at all, really most is explained in a simple fashion for the basic question we are on about, for more advanced stuff or stuff that's not explained that to well, then we tend to know about that and do put our selves out to try and help, but at the end of the day you go to remember, we are helping because we know its hard to pick things up and do so out of our own harts, some maybe a little cold but better than what you would get if we did not, as all you would have is the manual if no one put them selves out to help other any where on the net, all that code they could of found if they looked would not even be there, so you would have to bang your head on the bbc like we had to, but your giving us grief for helping admittedly some tuff love help, but better than nothing.
 
A

Argonaut14

Guest
People who can't be arsed, are going to turn up and post anyhow. I'm suggesting a way their impact on the wider community might be isolated to the beginners forum and people who are prepared to go through all that it entails helping can go into that forum. If you are the kind of person who gets hugely frustrated by lazy people wanting to cut/paste then don't go in there. I'm not giving people grief for helping, it's the way some people deliver the help that's a little acidic.

This means more work for Mods as they will spend quite some time moving basic threads to the beginners forum.
 
So nobody should help anyone then if there are a stupid amount of tutorials out there? Why even bother asking for help if everything is available on the net and people should be able to struggle through and learn coding themselves? In fact, let's close down every bloody school and simply point children at the nearest PC with WiFi. (Over the top, I know.) People learn better when they are involved.
I don't think anybody suggested that. You'll notice my two proposed buttons only covered "50%" of the posts in Q&A. =)
Specifically, these people:
1) The OP's post. There are some people who are bloody annoying and want everything to fall in their lap. There are people like this in virtually every aspect of life .. "Teach me how to play the guitar quickly!"...."Show me how to do cool tricks on skateboard!".. and these type of people fall by the wayside once they realise there's actually some work,dedication and struggle involved. Programming is no different and people are going to come along to this "entry level" engine and look for the most basic help.
Keep preaching against strawmen though, if that helps pass your time. :p

For the record, I think the Q&A section is a great resource for every level programmer on this board, if used properly. I've answered plenty of questions there - with example code when the person asking has obviously tried solving the problem themselves, and links to google or the manual when the answer to their question was literally a few keystrokes away.
 
Last edited:

ParodyKnaveBob

The Laughing Rogue
Sorry this won't be the most well-ordered. I'm trying to cram a lot of info into this post before going *poof* for about a day.

Thank you, @FrostyCat, for raising this issue in the first place. I remember we've talked before how you quite seriously want to help people to learn and achieve their goals and beyond -- but the lack of concern on the "students'" parts can just wear at a person. $:^ \

Here are my 3 main rules for asking in the Q&A that I propose.
1. If you can't find it in the manual, ask the community.
2. If the advice you're looking for can't be found anywhere else, ask the community.
3. If your question hasn't been answered by any YouTube tutorials, forum post, or by person, ask the community
While it is good to do research first, setting rules is a bad idea.
A couple different things come to mind upon reading this.

First and foremost, if a person won't do the most basic research before posting, why would any of us expect the person to read forum guidelines? $:^ [

And to be clear, most basic, I'm talking about clicking the big "Help" button on the IDE's main menu and finding the manual from there (if the person doesn't realize F1 is the decades-old convention). Years ago, I recommended all the time, read the entire manual, even the parts you don't get yet, then read it a second time, and then start doing anything; okay, Studio's manual is a wee bit bigger; I'm trying to find balance, and lately I've been wanting to start telling people, at least read "Using GameMaker" (from the Contents tab) in its entirety before starting, then probably read/skim "Advanced Use," too, for general concepts at least. You probably want to do that twice. Meanwhile, do you wonder about any particular feature? Use the Index tab! (From what I can tell, two of our favorite Marks had to add every Index keyword by hand, by conscious choice, over the last decade and a half, so hey, don't let their work go to waste! $E^ b Of course, the same could be said about the writing and tree structure, but I'm just saying, the Index tab is amazing.) Oh, you didn't find your target in the Index tab, or you want to see every mention throughout the manual just to make sure you grok it as much as possible? Use the Search tab!

TL;DR - most basic research -> F1; Contents (Using GameMaker, maybe Advanced Use while you're there); Index; Search

Back to springboarding from Pingo and jam (that sounds like some 90's era platformer..heh..), there's already a sticky on the Programming forum, and dare I say it gets skipped a lot. Nevertheless, I should point out, when the GMC first reopened (yay!), the fact that there was only one sticky note in that forum (the mentors thread didn't exist yet) and there were so few Q&A threads submitted, "It's Nice to Be Nice..." probably got a lot more traffic; at this point, I wouldn't be surprised if someone reads that title, thinks "got it, title's a summary of a long list of ways to not get troll-banned, no need to read," and just moves on. I can't help but wonder if the cute title needs to change to grab the attention more -- like the how-to-get-your-game-noticed/played thread title elsewhere. Maybe something like, "Want Great Answers? Read How to Ask Questions" -- or maybe something cringingly click-baity (which I guess works, especially for the demographics we want reading, right?) like, "7 Quick Tips How to Get Great Answers for YOUR Question" .. yeah, I like that (despite my own cringing) .. and of course behavioral guidelines can be in that post, too.

Really, though, those "quick tips" can serve as insinuated guidelines without even being guidelines per se. In fact, lemme reformat this paragraph as an ordered list just to see how it looks. (Obviously, some of my wording isn't intended for a final copy. Heh. Meh heh.)
  1. Use the manual -- Index and Search exist.
  2. Try it yourself, wow try it yourself.
  3. Take the beginning tutorials that come with GM -- they cover a bunch of different concepts in solid, applicable ways, and they're fun!
  4. Search the forum for keywords in your question.*
  5. Explain the gist of your problem, what you did/tried, what you have now, the expected outcome, what's right about the outcome, and what's wrong about the outcome. Please, please copy/paste any error GM spits out at you.
* Wow, I seriously just then realized something. Google "guesses" the meaning behind your query so well, I wonder if people even know how to search in a simple engine anymore...

I'm sure "and be nice" can be thrown in there somewhere. $;^ b

EDIT: almost forgot

build a man a fire and he'll be warm for a night; set a man on fire and he'll keep warm for the rest of his life

Gtg, regards,
Bob
 
H

Heat4Life

Guest
I somehow don't know If I too agree to this or not. It's a complicated thing because sometimes Beginners sometimes can't understand what the manual meant while finding there Questions...
 

Llama_Code

Member
I started using GameMaker during version 3, and back then the manual was basically a list of functions with a 1 line blurb on what they do. Today the manual is a comprehensive resource that not only explains the functions in detail but also give examples of how to use them and how they work.

Not to mention, I honestly have not had a problem that a simple Google search didn't return an answer for, aside from the GMC there is reddit, steam forums, Stack Overflow, YouTube and countless other places where people are giving help with GameMaker and posting tutorials.

All the information is there for someone willing to seek it.

Yes people will need help, sometimes you might misunderstand a function or need help with it implementation, or you might be just trying to do something the wrong way and need a nudge in the right direction.

Just last night I seen a post where someone blatantly asked for code for something, after that there was 19 posts from other members explaining how it could be done, some with pseudo code, some with generalizations, but none actually posted code. At the end the OP had 3 different methods explaining what he wanted. What does he do? He replies he bought an extension from the market that does it for him, but now doesent understand that and wants someome to fixed the code to work in his game. He didn't want to try, he wanted if handed to him.

The problem is making games requires solid problem solving skills above all else. How many times have you coded something imagining in your head what it will do only to find out it does something different than you expected? If you don't have the problem solving skills to figure out what you miscalculated your screwed.

If you can't try to find the solution to your problem first, and try and work it out in code on your own first before asking for help, your never going to make a game. Again I am not saying you should never need help, far from it, everyone needs help now and then, I need help to but as I said I can usually find it without ever posting a topic.

But when you DO need help that help should come with a comprehensive explanation of what you have tried, what it's supposed to do, and a sample if your code. If I have to spend 5 posts trying to pry out of you what your even trying to achieve, it's clear your not trying.

To many times people post general questions that you could not even begin to answer without several follow up questions, and then it become clear they have not even attempted.

I get it that a lot of people here will have never programed a day in their life, but at the end of the day it can be hard no matter what tools you use, and just giving them answers on a Platter is not helping them develope the skill they are going to need going forward.
 
Last edited:

Jabbers

Member
I somehow don't know If I too agree to this or not. It's a complicated thing because sometimes Beginners sometimes can't understand what the manual meant while finding there Questions...
I feel on the fence about it as well. There are some great points made here, and I agree that begging for code is bad practice most of the time, but I don't agree it is always a bad thing.

I started using GameMaker 6 when I was a child, and I knew absolutely nothing. I had no understanding of variables, data structures, programming terminology or even how to format code. I couldn't remember functions names and I didn't understand how to use the manual. If you want to use the manual effectively, you have to have some context or foundation knowledge to make sense of it. As a child, I didn't, and I didn't know what it was that I didn't know. What I was able to do was piece together little games from opensource projects and tutorials, similarly to what is mentioned above. I had a degree of creative thinking that lead to bizarre and inefficient solutions to problems that would have otherwise been simple if I learned the fundamentals.

The only way I got past this was by finding code and asking for code. When you cannot think like a programmer, and don't know how to write clean code, it is no use telling a person to go read a manual. This is especially true for younger people who might not even know how to go about learning a skill on their own. It was absolutely crucial to me that I could have people show me code to solve problems, to explain how it worked, and to explain how I could fit it into my project. This gave me the conceptual understanding that allowed me to learn the fundamentals, and eventually program on my own. I would not be proficient in GML today if it were not for all the people that gave me code and took the time to help me understand. It is quite likely I would have given up.

A response to this might be that I should have taken the time to learn the fundamentals, but I simply did not have the programmers mindset, and I couldn't have done it as a child without seeing code in context. Asking for someone to write code to solve a problem means I knew what it was meant to do, and I had a point of reference to figure out how it worked. That is valuable to the absolute beginner. I never begged for people to write games for me, or design entire inventory systems, networking systems, or make a 3D game for me (as far as I remember) and that would be an extreme that I would discourage, but for smaller problems, I don't see asking for code to be a big issue.
 

pixeltroid

Member
Recently there has been a number of "novices" requesting so much help that I find it alarming. We all know who they are, and I am not exactly pleased about the attitudes they encourage on the GMC.
  • Not drawing one's own conclusions on anything GML-related
  • Using other people to trace one's own code without trying
  • Refusing to read the Manual in adequate detail
  • Insisting that learning involves being told the exact answer, not being led to the answer
  • Excessive reliance on video tutorials and copy-and-paste solutions
I'm guilty of all of that. Heck, I've even shared project files and asked people to fix my code for me. But why am I doing that? Because I am not a programmer and until one month ago, I had never written a line of code for anything. Around 80% of the code I have has been typed along to youtube tutorials, copy pasted from my numerous "help me" threads and in at least 3 cases, coded in by others who've looked into my project files.

Why am I even using Gamemaker? Because I've always wanted to be able to make games, and I remember GM being promoted as a tool that lets people create games without knowledge of code. But you and I both know that its quite far from the truth. Simple fade transition between rooms? Code it in. Display a single line of text on screen? Code it in. Save your progress? Code it in. You simply cannot have a good working game without code. The funny thing about code is that it works, regardless of whether I understand it, and that has kept me going all this while.

Its not that I don't want to learn how to code. Its just that learning coding from scratch at this stage of my life is not feasible for me. I know what I'm creating and what my code requirements are and I'm just looking to implement it piecemeal. Honestly, I'd love to be able to download programming knowledge directly into my brain but sadly that's not possible yet, so I am going to have to remain dependant on the expertise of others.



Part of becoming a good developer involves independent problem-solving, and being constantly wet-nursed doesn't teach that. I'd like to see more Manual reading, introspection, tracing and unassisted work from novices, and less spoon-feeding from non-novices. And the "less spoon-feeding" part I'll start with myself.

If a good coder is not artistically inclined, what is he more likely to do in order to create art assets for his game?
A. Develop an interest in art and drawing + take an art course + become a certified artist
Or
B. Acquire enough art knowledge/resources/help only for the sake of creating art assets for a game.

I'm willing to bet MOST non-artistic coders would go for B, which is obviously a short-cut method - one that does not involve getting too deep into the field of art. And if that's perfectly acceptable, why then should non-coders be expected to go the harder route and struggle with code, i.e., something they know almost nothing about?

Here's the thing: non-artists can copy/download existing tiles/sprites and customise it later; non-musicians can copy/download sound and music and customise it later. So why can't non-coders copy paste existing code and customise it? My point is that game development is not just coding (though its the most important). Rather it requires talent in many departments. Its not realistic to expect game developers, especially newbies to be good at everything.

Non-artists/non-musicians rely on the expertise of others. And non-coders are no different.
 
Last edited:

Yal

GMC Memer
GMC Elder
Here's the thing: non-artists can download existing tiles/sprites and customise it later; non-musicians can download sound and music and customise it later. So why can't non-coders copy paste existing code and customise it?
I'd say there is a reason... code is dynamic, audio and graphics are static. The fact that code can do stuff makes it a lot harder to handle, especially given how GM is based around changing states such as variables. When it's copied and pasted nilly-willy, it's easy to do mistakes like not copying important parts that were significant despite being small, create conflicts over common names, or fail to make sure assumptions necessary for the code's function are met. Contrast editing an image - not copying the top of a sprite when copypasting can look a little odd when someone's hat is cut off, but it still lets you draw it. Changing the colors of a detail does not affect the rest of the sprite, and forgetting to make sure transparency is set correctly or stabilizing the image_speed will result in artifacts but not fundamentally stop the sprite from drawing.
 

Mike

nobody important
GMC Elder
I haven't read any of this thread, but the only times I ask questions and you should ask questions, is if they aren't answered in the manual or already asked.
And this is the problems with new users in a nutshell - and not just beginners. :p

Dinosaurs like Mike Daily had to literally climb mountains to collect the stone tablets they hand-incribed all their binary codes on, making programs for ancient and storied machines such as the "See-sixty-four" and the "Zeddex Specterum." Don't even get people his age started on how it's "hard" to find resources nowadays! :p
I was about to get really sad at this... then noticed you were talking about Mike Daily, not me... Mike Dailly. Phew. Lucky escape! I wouldn't want to be THAT old sod!
 

Llama_Code

Member
I'm guilty of all of that. Heck, I've even shared project files... snip
If you want to jump around the web and willy nilly patchwork code together, and it works for your purposes, then that's up to you.

Having people take and look at your project and look at it to fix suggests you have done something yourself and it just doesn't work. Now, while that's most likely because you have patchworked code together you don't understand you have still tried something at least.

More at issue are the people that don't even try. They just make a generic post asking a generic question and when you try and point them in the direction they can't be bothered. They just want you to post code and move on. Where as if you point them to a function in the manual, they go back and try and just can't get it, you know they tried, and they have learned something in the process, and once they post their attempt here and someone helps them correct it they will now know next time why it didn't work.

While your method isn't necessarily the best at least you are doing something yourself, and honestly if you asked me to fix your project I wouldn't know you haphazardly pasted it together from copied code and examples unless you told me.

You have also admitted you just want to get your project done and don't care to learn... I would assume a lot of the people here at least aspire to make multiple games, in that case they need to learn. The hobby is a lot more fun when You're not constantly struggling with simple concepts.

It's not people asking for help that is an issue, it people asking others to do things for them with an apparent lack of willingness to try themselves or help themselves.
 
Last edited:

jackhigh24

Member
And this is the problems with new users in a nutshell - and not just beginners. :p JH24 cracked that nut shell right there mike :)


I was about to get really sad at this... then noticed you were talking about Mike Daily, not me... Mike Dailly. Phew. Lucky escape! I wouldn't want to be THAT old sod!
and dont worry mike your not that i old, look here's a photo of me hiding the stone tablets under the foundations of yoyo towers 35 years ago
river tay dundee 1981.jpg
thats the river tay in dundee right about where yoyo towers is now in 1981, i was 11 then and had been ripped off with my game called triros, it was tetris before tetris was invented, then i went onto helping with jetset willy and debugging chuckie egg, then after only getting 20 quid for helping those to games i got out of the games market until 4 years ago, so started from scratch again, yes its been hard as im so old now and everything has changed, although the logic and how a game code flows is still pretty much the same.

and pixelbomb reading code from scratch at my stage of life is poor way to look at it, i bet im older and i can do it, iv even learnt to write music and do my own art in the last 2 years as well and im getting better at everything everyday for the effort i put in.
 
A

Alessio

Guest
@Argonaut14 Wow that post was passionate...

But i think point 2 is right. Not mentioning names, time ago i asked if there was an efficent way to implement a system for something and all i got was "use my system i've made time ago" plus a contradictory apology on why you must not use pre-built engines because because it's time consuming an pointless. The same person wrote me that i won't learn GML in ten years. Thanks for the encouragment. I've not got any efficent examples, though, like it happened with Tom Francis here. I just got elitist replies that would make me want move to another engine, sorry if i write that. Tom Francis is quite successful because when he asked he got code examples, had explanations and he tried to learn from them. And he did, as you can see. Why not mention Derek Yu, who used a pre-built engine to make Spelunky? Now look where he is (at his position as a game developer, i mean). Therefore, i'd like to ask these apologists to kill this harmful attitude down. This hurts the community and i've read people outide badmouthing it because of these kind of elitists. Sorry for this, i don't really try to look mean but, really...

I'd like to point something, then: not everyone learns the same way. Some people would want just an abstract explanation and can understand anyway. Others don't. Because people are different each other. You cant' expect everyone learning things like coding the same way you want. For example, if someone gave me a graphical representation of some functions you can be 80% sure i am gonna understand the criteria behind that! Same for math! I'll still mention the way i learnt wave motion (not water ripples) using lengthdir_x/y. First i looked at something like this. Then i tried to understand this, with the graphical representation (although is confusing with one single image). Aftermath, i tested if i could do wave motion with these tools and it worked like a bliss!!! I was so happy but, probably, the typical elitist programmer could come to me and say "meeeeh you did it too easy why don't try the hard path now?". Well, i'm a person who only cares on the result. And if the result is good and fully functional, why should i care? If i learnt many more GML functions the same way i really could learn GML quicker than ever. but it's hard to search for what you need because i don't believe reading the entire long manual is a way that works for everyone. The docs are a reference manual, not a step-by-step one that beginner would be more comfortable with.

Teaching is hard. Not only because you need to find a functional way to make people understand what you are transmitting them but also because it's because, as i've written before, people don't learn it the same way. And, again, if some people don't want to learn, that shouldn't be your problem. This is a case where not everything is white or black. Indeed, everyone's been a novice. But someone forgets it and acts like they knew it all from the beginning. And this is another harmful attitude.
I also totally disagree with people who say "i did all by myself, do that too like me". Think if this was true for the animation industry: everyone would be forced to learn everything by themselves and the animation industry would fall into despair. We need people doing things if we want to keep an industry stable. Only because you made it the hard way doesn't mean people should do it as well. Otherwise, means of production wouldn't exist. That's why there are tutorials. That's why there are schools. And that's why there are examples. Without examples, people don't learn much. If you don't see it, you don't know it exist. Think to aliens, for example.

And for last thing, if GameMaker is meant to be a tool for makings games easily, for both programmers and non-programmers, GML shouldn't be treated as a replacement of C++ or pure programming languages in the first place. Since GML is so flexible, programmers may find a friendly field since they can use their knowledge to make interesting things quickly but non-programmers can learn making certain tasks in a programming fashion without actually diving in something that you should be learning in a computer science class instead. GML's original purpose was to help people learn basics of game-development with an easy programming interface and to make game engine much more flexible than with the drag & drop system, not to replace actual programming experience and turn you into a super-duper coder! If some users want to use GML to make the same things you would want to do with C++ good for them but should be influencing other people into doing the same.
From my point of view, GML is a flexible scripting tool i can make nice and functional games with. If i want to learn a proper all-purpose programming language i'll take computer science classes instead. But why would if if my purpose is to make a game with GameMaker and am not interested with programming languages in general? Let's not forget GameMaker's original purpose, which is to make games, whether they're commercial, opensource or prototypes of something more advanced. Not to replace a computer science class.

What i actually mean is that everyone should be free to use GML in the way they like the most and nobody should influence them into doing how others like. Unless coding is inefficent and has to be fixed, if your engine works fine for you, why should you change it? And, for the very last thing, telling someone to change software because they have problems is maybe the worst kind of advice you can give. Help them, don't tell them to screw off.

TL: DR:
@Argonaut14's point number 2 is actually realistic, sometimes. Elitism is a toxic behavior everywhere and peer pressure is a social problem i've suffered of a lot of times. Not everyone learns the same way as you did and if you know a concept, explaining that in a detailed way and even in a graphical way doesn't hurt because it can actually can make other people understand a concept properly. A method that should be adopted in math lessons in schools, anwyay. Knowledge sharing is important not only because you help people but also because you help a hobby, activity or even an industry alive. Telling others to build their own tools instead of having them avaiable because you did it is wrong. I don't want to live in a sandy igloo.
We shouldn't be forgetting GameMaker's original purpose. GameMaker's name is self-explanatory: is a tool which you can make a game with. GML is a scripting language full of built-in features that is meant to make games in a much more quick way but it's not meant to replace actual all-purpose pure programming languages like C++ and never should. Everyone should free to use their own programming style if that works well. Because it's clear that non-programmers are less experienced than professionals but i thought that Game Maker's purpose was to introduce non-programmers to game development.
 

ParodyKnaveBob

The Laughing Rogue
While waiting for an appointment any minute now, lemme reply to a bunch of similar concerns which I think Heat4Life wrapped up pretty succinctly:
I somehow don't know If I too agree to this or not. It's a complicated thing because sometimes Beginners sometimes can't understand what the manual meant while finding there Questions...
I'll point back to my own post for the answer. First, manual. Not getting anywhere? Okay, try it yourself, just experiment, just see what's going on. Still not working? Go down the line, including searching the forum for anyone else having similar issue. Need to ask your question now? Cool. Tell the gist of the problem, tell what you did/tried, etc. In this case, H4L's exact concern, you can describe how you found such-and-such general concept and/or specific function, how you looked it up in the manual, but how you didn't understand what was going on in the manual; you tried plugging in an example somewhere (like in a blank project) just to see what it does and to be able to tinker with it, but it didn't seem to do anything or it gave such-and-such (copy/paste it!) error; etc. etc.

It doesn't sound like a single person in this thread is faulting anyone for not understanding stuff nor simply for asking questions. What gets frustrating is when Q&A gets filled with vast empty spaces of I'm-not-even-trying instead of mutually helpful content. It'd be the same if someone visited an art forum detailing the problem one is having understanding orthographic projection with even one vanishing point, let alone multiple, vs. "i wanna draw spiderman swinging thru a city can anyone give me examples I can trace?"

--

Fwiw, (and I write this partly as a suggestion for anyone else,) many times I answer a question with a quote from the manual and the exact process I used to get that quote, that page, that topic -- often via keywords that the questioner asked in the OP -- in order to implicitly teach and encourage the person to try that oneself next time. $:^ J Sometimes, it works very nicely. Sometimes, I wonder about people..

Regards again,
Bob
 
What gets frustrating is when Q&A gets filled with vast empty spaces of I'm-not-even-trying instead of mutually helpful content. It'd be the same if someone visited an art forum detailing the problem one is having understanding orthographic projection with even one vanishing point, let alone multiple, vs. "i wanna draw spiderman swinging thru a city can anyone give me examples I can trace?"
This is right on the money. I have seen so many posts along the lines of "What would happen if I put <insert code snippet or command here> in my code?". To which most people will reply with "Try it and see.".

It is these instances where it is blatantly clear that the person asking the question hasn't even bothered trying it before and wants everyone to explain what will happen in their game, even when nothing else has been provided.

I think the majority of replies from the community are very accommodating when questions are asked, although there are a few who can come across very blunt (whether English is not their main language may just make the post seem that way, I'm not sure as I have found that on some other non-GM forums where the same occurs) and some people may read these as being derogatory or overly aggressive when being told to "Do it yourself" (that's just a paraphrase, not saying anyone has actually posted that ;) ).

First, manual. Not getting anywhere? Okay, try it yourself, just experiment, just see what's going on. Still not working? Go down the line, including searching the forum for anyone else having similar issue. Need to ask your question now? Cool. Tell the gist of the problem, tell what you did/tried, etc. In this case, H4L's exact concern, you can describe how you found such-and-such general concept and/or specific function, how you looked it up in the manual, but how you didn't understand what was going on in the manual; you tried plugging in an example somewhere (like in a blank project) just to see what it does and to be able to tinker with it, but it didn't seem to do anything or it gave such-and-such (copy/paste it!) error; etc. etc.
This is exactly what needs to be realised by all people asking questions. You need to prove that you have done your research; you have actually tried things; you have not found any reference to the same problem elsewhere. If all of that is the case, you will find almost 100% of the responses a lot more helpful. Hell, I have run through tutorials on YouTube, done Google searches, read the manual, done trial-and-error in dummy projects, and have been able to find about 90% of the answers that I have needed. I work through tutorials even if they have absolutely nothing to do with the type of game I am making as it is amazing how many interesting things you can find that you may need later on. But this might just be me as I have been writing business software for over 25 years and tend to need to absorb a lot of different programming languages - that's right I'm almost as old as @Mike :eek:
 

Jabbers

Member
I'll point back to my own post for the answer. First, manual. Not getting anywhere? Okay, try it yourself, just experiment, just see what's going on. Still not working? Go down the line, including searching the forum for anyone else having similar issue. Need to ask your question now? Cool. Tell the gist of the problem, tell what you did/tried, etc. In this case, H4L's exact concern, you can describe how you found such-and-such general concept and/or specific function, how you looked it up in the manual, but how you didn't understand what was going on in the manual; you tried plugging in an example somewhere (like in a blank project) just to see what it does and to be able to tinker with it, but it didn't seem to do anything or it gave such-and-such (copy/paste it!) error; etc. etc.
This still assumes the person has the programmers mind and a conceptual understanding, and that they know how to experiment and how to technically explain their problem.

Providing a code example is still very valuable, and perhaps even necessary, when you are teaching a person to code from scratch. Teachers do it in online courses and university courses to convey ideas, so why should we write it off completely?

There is a big difference between X begging that someone make him a weapon system so his player shoots bullets, and X being given code that demonstrates how a bullet might be scripted so he can retrofit it with modification into his own game. The manual does not teach programmer thinking, if you don't have it then it's like telling a person to go look at a dictionary to learn how to write in English; you need contextual examples, and indeed, the dictionary provides that.
 
There is a big difference between X begging that someone make him a weapon system so his player shoots bullets, and X being given code that demonstrates how a bullet might be scripted so he can retrofit it with modification into his own game. The manual does not teach programmer thinking, if you don't have it then it's like telling a person to go look at a dictionary to learn how to write in English; you need contextual examples, and indeed, the dictionary provides that.
GameMaker comes with like thirty built-in tutorials that will teach you everything you need to know about basic programming practices, as long as you're paying attention, so I'm not sure why we need to hand out code to people, here. Like I said earlier, if people have gone through all the tutorials themselves, skimmed through the manual, and searched for their problem on Google and Youtube, they deserve all the help we can give them. The problem is that most of the people asking questions on this forum are doing very little or absolutely no work for themselves before coming here and asking for help. Part of being a programming is being able to solve problems for yourself, with the resources already available to you.

Again, I started using GM when I was around 12, after messing around with BASIC a bit. I went through the tutorials and was making my own games by studying and modifying the tutorial code my first day. It's not as hard as everyone here is making it out to be. People just don't want to sit down and slog through the work required to get the basics of programming down. Myself included, sometimes. I've asked a few questions over the years that got "uh, it's the second result on Google" sorts of answers. I don't fault those people for being a little testy with me, though. Threads like that waste everybody's time, including the topic starter's.

Overall, I think this place is ridiculously forgiving toward beginners. I've seen some amazingly lazy, rude, and stupid people asking for help here; even the worst of them are usually met with twenty people genuinely trying to help them, even when they very obviously don't deserve it. I've seen people in the Q&A forums insulting and degrading people trying to give them answers, and they still don't get told to **** off, somehow. The people on this forum are incredibly patient and friendly. I don't know if I've ever seen a forum of more helpful members than this one.
 
Last edited:

Jabbers

Member
GameMaker comes with like thirty built-in tutorials that will teach you everything you need to know about basic programming practices, as long as you're paying attention
It isn't even a matter of programming practices. By 'programmers mind' I am referring to the ability to think creatively about code and realize ideas through logic and programming functions, and that takes time to pickup if you have no prior experience whatsoever. It is definitely not something that a tutorial will give you.


The problem is that most of the people asking questions on this forum are doing very little or absolutely no work for themselves before coming here and asking for help. Part of being a programming is being able to solve problems for yourself, with the resources already available to you.

Again, I started using GM when I was around 12, after messing around with BASIC a bit. I went through the tutorials and was making my own games by studying and modifying the tutorial code my first day. It's not as hard as everyone here is making it out to be. People just don't want to sit down and slog through the work required to get the basics of programming down.
I agree that people who don't want to put in the work and want everything done for them should be ignored, but I don't agree with this feeling that providing code is always a problem when helping newbies, and I haven't seen a response here that makes me believe otherwise. You might feel it isn't hard to get into GML, but you also admitted to having pre-existing experience with some degree of programming, which is exactly the opposite of the kind of person I am arguing for. Either way, what you personally found hard doesn't weigh much against any other person and their subjective experience.
 

RangerX

Member
Just discovered this thread and I wholeheartedly agree with the opening post and many opinions out of here.
I think an effort needs to be done on both sides...

- Beginners -
Would have to search more thoroughly and accept to start from the start when something is over their head. If don't know to do something in your game, you check the manual for possible answers or tutorials. You don't understand the tutorials or manual? Ask about it, as about what you don't understand in the manual. Basically, you dial back a step every time you don't understand. Even if this means to go back to the beginning and understanding what a variable is. There's not a thousand ways to learn a new language or programming language after all. Your enemy is to go like "ok I understand" and then go to the next step too fast and get lost again.

- Pros -
Would have to enquire the posters a bit more in order to really understand what is the level of understanding the poster is having. and give better explanations, more in-depth or making an effort to tune them in a shape their can grasp (per example, someone that is much more visual will probably prefer an image instead of words)

All of this is NOT EASY to pull off. Some rules could help like maybe flat out refusing to answer someone who's plainly asking for code. But this community problem we have here will not be solved by tomorrow for sure. Its gonna take much effort from everybody.
 
H

Heat4Life

Guest
When I was an 10-11 year old, I always wanted to make Video Games but All I did was just... 'copied people code' and not even understand a single one of them... I almost feel like I'm cheating on myself that time and In order to make that Dream become a reality I need to 'understand' every single thing in Game Development... and in Code too.
 
It isn't even a matter of programming practices. By 'programmers mind' I am referring to the ability to think creatively about code and realize ideas through logic and programming functions, and that takes time to pickup if you have no prior experience whatsoever. It is definitely not something that a tutorial will give you.
If one is given code, sure they can see how someone else can be creative but do they really learn how to do that themselves? Now if they were simply given the tools they need, a few hints, a shove in the right direction, but no more, now you really help them because they have to use their own creative thoughts to come up with an answer. Practice is everything. If you copy/paste, you don't get those benefits.

Now without the basics, how are you going to be able to think logically? It's like writing a paper using a language that you don't know. Sure you could go back to the dictionary constantly looking up words and meaning but you have to know basics before you can be creative.
 

Jabbers

Member
If one is given code, sure they can see how someone else can be creative but do they really learn how to do that themselves? Now if they were simply given the tools they need, a few hints, a shove in the right direction, but no more, now you really help them because they have to use their own creative thoughts to come up with an answer. Practice is everything. If you copy/paste, you don't get those benefits.

Now without the basics, how are you going to be able to think logically? It's like writing a paper using a language that you don't know. Sure you could go back to the dictionary constantly looking up words and meaning but you have to know basics before you can be creative.
That is a good point, but I think seeing code and knowing what it is meant to solve is crucial in building conceptual understanding. It isn't fair to say every instance of providing code only leads to a copy+paste scenario. As above, it is perfectly possible to provide code in such a way that the user must modify it to incorporate it into a project, and hopefully learn what it is doing in the process. Sticking in placeholders and providing partial functionality is probably the way to do it.

After reading RangerX's post, it makes me think that if people are going to stop offering code to newbies, there better be a good alternative in place. If you want to argue that we need to encourage a better learning approach, then we need to really think about what that approach is, because "read the manual" and "ask technical questions" is not a total solution for all cases and I feel some of you guys are being wayyyy too simplistic about it.
 

RangerX

Member
After reading RangerX's post, it makes me think that if people are going to stop offering code to newbies, there better be a good alternative in place. If you want to argue that we need to encourage a better learning approach, then we need to really think about what that approach is, because "read the manual" and "ask technical questions" is not a total solution for all cases and I feel some of you guys are being wayyyy too simplistic about it.
That's why I said the solution is having 2 sides:
- Beginners need to search more and take their time to learn step by step from the true beginning.
- Pros need to take more time with beginners and explain better.

And to add to my own comments, I even think we should need more tutorial around here about simple things. Things that even the GameMaker tutorials won't give.

- Basic circuity
- Logic thinking and how machines are actually made
- What a "programming language" truly is
- How to isolate a problem. Problem solving
- Learning to "think/read" code like a machine will read it

If you nourish the ground and make it much fertile, the crops that are going to grow from it will be healthier/better than crops grown from neglected land.
 
Last edited:

TDSrock

Member
Man lots of good things being pointed out in this thread.

I'm going to just jump in with my two cents, but I would like to preface that I did not read everyone's post into detail, I only just stumbled on this thread about 8 minutes ago.

I've actually been frustrated with some of the people helping in the programming section who have been providing the "plug n play" answers. I think that is the larger problem then the "novice" coming in asking the questions. I personally tend to avoid providing code, and when I do I try to bring it in as an example so the "novice" has to read the example and understand the code to a certain degree. The real difficulty I perceive are the starting messages. Yes from the initial post you can tell quite a bit, but more often then not you see people coming in who you have no realistic idea on what they already know. Often times I have to explain how arrays work. Sometimes I need to explain how if statements work. Basic stuff really. But there are also the people who are working on some complicated stuff that either I'll simply skip or I chose to respond to, dependent on what the post focuses on.

In all reality: we will see users asking silly stuff because they may not have enough of a grasp of the language(gml, programming or just English). We will see people asking for "plug n play" solution. We will still see the users who are looking for help.
It's going to be up to us to choose on a case by case basis how we respond. If we can come together (the people who commonly help out in the programming section) and generate a similar basic consensus on how to treat things. We might be able to get some of the behavior we want to go down.

If we see someone who is providing help in a manner that doesn't follow this basic consensus, then maybe link them to this discussion so that the that person can hand in their two cents on the matter.


Just want to add this last bit. "plug n play" solutions aren't always a bad thing. Some users will look into the solution and try to understand it. I've been helping a user over the past month or so in private via Skype, of which the start was founded on these forums. I now sometimes give this person plug n play solutions as I know the user will take the time to actually understand how it works and the user asks inquisitive questions regarding the solution.


The dangers here. Something that I do find scary that might come out of this. Pitchfork mobs. If we want to tackle this as a community. We must remember to always stay on the positive end of the spectrum even when trying to reprimand people regarding their posts.
Just as an example, and I am sure most of you will understand the example.
Some users who are very well versed in programming on this forum sometimes make posts that are near to aggressive in nature. Some would say "savage". Now Sure if what you are saying is true thats great, But lets try to not have our responses hold an air of hostility in them where it is by no means invoked. I see it every-now-and-then and it might just be me perceiving the post differently. But if one person can perceive it in that manner, what is stopping another?


Geez I had more to write about this then I initially thought. My post is probably a mess but too tired to read through it and fix issues.
 

ParodyKnaveBob

The Laughing Rogue
@Jabbers, after I wrote this...
I'll point back to my own post for the answer. First, manual. Not getting anywhere? Okay, try it yourself, just experiment, just see what's going on. Still not working? Go down the line, including searching the forum for anyone else having similar issue. Need to ask your question now? Cool. Tell the gist of the problem, tell what you did/tried, etc. In this case, H4L's exact concern, you can describe how you found such-and-such general concept and/or specific function, how you looked it up in the manual, but how you didn't understand what was going on in the manual; you tried plugging in an example somewhere (like in a blank project) just to see what it does and to be able to tinker with it, but it didn't seem to do anything or it gave such-and-such (copy/paste it!) error; etc. etc.
You then responded...
This still assumes the person has the programmers mind and a conceptual understanding, and that they know how to experiment and how to technically explain their problem.

Providing a code example is still very valuable, and perhaps even necessary, when you are teaching a person to code from scratch. Teachers do it in online courses and university courses to convey ideas, so why should we write it off completely?
I must say, I was surprised when I noticed a person or two in the thread talking like no code should ever be given because I wholeheartedly agree with you -- and I'm not the only one:
GameMaker comes with like thirty built-in tutorials that will teach you everything you need to know about basic programming practices, as long as you're paying attention, so I'm not sure why we need to hand out code to people, here. Like I said earlier, if people have gone through all the tutorials themselves, skimmed through the manual, and searched for their problem on Google and Youtube, they deserve all the help we can give them.
Since I didn't make explicit the expected end result of my example of someone trying to learn, not getting it, and asking for help in such a way to get help, I will now to remove all doubt: "Oh man, you've tried all that and you're still at a hurdle? Sorry to hear. Glad you're pushing on, though. [then either] Have you looked at this particular official tutorial? It hits all kinds of areas, but it also shows exactly what you're looking for. [or perhaps] This is how xyz works, this is probably how/why you misunderstood, and therefore, this is why your attempt broke. [or perhaps a slower walk-through]" When someone demonstrates effort, it not only makes others want to help that much more, but it gives the helpers more information to be able to help on the level the person needs.

If you want drag'n'drop help, great, let's go! Read the manual, take the tutorials, look up your particular events/actions in the manual if needed (still just in the basic "Using GameMaker"), try what it does, search the forum, ask and explain what you've done so far. Not good at explaining? That's fine, too. How many people will nudge a person along when the person demonstrates the person's at the basic level and not getting stuff -- but wanting to get stuff. $:^ ]

I really hate repeating myself -- programmer mentality there $;^ } lol -- but it seems to me nearly any concern can still be answered by what I said 2-3 posts ago. 1. Try to get it in the suggested manner. 2. When that fails, tell the community the recommended info, and people will be tripping over each other to help you

--

Fwiw, I'm trying to understand the new mentality/perspective people bring nowadays (as opposed to just brushing it off entirely) and appreciate this thread giving voice to such. Some things are fine and can be accommodated; some things aren't and really should be fixed, even if that means the community helps fix it.

Why "the modern world" is so foreign for me:
  1. I learned "Pre-BASIC" (on my beloved childhood VTech PreComputer 1000) from nothing but a book and example programs I could tinker with. Internet? [insert laughing meme of your choice] It was years before I understood arrays. (It's not like anyone around understood to help.) I didn't understand "the point" of GOSUB when writing in-line was simpler and GOTO was so much more direct. $E^ } (For those unfamiliar, just consider GOSUB a way to modularize your code with functions or big chunks of data to read.) But, I got the basics.
  2. Some 10+ years later, I got much more useful and fun stuff done in TI-BASIC on my TI-82. $:^ } However, again, only a manual -- and I didn't even have computer access to try programming in Assembly to build closed-source speedy games. (Due to some thieving going on the school, I inserted some obfuscated indentifying marks at the time. Ha.)
  3. Even 5+ years after that, when Game Maker (space in name on purpose heh) got created and I started really getting into it, I did not have any reliable access to the Internet to ask for help on any such thing (nor any practice in asking, thus I probably wouldn't have anyway). I had a manual and Prof. Overmars' official tutorials.
But here's what "the modern world" might still be able to get out of this: Tutorials and tinkering are invaluable! Will you "get" everything? Probably not! Can you get help now on the parts you don't get instead of waiting years on end to understand something as absolutely simple (in application) as a 1D array? Sure!

Can people answering the questions do a better job? Hoo boy, my time's almost up again. I certainly wrote more than intended. Look, two quick things on people answering since I've mostly talked about asking.
  1. If the old-hats can nudge where needed and deliver meaty chunks of code where needed instead of taking shortcuts and spoon-feeding or inversely acting like everyone's on the same level (don't use {score=zombies/2} because {o_ctrl_main.myscore=~~zombies>>1} clearly!), then yes, great.
  2. Don't forget that some new-to-intermediate-hats will wind up saying "here's the entire answer yaay!!" because they saw the question as a challenge, and they worked it out (perhaps for the first time just then), and they're glad and totally want to help someone else with what they found to be a big deal not long ago (or currently!) themselves ("advanced to them").

--

Btw, as I mull it over, my beginner recommendation is mentally becoming, "Read the entirety of 'Using GameMaker' twice, and once you've finished the first most basic tutorial or two and/or once you feel comfortable and want to move on, read the entirety of 'Advanced Use' (probably also twice..) and 'Reference'->'GML Language Overview' (almost surely twice..).")

--

Super gtg,
Bob $:^ J
 

FrostyCat

Member
If it's genuinely advanced coding material that these novices don't get, I can still understand that and this topic wouldn't be here. What I can't stand is the inability and unwillingness to exercise common sense and do basic tasks requiring little to no prior technical background.

You don't need any prior programming background to:
  • Count and match brackets, braces and quotes
  • Do basic arithmetic on a coordinate grid
  • Identify typos in non-technical vocabulary
  • Evaluate basic arithmetic and logical expressions
  • Read and follow introductory-level written instructions
  • Follow and see the outcome of a short series of basic actions
Being a coder means you will do all of the above with greater accuracy, speed and insight, but any average person can do it to a usable extent. Needing to be spoon-fed with any of the above isn't called being new, it's called being functionally illiterate.

Why should we allow illiteracy to be excused as "learning styles", or intentional negligence as "part of starting out"?
 

Docker

Member
I think it comes down to the work ethic of the person asking, I normally spend hours trying to solve a single problem before I finally ask for help and even then I'd prefer to be pointed in the right direction that allows me to either figure it out or point me to the resource that'll allow me to learn it.

I also do the same thing when I watch tutorials, I use the concept they are implementing and try and come up with my own logical way of doing it.

But on the other hand not everyone is happy to sit in front of a computer for 5-10 hours trying to solve problems as small as a player object moving 2 pixels too far and I don't have bad feelings towards those people, I'd just try and guide them towards their answer without a copy and paste job.
 
Status
Not open for further replies.
Top