## Love Game Maker

Prole
Posts: 13
Joined: Fri Feb 27, 2015 10:47 pm

### Love Game Maker

EDIT(4/7/2015): Just in-case any of you weren't aware (I realized I forgot to update this thread on the subject.), development on the editor itself hasn't updated in a bit as it was halted in favor of the actual engine to work behind the editor (On top of LOVE.). Enter: Project Unique! The engine to be used in the future Lua re-design of LGM!

You can check it out here if you're interested: https://github.com/Radfordhound/Project-Unique. (Though keep in mind it's still a major WIP.) I've made a quick sample there to demonstrate the currently-available capabilities of the engine. As of now it's limited to simple creation and destruction of objects, and even that's done in a more "primitive" way than I'd like. But that's soon to change. (In fact, I just opened Visual Studio to start working on it now!) Thanks for continuing to check up on this project, and have a great day!

EDIT(4/1/2015): No, this is not an April Fools joke, Love Game Maker now has it's own forum! The link is here: http://lgm.boards.net/ Go check it out! This thread will continue, but I'll be much more active there, so if you like this project, I'd love if you'd check it out! (And hopefully register as well. )

Also, voting for the way LGM should be programmed has just ended! And the winner is *drumroll*...... wxLua! (Yay! The one I wanted! ...Why are you looking at me? I promise I didn't vote!!! It just worked out in my favor! )

HUGE thanks to all of you for voting! Due to the results of the poll located here: http://www.poll-maker.com/results274304xDfB94E3a-10, the project will from now on be coded in WxLua! Enjoy the massive amount of Github commits to follow at the new branch in the repo (Here: https://github.com/Radfordhound/love2d- ... recreation)! Cuz' we're BACK IN BUISNESS BABY! *Plays huge accomplishment music*

Hi! I'm Radfordhound. I'm a YouTube let's player/coder who enjoys coding games in C# and Lua. I'm here to announce my new open-source project called "Love Game Maker." Love Game Maker is a piece of software I'm currently writing in Visual Studio using C# to allow easy, drag-n-drop creation of games using the LOVE 2D engine, heavily based off of Mark Overman's "Game Maker" (At least currently, design-wise. I'm planning on a design-overhaul in the near future. ).

The project is designed to teach coding newbies the basics behind programming, as well as being extremely flexible for professionals who may need it for whatever reason (Such as, for example, proto-typing game ideas.). Unlike other visual game-development software, LGM is completely open-source! It's built off of open-source libraries (Such as 7-Zip and, obviously, LOVE 2D) and was created with the ability to adapt to programmer's needs, allowing for near-total customization not reachable with other visual game-development software (Such as Game Maker or Construct.).

For example, actions in Game Maker are stored in .lib files. These require a specialized editor to change, and can not be easily modified. Actions in LGM, on the other hand, are stored in .action files within a folder named "actions". These are simply text files and can be created/edited in any standard text editor (Such as Notepad.). They simply contain one line of text explaining information about the action to the editor (Such as the action's name, icon, arguments, etc.), and the action's Lua code. Making/editing them is simple! And they can be easily shared to other users.

The reason behind the project's existence, as well as any other information you could possibly imagine related to this project is contained within the Project's "readme" file, located here: https://github.com/Radfordhound/love2d- ... /README.md

As previously mentioned, the project is completely open-source. It's currently a major WIP, and any contributions would be highly appretciated. (Not just C# code! We also need a website, images, sounds, etc. More details here: https://github.com/Radfordhound/love2d- ... i-can-help)

So what're you waiting for? The code's on Github. Dive in! (Major WIP! Any contributions heavily appretciated!)

If you have any questions not answered by the above post or by the readme at the github repo for the project, please ask them below. I'll get back to you ASAP! (Though I'm not always the best at that. )

Thanks for reading that, and have a great day!
Last edited by Radfordhound on Tue Apr 07, 2015 11:12 pm, edited 17 times in total.
OH NO!!!! It's the evil anti-coding language, C--!!! D:
davisdude
Party member
Posts: 1154
Joined: Sun Apr 28, 2013 3:29 am
Location: North Carolina

### Re: Love Game Maker

That's cool! I hope you succeed! I would help, but unfortunately I know nothing about GameMaker or C#, so I can't be of too much help.
GitHub | MLib - Math and shape intersections library | Walt - Animation library | Brady - Camera library with parallax scrolling | Vim-love-docs - Help files and syntax coloring for Vim
Doctory
Party member
Posts: 441
Joined: Fri Dec 27, 2013 4:53 pm

### Re: Love Game Maker

this is really awesome, i too hope you succeed. i also cannot code in c# (only learned lua, dont need anything else because i can do pretty much everything with it), so i cant help.
zorg
Party member
Posts: 3091
Joined: Thu Dec 13, 2012 2:55 pm
Location: Absurdistan, Hungary
Contact:

### Re: Love Game Maker

Oh boy, where do i begin...

Radfordhound wrote: (...) but I realized I had no idea how to explain the concept of coding to an 8-year-old girl! (...)
(Where i am, coding classes begin around 5th grade elementary, which is about the age of 11; unrelated to that, i started coding when i was 10, but with qbasic, then pascal, at home, and the latter in school too.) 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.
Radfordhound wrote: I then decided to try and explain Game Maker to her (...) all she really learned was how to <mspaint sprites which she already knew, and click with the mouse> (...)
Those aren't really skills, just a few movement-reward feedback loops; a neural net could master those.
Radfordhound wrote: Game Maker can be an amazing teaching tool when used correctly, but it doesn't always work. Sometimes kids come away from it as masters of coding, other times they come away from it satisfied that they drew a circle. (...)
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.)
Radfordhound wrote: What if you could make a program so easy to use that a 4 year old could figure it out, but so advanced that you could develop your own client for a social network on it? (...)
I'd like to see it made, it would indeed be an interesting piece of software, no sarcasm intended.
Radfordhound wrote: See, as easy as LÖVE 2D is, it still involves actual coding. This is something which, unfortunately, many people in today's world are scared of. (...)
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.
Radfordhound wrote: Because of this, although the vast majority of people would like to make games/programs, they're scared to. (...)
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.
Radfordhound wrote: The best example of this is in children. How many kids do you know who would love to make their own video game? Probably a lot! How many of them do you think would actually understand how to code one? Even in a easy-peasy engine such as LÖVE 2D? Probably next-to-none. (...)
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.
Radfordhound wrote: I've been coding since I was 8. Do you think I started off with languages such as C++? Heck no! I started off with Game Maker! And even that was complicated to my little 8-year-old mind at the time!(...)
(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.
Radfordhound wrote: The point I'm trying to make here is that people are scared of the word "code". Programmers have always been portrayed in media as these nerdy geniuses who understand absolutely everything there is to know about the world. Because of this, many people think they can't code because they're "not a programmer", as in "not a genius", and won't even give it a try. What's silly about this is that TRYING IS HOW YOU LEARN!!! (...)
>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.
Radfordhound wrote: Love Game Maker isn't designed to perform complex tasks. If anything, trying to emulate the human brain in Love Game Maker will only severely hinder your progress. (Yes, I just critised my own program while trying to explain why it's good. ) So what's it designed for, then? Teaching programming newbie's to code? ...Actually, no! (...) Love Game Maker is designed (...) to teach the principle of coding.
...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.
Radfordhound wrote: For example, let's take Game Maker. Do you think 8-year-old me learned how to make for loops in Game Maker? No! While you certainly CAN make for loops in Game Maker, 8-year-old me was scared of coding! Just like practically every one else! I thought it was too difficult! And, when I tried it, it kept me from wanting to code as it was too difficult for me, and I was simply un-able to do it. (...)
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.
Radfordhound wrote: So what DID Game Maker teach me? The principle of coding. (...) drag-n-drop functions (...) taught me how code works in a easy to understand way! (...) it laid the foundation. (...) It made things easy! It held my hand through the already easily-passable field of dasies. Did it teach me coding? No! In fact, it seemingly prevented me from being able to learn! And that's the magic behind it. (...)
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.
Radfordhound wrote: I wasn't trapped in a room being forced to listen to a boring seminar on the ways of coding. I wasn't even forced to read an easy-peasy guide on how coding works! Instead I was given tools to keep me from doing any actual coding, and just doing what I wanted in the first place: Making games.
Unless you were physically forced by an entity, or the school, stop that.
Radfordhound wrote: So how, then, did Game Maker teach me the principles of coding? It didn't! It laid the foundation for easy drag-n-drop game creation, gave me some handy examples, and said "There ya' go! Enjoy!", leaving me clue-less, but intrigued. Sparking that desire to learn deep within me more than anything else I've ever used before. (...) I was just doing what I wanted: making games! This eliminated the fear aspect and simply left me to do the work I wanted to acomplish in the first place.
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.
Radfordhound wrote: It did something ingenious and magical. Something school curriculums have been trying, but failing to do for years. It let me learn how to do something without telling me how it worked! It taught me without actually teaching me! It didn't force me to take a lengthy test, but rather, it let me cheat! That is something no other software has been able to accomplish.
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.
Radfordhound wrote: Of course, if I needed help, tutorials were avaliable. Lots of them. So many of them, in fact, that I'm still un-able to count them all! But it didn't force me through these tutorials. Rather, it provided them if I needed them and simply said "Figure it out!". This not only inspired me to make games, but learn the software so I'd better understand it and, in turn, be able to make BETTER games. It let me play with my imagination in an easy and secure environment, skipping all the boring tutorials no kid wants to hear. And whenever I came crying back to Game Maker's arms, it was there for me with excellent, but simple documentation for every aspect of the software right at my fingertips! And this isn't even including the previously-mentioned multitude of tutorials made by the community!
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.
Radfordhound wrote: And, so, over time, I taught myself Game Maker, which taught me the basic structure of coding. Through-out it I noticed the amount of people using GML (Game Maker's built-in scripting language) to acomplish tasks as opposed to the drag-n-drop functions. I never used it, as I was only confident with my drag-n-drop abilities, not my coding ones. But I always saw the amazing potential of it and wished I understood it.
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).
Radfordhound wrote: So, one day, when I was experienced enough with the software and confident enough with my abilities, I decided to try out GML. Slowly but sure-ly I learned it, and without much trouble as the language is designed to let you make mistakes. (Such as not requiring you to declare variables or end your lines with semi-colons.) And before you know it, I wasn't scared of coding!
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.
Radfordhound wrote: I then became experienced enough that I noticed Game Maker was actually limiting my potential, and made the leap to Visual Basic. Only now, I was condifent in my coding skills and managed to learn a lot of it with little to no trouble.
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.
Radfordhound wrote: (...) Game Maker always made it so easy to learn, but yet taught amazing coding principles that paved the way for the projects I would create later in life. It never felt like a challenge, but instead, an adventure!
I thought you stated earlier that it didn't teach coding.
Radfordhound wrote: It's designed to capture the magic behind Game Maker's accidential and mysterious "fun learning" approach, and unleash it. (...) And that, fellow readers who actually stuck through this whole thing, is the purpose of Love Game Maker. (...) Interested yet? Great! I can't do this alone, and your help would be greatly appreciated!
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.
Radfordhound wrote: The project isn't anywhere NEAR done, as I'm currently working on actually making it work basing it heavily off of Game Maker, as opposed to making it easy to use and good looking. After it's working correctly, I'll move on to actually turning it into the super-kid friendly, yet advanced project described above.
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.[/size]

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++.
Me and my stuff True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.
Prole
Posts: 13
Joined: Fri Feb 27, 2015 10:47 pm

### Re: Love Game Maker

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.
OH NO!!!! It's the evil anti-coding language, C--!!! D:
Lacotemale
Citizen
Posts: 75
Joined: Sat Mar 08, 2014 9:01 pm

### Re: Love Game Maker

Great work on this! I actually came from the Game-Editor community (its a game maker) and I very much came from this background of point and click to make games.

However, I felt restricted after a while and some fundamental things I couldn't change about how the software worked. In the end while its easier to setup games initially after a bit I felt too much time was spent clicking on buttons and there must be a faster way to do things.

Hence why I ended up here at Love2D.
arampl
Party member
Posts: 248
Joined: Mon Oct 20, 2014 3:26 pm

### Re: Love Game Maker

Worst thing about Game Maker - it is written in the Delphi, so it almost impossible for developers to port its IDE to other platform. I'll never fill comfortable to develop something on Windows.

EDIT: Game Maker also uses its own scripting language - big mistake (Qt also did this mistake), it must be only Lua!
RBXcpmoderator12345
Citizen
Posts: 59
Joined: Sat Mar 07, 2015 11:53 pm

### Re: Love Game Maker

Well, I've stuck with programming since i was 9.
I started with HTML and Scratch, then moved on to Roblox Lua for about... a year... and then JavaScript... and then I came to Love2D.
purplehuman
Citizen
Posts: 72
Joined: Thu Mar 05, 2015 4:25 pm
Location: Ankara, Turkey
Contact:

### Re: Love Game Maker

Nice idea. I wouldn't need it, but I like that there are tools for absolute beginners. Will it be mono compatible? I mean, will it run on Linux?

Actually, your idea is much more useful than mine. Today I thought about writing a program that generates a LÖVE top-down shooter or an Asteroids clone (which is basically a top-down shooter) with the given images and settings. It'd be a useless app of course. I was thinking about doing it just for fun. Just thinking about it gives me fun.

I'd try to help you, but I know nothing about C#. I'm mostly a C++ coder on Linux. (Besides Lua of course)
I am 2D.
I am purplehuman on github.
And I am purplegordebak on twitter
Prole
Posts: 13
Joined: Fri Feb 27, 2015 10:47 pm

### Re: Love Game Maker

Whoops! Mega apologies to all who posted for not responding. I'm real terrible with that. xD
davisdude wrote:That's cool! I hope you succeed! I would help, but unfortunately I know nothing about GameMaker or C#, so I can't be of too much help.
Doctory wrote:this is really awesome, i too hope you succeed. i also cannot code in c# (only learned lua, dont need anything else because i can do pretty much everything with it), so i cant help.
Thanks alot! Also, I don't mean to sound pushy (You're not required to do this by any means!), but if you have some free time and any other awesome skills you're willing to use and really want to help out, there's plenty of non-coding stuff needed that'd be tremendously epic of anyone to help out with! (More details here: https://github.com/Radfordhound/love2d- ... i-can-help for anyone interested. *wink wink nudge nudge*)
Lacotemale wrote:Great work on this! I actually came from the Game-Editor community (its a game maker) and I very much came from this background of point and click to make games.

