zorg wrote:(Where i am, coding classes begin around 5th grade elementary, which is about the age of 11; Usually, to teach, you'd need to understand what you're teaching twice as much, clearly, at that time, you didn't; that's not the fault of the material you wanted to explain in simpler terms.
Excuse me for my poor choice of words. What I was trying to express wasn't that she was un-able to learn the concept of coding, and while the fact that I may simply have not understood it well enough to explain it clearly may very well be true (And in the long-end, probably is.
), I
was able to explain it simply and she did grasp the basic concept of "Oh, ok. Coding's how you tell PC's to do stuff. You do that by typing in this weird text." I was simply trying to say that it was difficult to explain to someone who's never learned certain mathematical principles used by coding before, and while she
could technically take classes, what 8 year old wants to go out of their way to do that when they can simply create the games they wanted to make in the first place without distraction, learning the same things in the end?
Not only this, but every child has a different teaching style. Some can be told to do something, and learn it just fine. Others have to actually do it hands-on. While a classroom certainly caters to these types of people, there's often times still that one kid who just barely made it through the class, acquiring next to nothing from taking it in the first place, simply because it didn't match their teaching style, or they weren't interested. With a program like Love Game Maker, the teaching options are flexible and near limitless! For example, you could tell the user how to do something step-by-step, or just do it for them and get them to see how it works in the end! Or, you could have them do it themselves to make it into their own thing as opposed to what the entire classroom is required to make, sparking their creativity to make things more interesting! Again, a classroom will definitely cater to a lot of children and teach them what was required well, but the classroom isn't shaped around that kid in particular. It's shaped around the 'generic' kid. There's always going to be that one guy who just doesn't fit in! And with a personal program like LGM, you can cater to that more easily.
zorg wrote:Those aren't really skills, just a few movement-reward feedback loops; a neural net could master those.
Thank you, but I'm aware of that. That was the point behind that statement: that she really didn't learn anything at the end of the day. (Apologies. I probably should've put the word "skills" in quotes.
)
zorg wrote:Depends on the kid, and a ton of other things. (I tried to use "Click n' Play", but its limited style made me want to go back to qbasic.)
Great for you, then!
That's really what the end goal is: To teach kids how to code with actual programming languages as opposed to magical drag-n-drop icons that do everything for them. Your kind of type wouldn't need a program like this, as you already were interested in the real thing and noticed that the IDE was hindering your progress. The reason I'm making this tool, however, is because a lot of kids aren't in that stage yet. Unfortunately, most kids I've met aren't even aware that they CAN make games! They realize that it's possible, of course, (How would games exist if it was impossible to make them?) but it never really occurs to them that they have the ability to do so, even if they've really secretly wished to do so deep inside. They know they
CAN be a programmer one day, but they just don't realize that they actually can be one right now, in their home, and for free! And even once they discover the magical fact that they actually can do it on their own, a lot of them either try it and feel it's "too complicated", or don't even pick it up in fear of them being clueless as to what to do.
As you said, one size doesn't fit all. While my sister is certainly a brilliant little girl, the method behind coding kind've slipped her mind (At least when I explained it to her.). She doesn't know how to manually code things by typing into the computer, and, at least at this stage, she doesn't want to! Again, that's why this project exists: To get them to that stage.
zorg wrote: I'd like to see it made, it would indeed be an interesting piece of software, no sarcasm intended.
Thanks for the kind words. I'll try my best!
zorg wrote:Either generalizing, or a case of you keep using that word you think means something else entirely. People might dislike coding, but outright scaring them? I'd say a very low percentage, that suffer from "coding"-phobia.
The idea of it doesn't necessarily frighten them, per-se. The worst that could really happen from them coding something incorrectly is that their program won't work. (Unless they're making a program that messes with their computer's files for... some... reason...) As you stated, they're more negatively-tuned to the idea than actually fearful of it. I apologize, once again, for the poor wording on my part. I simply couldn't find much of a better way to express that statement without going into too much un-necessary detail.
zorg wrote:Again, s/scared to/they don't want to. specifically, learn how to. And not the vast majority, that's just mass-media distributed disinformation... or tumblr.
As previously mentioned this was a bad choice of words on my part, and I once again apologize for this mistake. They aren't scared of it, they simply don't feel like doing so as it would require what they think will be a lot of hard work. You are completely correct in that regard.
However, I do have to dis-agree with the vast majority not being negatively-impacted by the idea of coding. I've spoken to several children throughout my life (Including while I was one myself.), and never have I once had any one of them excited enough about it to actually want to try when I mention that they can code, too, and that it's not really that hard. Of course, if you want to get technical, there are several factors as to why this is such as the area, children in question, and even the way I worded my statement. But I've found no matter who I talk to, without fail, they'll either moan at the idea and dread doing it, or become excited about it and attempt to code... for ten minutes. After that they get confused and stressed and tend to give up. (Unless we're talking something exceptionally easy, such as code.org or Scratch.)
Again, there are several factors as to why this may be, but I've come to conclude that the general amount of kids I've spoken to would really prefer it if there was no coding involved.
zorg wrote:I'd like to see an example of a child coding a game they think would be fun (or someone else coding it for them). And to see them make an adolescent and an adult play it. Then ask whether they thought it was fun, or not. Then again, i want to see a child create a musical masterpiece (not write or conduct) or create (not direct) a movie that would be deemed great. Again, no sarcasm.
Definitely! I, too, would love to see this happen! There's so many creative ideas trapped inside their little heads due to limited abilities/knowledge of the subject, and by the time kids learn how to do something "correctly", the child-like magic is gone. If children were able to create block-buster, professional quality films, or hit albums, well... the idea interests me.
zorg wrote:(qbasic was compicated to my brain as well, along with midisoft musicmagic, a score notator; didn't stop me from coding or writing music, i just doodled, and after a time, got decent at it) Both of us personalized this one, so i vote for a tie here.
Heh, thanks for that.
A TIE IT IS, THEN!!! xD
zorg wrote:>2012+3 >Believing the media But seriously, _again_, no they're not, they're just unwilling to learn how to code. And yes, i admit, it is silly that people may think that way... then again, i find black friday silly, along with deep fried mars bars.
Well, I think all of us find deep-fried Mars bars a little silly. Like... what the heck?
Once more, apologies for the lack of better words on my part. You are correct. They aren't scared of coding, they simply dislike the idea. But unfortunately, yes, there ARE a lot of people who actually believe the media. Not just in films... but I won't go there, for everyone's sake.
Although, in this case, it's a little more complicated than them simply being
unwilling to code. They're unwilling to code not simply because they just don't want to, but because they
feel that they can't! The word "code" became a thing that many people genuinely are negatively impacted by, and it's really a shame. It shouldn't be that coding is for "advanced geniuses only." Coding's for everyone! It always has been, and it always will be! It's really unfortunate that the majority of kids I've spoken to don't realize that.
zorg wrote:...so, you saying i could emulate a human brain in LOVE game maker? Also, there are probably many principles of coding; probably none pertaining to -not- writing even one piece of code.
...No, that was a joke. If someone actually managed to do that (Which is completely impossible), that'd be amazing! xD
Love Game Maker won't handle
all coding tasks for you! You'll still be allowed, and generally 'pushed' towards making your own "scripts" for the engine in Lua. You simply won't be
required to, thus eliminating the complicated teaching aspect and simply letting kids have fun! The main goal of the application, in the end at least, is in fact to get kids onto a more advanced engine, with at least a basic understanding of how coding works. Of course, it still will be very much use-able for advanced tasks, and it can be used by anyone for practically anything if they see fit, but that's not what it's really intended for. It's meant to give them a basic idea of how it works so it won't be "too hard" for them, push them towards a more advanced game engine, and still be there for more advanced tasks if they need it.
As for the lack of coding preventing them from learning how to do so, this may be pure bias as I've been taught to code with Game Maker (As previously mentioned.) and so may be more in favor of it than I should be, but I dis-agree with the "fact" that you have to get children to actually code first to understand the principles of it. For example, let's say you want to draw "Hello, world!" to the screen using Love 2D. Do you write your own function to do so? Uh... no. Not unless you have a really specific need that isn't fulfilled by the basic printing functions. No, instead, you simply type "love.graphics.print("Hello, world!",0,0)" within your draw event to get that text to draw itself to the screen.
How will you do it in Love Game Maker? You'll simply make an "object" with a "draw event", and drag a "Print" block onto the screen. Then you say you want to draw "Hello, world!" at x: 0, y: 0. Done! It's more complicated in the long run when you actually know how to code, yes, but for a beginner this visual approach makes a lot more sense, even though it's the exact same thing, just visualized! For a coder this approach takes more time and effort and is overall stupid as it has no benefit. But for a beginner, they can easily see exactly what their "code" is doing in pure English with easy-peasy icons "self-explaining" what they do, without having to worry about getting perfect syntax (Such as making sure to only capitalize what needs to be capitalized.), and without tons of extra text all over the screen which they have little-to-no understanding of. As time goes on and they become more experienced, they can easily transfer over to Love 2D as the functions are exactly the same in it. Then, when they're feeling adventurous, they can jump to other programming languages and learn them as well. And they'll benefit from that!
zorg wrote:I learned goto-s. straightforward. then if-s, then for loops. while too. (also note, english ain't my native language.) Maybe you just disliked learning to code at that age, though of course, i cannot state such a thing as anything other than being my theory.
I knew someone was going to point out how relatively easy for loops are... xD
It's not that I disliked learning to code at that age, it's that the idea of things such as for loops confused me and I had no need for them, seeing as Game Maker handled a lot of looping-related tasks for me! Apologies. I picked a poor example.
On a side-note, you speak amazingly well considering English isn't your native language! I would've never guessed!
zorg wrote:So you learn to make games by... not learning to code them? Sounds like the job of a game _designer_, who does not touch one piece of engine code to me, that gets delegated to the coder, to implement the designer's visions, however ludicrous they might be.
Well, no, you do actually have to tell your game how to "work", as in how it should act and behave (Is that redundant?
). It doesn't magically just do everything for you. It simply handles the tricky stuff, such as drawing sprites with animations. (I know that's not really that difficult.
Although it may be for beginners.)
For example, instead of doing something like this (I know this is un-optimized, doesn't include frame-rates as a factor, and it overall could be done better. It's just an example.):
Code: Select all
walk1 = love.graphics.newImage("plr1.png")
walk2 = love.graphics.newImage("plr2.png")
walk3 = love.graphics.newImage("plr3.png")
walk4 = love.graphics.newImage("plr4.png")
walk = {walk1,walk2,walk3,walk4}
sprite = plr1 --Just to temporarily initialize the variable
frame = 0
function love.update()
Animate()
end
function love.draw()
love.graphics.draw(sprite,0,0)
end
function Animate()
sprite = walk[frame]
frame = frame + 1
if frame > 3 then
frame = 0
end
end
You can simply make a "sprite", load your walking images as frames, attach that sprite to a new object, and in the "create event", tell it to "start animating" at a speed of [Your desired frame rate]. Done! You don't need to actually tell the game how to animate sprites; It knows how to do that by itself. You just need to tell it what to do! And, of course, if you need to make your own sprite-drawing function, you can do that too.
zorg wrote:Unless you were physically forced by an entity, or the school, stop that.
Of course I'm not completely serious! I wasn't physically "forced" by anyone, it's simply an exaggeration to prove my point. A seminar on the ways of coding would be wonderfully exciting and entertaining to listen to now, and I've attended quite a few since my 8-year-old days. But, as an 8-year-old, I thought coding was difficult and boring! I wasn't fascinated by it! I didn't
want to learn. And, at least where I'm from (America.), a lot of kids are the exact same way! If it wasn't for a tool like Game Maker making coding exciting for my easily-bored 8-year-old self, I would never have learned! That's one of the reasons I'm making Love Game Maker. I want it to be a kid's reason as to
why they were educated. I want it to be that tool that made it
exciting for them, so they could learn it and do their thing!
zorg wrote:So you desired even more to learn how to make games, without coding, allthewhile it was easy. It's never easy, there's always a catch.
At the time, yes. I simply wanted to make games. Like most kids do. No 8-year-old wants to spend the whole day in front of a computer trying to figure out why their program is crashing on other people's computers when they're SURE they did everything correctly! I'm aware now that not everything is given to you in life, and you sometimes have to do the dirty work. And I have done the dirty work. Quite frequently, in fact! But why should a kid have to make their own game engine, and then their own game on top of that just to play a video game that they can say they made? All they want to do is make the actual game! You give them anything extremely difficult, and they'll be discouraged, give up, and move on to whatever other profession they may be interested in that doesn't involve sending bits to a GPU.
While Game Maker was very easy in comparison to other engines, it still didn't magically take care of everything for you. Again: You had to actually make your program work! If you did something wrong, your program would crash! If there was a glitch or limitation with the given engine (Or even the OS itself!), you'd have to deal with it and find ways around it. Your characters didn't auto-matically move for you. You had to tell them "When the left arrow key is pressed, subtract a pixel from your x position. But only if there's no solid objects in that area!", all by dragging little action-blocks into the code-area. If you screwed something up with your code, it wouldn't work! It was a lot easier, but it's not like it was a magical fairy who took care of everything for you. It just handled the tough stuff, so you could do your own thing! It's like LOVE 2D a lot, actually! It's an engine. It made it easier. It didn't complete everything for you. I found this out myself as an 8-year-old, and had to use logic to see what my "code" was doing, and what I could do to fix it. I was coding! Except... I wasn't.
zorg wrote:Um, no. You learned how to do one thing, while schools try to teach another entirely. Also, yeah, i can think of many sw and physical stuff too. Like construct, or that irl toy game where you push the image of a cow after you hear "moo", or cheatEng- oops, no that requires coding knowledge.
I see at this point that you're very much against the idea of a visual game-creation IDE. That's cool! You're entitled to your opinion, and I knew when I made this forum post that not everyone would like the idea. However, please don't belittle Game Maker more than it needs to be. It's already seen negatively by coders as they think it "keeps you from doing the work" and doesn't need more bad publicity.
Again, I still did all the actual coding (At times, literally typing in code to the computer using "Game Maker Language", a modified version of Delphi.), I still did actually learn. I just did it without the mindset of
"Coding?!? No, no! I can't do that! I'm not a genius!". And I wasn't referring to the entire school curriculum, or even a single part of it specifically. I simply meant curriculums in general. Often times, at least where I live, I find that children are un-interested about certain topics (Wether that be math, English, history, or coding.), and you need to make it more interesting in order to get them to actually care. Making games? Interesting! Reading thousands of pages to a lengthy documentation on C#? Not so interesting for most kids. While it's true that you do get to create those games using C# after you've learned it, you still have to get through the tedious (As some may find it.) task of learning it before you can actually do what you set out to in the first place. Many children aren't willing to do that, and so they become overwhelmed and give up, and the idea they had quickly leaves their head. Programs like Game Maker don't exist to prevent people from learning/doing work. They exist to make the job a little easier so you don't have to do it all by yourself, a task which would discourage a lot of newcomers.
zorg wrote:Coding tutorials don't _force_ themselves onto you or others either; if you want to read them, they're on stackoverflow, otherwise you figure the problem out or give up. Also, skipping doing all the Yak Shavings makes you have better designed games, that perform worse. a continuing problem.
That's true. (And stackoverflow is epic, btw.
) But, again, this isn't intended for serious coding work. It's intended to make it easier for children who may not feel like reading the entire C# documentation just to create a quick idea they had in their head. (I'm exaggerating, of course, as you clearly don't have to learn
all of it.) And, yes. In the end, doing the work yourself often times leads to better games. That is, it does when you know what you're doing. When you don't, you're lucky if you can even get something working at all! Even then it'll often times come out as an un-optimized mess! And while trying is how you learn as I previously stated, making your own solutions to problems when a solution to it already exists is like re-inventing the wheel! It's un-necessary! Even just within the range of learning how to do it correctly. If you true-ly desire to make great games, you'll teach yourself! Otherwise, you shouldn't be forced to make your own engine just to get a 2% speed increase. Besides, most programming languages aren't as optimized as they could be anyway! (For example: Java. Have you ever ported code you've made in Java to a language such as C/C++? It's a
lot faster!)
zorg wrote:So you mastered the basic structure of games you want to say? i sure hope coding doesn't involve dragging and dropping... unless we're talking about those (newfangled) interfaces some engines like what UE has (that still require you to know how to code with it).
I'm not going to say I completely understood everything there was to know just because of Game Maker. Quite the opposite, actually! But, yes, it DID teach me the basic structure of coding, so I could easily move on to actual coding if needed. And I did.
And if you don't want to use drag-n-drop actions in Game Maker, you don't have to! It's an engine. You can code the entire thing by hand if you want to (And I have. In fact, the majority of my Game Maker games from age 10-onwards were made entirely using code! No drag-n-drop involved!)
zorg wrote:All coding (and even natural) languages that exist allow for varying levels of mistakes. Like python dying on incorrect line tabulation. By the way, lua doesn't necessarily require semicolons either, just in a few very special cases.
I know that (Lua is
REALLY great for a beginner as it handles a lot for you!), but a lot of widely-used "professional" languages (Such as C,C++,C#, and Java.) require the programmer to declare variables, add semi-colons at the end of each line, properly capitalize letters, and put things in their own, perfect little syntax. If the coder does anything even remotely different than what the language expects, the compiler freaks out and your code won't run! Now, I realize you have to learn to deal with this sooner or later, as that's just the way things are. And really, it's not that difficult once you understand the proper syntax for the language in question. But in the meantime, newbie coders won't like having to do everything just-so, and won't be able to learn anything unless they're willing to deal with that up-front. Maybe it's better to teach a newbie the hard way first, so that they know what it's like. Or, maybe it's better to start easy, and build up. There are many theories about it, and it's all quite controversial and interesting. However, I personally find it better to start slow and get better as you go along, so instead of having to learn everything in an environment that just doesn't make sense (At first.), you learn a little piece at a time, until you make it to that final level where you can do whatever you please.
zorg wrote:There are people, who would have just started with a normal proglang, so they needn't unlearn things specific to GM-s limiting ways. Of course, there are many kinds of people.
Well, actually, I didn't have to un-learn anything! If anything, I just had to learn new things about a new language. You'd be surprised how similar Game Maker can be to actual coding at times! It was more of a footstep then a massive leap.
zorg wrote:I thought you stated earlier that it didn't teach coding.
I explained this...
Technically, it
didn't teach coding. It never once came out and said "This is how you do this." It did, however, set up the perfect environment so that
YOU could learn it, making things as simple to grasp as it could and giving you easy access to tutorials and documentation when needed.
So, technically, no. It didn't teach coding. You taught yourself. But it pushed you in the right direction so you'd get to that point. Which is why I said it "taught" you. Sorry once more for my lack of proper wording.
zorg wrote:I could say that everything before this quote here was unnecessary tl;dr, but who am i to judge the awesomeness and value of this project... if it gets made.
Heh, thanks.
I've been working on it a lot during my spare time, so I really hope it does!
As for the quote, I considered shortening it down to just that line, but figured I should explain some things just in-case people had questions so there wouldn't be a ton of people asking me the exact same thing. Sort of an FAQ, if you will.
zorg wrote:So, you want to remake Game Maker in löve, and then remake it into something else entirely; why not skip the middleman altogether? Surely it would save time and resources.
Basically, I'm re-creating Game Maker in C# for Love 2D as a "temporary design." This is simply because I haven't yet chosen the way I want the final application to look (I have several designs on-going in my head. I just want to fine-tune them and make them as good as I can before choosing one.), and I'm not the best at designing software to begin with (I'm better at actually programming it. I stated in the read-me that I was hoping someone else could help with the design process.), so I'm simply using Game Maker's design as a temporary so I can actually code the program before making it look good. The code is written in such a way that I can easily cut-and-paste it to a different design when needed, so I'm not really wasting that much time on "re-creating" it. Great question, though! I didn't address this very well in the readme, so thanks for asking!
zorg wrote:Now, with all that seemingly negative responses i wrote above aside, i do hope you succeed in making this engine. Variety is good in all aspects. Heck, even i'm making an engine-like thing on top of löve, (general enough for two very different types of games, with two separate collision handling libs) along with at least two other forum users.
Btw, a thing for your github readme: Löve does use a compiler, a just-in-time one, luajit; that's why the lua code you write for it to run is fast. (in most cases) The engine itself is written in C++.
[/quote]
Thank you!
And, don't sweat it! Negative criticism is a good thing as long as it's constructive instead of
"OZ!!!! IZ DON'T LIKE LE COLORZ!!! IZ BAD!!!". After all, if everyone just said that everything was perfect, how would we get something that actually
is perfect?
I respect your opinions, even if I don't necessarily agree with all of them. I thank you for asking your questions and expressing your concerns constructively without blasting/cursing me (Tons of swear words not appreciated!
), and I apologize if I came off rude or sarcastic during any of my responses, or didn't understand you correctly (I had no such intent.). Have a great day!
As for the github readme, thanks for correcting me! I was really tired when I wrote that as I had to stay up late to get stuff done with my schedule (We're talking 2-4 AM here, people!), and I wasn't quite thinking 100% clearly. I'll fix the readme as soon as I can.