However, I felt restricted after a while and some fundamental things I couldn't change about how the software worked. In the end while its easier to setup games initially after a bit I felt too much time was spent clicking on buttons and there must be a faster way to do things.

Hence why I ended up here at Love2D.
Thanks! I definitely agree about Game Editor's being limited. (I even addressed it in the first post.) I moved on from software like Game Maker for the same reason! Lol.

While I don't expect it to be perfect (No game making software will fit everyone's needs/be 100% efficient.), I'm trying to make LGM more flexible than other game-making software in the sense that it supports (Or WILL support. It partially does now, but it's very WIP. ) 100% custom actions! Game Maker supported this, too, but you had to go out of your way to get the library editor (Which was hard to find!) and edit the .lib file, and in brief, trying to make custom code visual was a major pain.

With LGM, the action's code is (As of now, at least.) stored in a collection of text files with a special line at the beginning explaining some basic information about the action to the editor (Like it's name, what type of arguments it should have, what icon it should use, etc.) carrying the .action extension. The file's names are numerical ("0.action", "1.action", etc.), and as previously mentioned, they're fully text files. So adding a custom action is as simple as making a text file containing the special action line as well as your custom lua code, re-naming the file to begin with a number and carry the ".action" extension, and plopping that new .action file in the editor's "actions" folder.

You'll be able to make custom actions by editing text and share them with others!

Even then, as previously mentioned, no engine is perfect and eventually users are going to feel limited. And that's a good thing! The software's really being designed more for younger, less-experienced developers in the first place, as an effort to teach them coding. If they feel limited by the editor, then great! It's succeeded! They know enough about coding to feel limited by an engine that holds their hand! Now they can go on to do great things!
arampl wrote:Worst thing about Game Maker - it is written in the Delphi, so it almost impossible for developers to port its IDE to other platform. I'll never fill comfortable to develop something on Windows.

EDIT: Game Maker also uses its own scripting language - big mistake (Qt also did this mistake), it must be only Lua!
Yep. Pretty annoying stuff there. If they just would've coded it in a more flexible language... we might at LEAST have Game Maker on Mac. (Well, we do... but it's so dreadful and completely outdated that.... we really don't...)

I was hoping on porting LGM to other platforms like Linux (Or possibly even Android now that LOVE Android is a thing. ) once I'm done with the .NET Windows version, but... who knows?

As for the language, yeah, the idea of using a custom scripting language was pretty dumb. Though you have to give them credit for at least making it similar to other languages so the jump isn't as painful. It isn't like a person experienced in GML who has to make the switch is going from pure, 100% limited baby-ness to Assembly. Lol. Though, yeah, it still is pretty painful for many, and it's a shame, too.
RBXcpmoderator12345 wrote:Well, I've stuck with programming since i was 9.
I started with HTML and Scratch, then moved on to Roblox Lua for about... a year... and then JavaScript... and then I came to Love2D.
Cool! You're very much like my kid self, lol. (I coded in all those when I was a kid except for, surprisingly, Javascript! Although many people learn coding with JavaScript, I never came across it! I'm weird... ._.)
purplehuman wrote:Nice idea. I wouldn't need it, but I like that there are tools for absolute beginners. Will it be mono compatible? I mean, will it run on Linux?

Actually, your idea is much more useful than mine. Today I thought about writing a program that generates a LÖVE top-down shooter or an Asteroids clone (which is basically a top-down shooter) with the given images and settings. It'd be a useless app of course. I was thinking about doing it just for fun. Just thinking about it gives me fun.

I'd try to help you, but I know nothing about C#. I'm mostly a C++ coder on Linux. (Besides Lua of course)
Thanks! As of now, I'm just coding it in .NET, but tttrrruuusttttt me when I say I've thought long and hard about using Mono. My thoughts are that I should just finish it in .NET first as I'm more experienced in it and could create a better application before moving on to ports, while trying not to rely too heavily on any Windows/.NET specific things. (Hence me using basic text files for actions and multi-platform libraries and applications like 7-zip.)

Then, when I'm done with that, it's mega porting time and I'll try to get it to work on pretty much anything I can find. (Apple II? iPod Touch 4th Gen? Nokia 3720? Toaster-Tech 2.0? It's all in the bag now! ) I'll likely start with Linux as I have more experience with it then, say, Mac (I've used a Mac ONCE in my life! ...Only once.), though who knows?

...That's why the project's open-source!

As for your idea, go for it! It may not "change the world", but if you have fun with it and/or learn something with it, I say go right on ahead! No one likes coding impossibly hard/boring stuff all the time; You gotta' have some fun every now and then! And who knows? Maybe you'll come up with something great in the process! (Smash bros was created by Masahiro Sakurai and Satoru Iwata in their... spare... time! O_O)

And also, if you know C++ (I know a little of it. I'm not fluent in it, but I could make/port something decent given the proper time/access to Google. ), well, you know pretty much anything. Lol. I've literally had times where I've copy-pasted something in C++ to a C# project, and it worked without any changes! xD

Considering C# is really just a more basic version of C++, you'd probably be better off working on another project where you could actually contribute your talents rather than going out of your way to learn a more simplified version of C++, only to develop software for Windows. (Which I assume you don't use given your post.)

...Phew! That was another long one.
OH NO!!!! It's the evil anti-coding language, C--!!! D:

### Who is online

Users browsing this forum: Bing [Bot] and 17 guests