Code vs. drag and drop in Game Maker

Started by
13 comments, last by jpetrie 6 years, 9 months ago

I have been watching some great GM tutorials on the GM site, but the guy keeps using code. I don't want to bother with code for now, because it will be something extra I have to learn and something that will complicate teaching. What I need to know is whether or not all functions for most games I would want to have students make can be done through drag and drop. Also, how would I know which d and d buttons were the equivalents to what the guy is showing in his tutorials. Thanks!

Advertisement

Firstly, how experienced are you with Game Maker?

The tutorials hopefully tell you what each piece of code is doing, so you can recreate it with dnd. After googling around a bit, I've found an excellent reference. Unfortunately, this converts dnd to code, not the other way around, that would be a tremendous amount of work. However, if you skim the pdf, it should be manageable.

My search query was "game maker drag and drop to gml", in case you'd like to find more.
As for functionality, most 2D games without too much logic going on can be done with dnd. Think of platformers, schmups, racing games, top-down shooters, etc. In theory, even more advanced games can be done, like RTSes, but the dnd would be too verbose for that I think. Try to stay away from complex AI and algorithms, and you should be fine.

No expierience with game maker, but have used Blueprint in UE4 (guess similar concept). And had some exposure to similar tools in Unity.

Programming is programming, not matter if done through code or with a visual tool. While the second might seem simpler to unexpierienced people, might be easier to grasp at first, and might even allow some nice functions like macros and stuff, in the end you just swapped one syntax (C++ code) for a different one (colored blocks and links).

There are quite some drawbacks to visual scripting (like complex code getting hard to read thanks to the "formatting" of the visual language, unless you start to macro the sh*t out of it), and given you most of the time only get a small subset of the possibilities code gives you, its also limited at what it can do (or at least requires you so substitute simpler functions available through code with more complex combinations of visual constructs).

With that said, why exactly do you want to evade doing things the traditional way, through code? Given that this is how things SHOULD be done in a professional environment, save simple level, ai or animation scripts (where visual scripting actually does make sense)?

Really, if you or your students are able to learn the visual language, you are not that far off from learning to code the same thing.

If it is because you are afraid that students are more turned off by having to code vs clicking togehter visual scripts, I do understand that. But at that point, you probably shouldn't worry about the limited features you get from using visual scripting vs real code. Complex logic often needs complex code, unless you can substitute writing your own code / building your own visual script by using existing libraries.

Really, your students should learn to code. In 2016, everyone should try to AT LEAST get some basic knowledge of programming. Given that many jobs are in danger of being automated, you can bet the guys being able to program the robots taking over these jobs are employed the longest.

If we are talking game design students, learning to code should be a no brainer. Just had a friend of mine complain lately getting through a multi year game design course and only having been exposed to code for a week... a WEEK!

Its like an architect not knowing how a house is built... and of course, for her final assignment she had to develop and program her own game. Talk about throwing them into the deep end!

If we are talking students in undergrads or whatever, yeah, maybe go easy on the code with them. Still, having to actually write code themselves will be an additional thing learned while building these games. I would go the route of letting them program a part of the game, while providing the hard to program part with additional libraries (or let them use the visual scripting for that, IF the visual scripting tool is up to the challenge).

In game maker you can do everything that you can do in gml in drag and drop. However as Gian-Reto pointed out just because you can do such a thing doesn't mean you should do it. Once you start developing anything more complex than "breakout" or "space invaders" your drag and drop will become unwieldy and ultimately harder to keep track of.

That being said...there are two books that I would highly recommend for learning to make games in game maker.
The game makers apprentice.

and
The game makers companion.

These will take the student from starting with the the simplest games using using only drag and drop and gradually getting more and more complex and actually identify the point at which you need to ditch the drag and drop and start with the gml and then teach it from the perspective of somebody who knows dnd.

this is not a Game Design topic. Moving it. Please stop using Game Design as a catch-all board for every and any topic.

-- Tom Sloper -- sloperama.com

In game maker you can do everything that you can do in gml in drag and drop. However as Gian-Reto pointed out just because you can do such a thing doesn't mean you should do it. Once you start developing anything more complex than "breakout" or "space invaders" your drag and drop will become unwieldy and ultimately harder to keep track of.

That being said...there are two books that I would highly recommend for learning to make games in game maker.
The game makers apprentice.

and
The game makers companion.

These will take the student from starting with the the simplest games using using only drag and drop and gradually getting more and more complex and actually identify the point at which you need to ditch the drag and drop and start with the gml and then teach it from the perspective of somebody who knows dnd.

Yes, I am looking into purchasing game makers apprentice to use as a textbook. I have been looking for something more recent (why did they stop printing in 2006, or are there updated editions?). Does it take students from dnd to coding in an easy way? Would it work as a textbook for high school students?

Honestly the reason I want to avoid code is because it's a whole other language. I would have to learn it and then deal with the challenge of teaching it. I'm not a computer programming teacher, I am an art teacher coming at game design from an aesthetic standpoint. The GML makes no sense logically. How do I know what slashes, semi-colons and words I'm supposed to use for any given set of actions? Plus I would imagine if you type something wrong you get a mess on your hands. Why get into it? Unless I'm missing something here and it's super simple.

But there has to be a reference list out there somewhere that shows how actions and code can be translated into dnd.

In game maker you can do everything that you can do in gml in drag and drop. However as Gian-Reto pointed out just because you can do such a thing doesn't mean you should do it. Once you start developing anything more complex than "breakout" or "space invaders" your drag and drop will become unwieldy and ultimately harder to keep track of.

That being said...there are two books that I would highly recommend for learning to make games in game maker.
The game makers apprentice.

and
The game makers companion.

These will take the student from starting with the the simplest games using using only drag and drop and gradually getting more and more complex and actually identify the point at which you need to ditch the drag and drop and start with the gml and then teach it from the perspective of somebody who knows dnd.

Yes, I am looking into purchasing game makers apprentice to use as a textbook. I have been looking for something more recent (why did they stop printing in 2006, or are there updated editions?). Does it take students from dnd to coding in an easy way? Would it work as a textbook for high school students?

Honestly the reason I want to avoid code is because it's a whole other language. I would have to learn it and then deal with the challenge of teaching it. I'm not a computer programming teacher, I am an art teacher coming at game design from an aesthetic standpoint. The GML makes no sense logically. How do I know what slashes, semi-colons and words I'm supposed to use for any given set of actions? Plus I would imagine if you type something wrong you get a mess on your hands. Why get into it? Unless I'm missing something here and it's super simple.

But there has to be a reference list out there somewhere that shows how actions and code can be translated into dnd.

Mmh, I see were you are coming from. I think it is a HUGE problem currently that game design curriculums often are left in the hands of art schools and teachers. The only official game design course here in switzerland is held by our art school.

Lucky they seem to have found a way to cooperate with out biggest tech university, and seem to have gotten them to at least start a game programming lab for their students. They let students from both schools form teams for assignments so a) they learn to work in teams with people of different disciplines and b) the tech students don't have to mess around too much with art, and the art students with code.

As for your situation... is there any CS Teacher you could collaborate with? Maybe someone who could support you in technical questions at least... maybe he could then teach GML to the students. And maybe decide where to go with drag and drop, or where to work with prewritten libraries/code.

Well, its easy for expierienced programmers to tell you "coding is supersimple"... it is, if you have the time and dedication to learn it. But it is also a steep learning curve at first. If it makes sense for your course, I don't know. But then I would ask if it makes sense workind too much with dnd, because that is also programming (lite). What do you want to teach your students? Being able to produce a working game from their design? Code is a big part of it. While I wouldn't want the students to waste the full lesson programming it all if its not a CS lesson, being exposed to actual code can be VERY valuable.

Ideally, you could show them both, if you are already working with an engine that allows coding AND visual scripting.

I really would see if you could get someone else involved to support you in the more technical topics. Unless you have the time to really work yourself into the topic, and find really good books and tutorials. Even then, students might want to know more than you can teach them. It's good to have a fallback teacher you send them to with their questions.

You can translate all the drag and drop parts directly to GML pretty easily. This means you can teach all the important concepts (objects/classes, events, variables, conditionals, inheritance, etc.) within the "simple" drag and drop environment.

GML is however able to go far beyond what those drag and drop actions can do practically.

You can also combine both, create reusable scripts, or even create custom drag and drop components which can make for a good middle ground, and a good introduction to GML.

Personally many years ago I found that a really useful feature, because I was able to basically learn GML that way. e.g. I had a space invaders like game in pure drag and drop.

But then I wanted more complex logic like intelligent turrets that could select the best target, and have some chance of hitting fast targets. Or particle effects for explosions, impacts, etc. rather than simple pre-made animated sprites. Or the ability to load, edit and save levels using text files, not just pre-made game maker rooms, so started to include GML scripts. In the end I had nearly the entire game in GML.

This wasn't out of some drive to learn GML specifically, but as a means to add the features I desired to my game, and not be limited because no drag and drop item existed to do what I wanted.

Where can I find out what the drag and drop items are for all the code the guy in the tutorial is using?

There isn't always d&d to convert from even what seems like the simplest code with GML. Honestly, gml is relatively easy to learn and use compared to other languages. The best reference to d&d is probably the above mentioned book, The GameMaker's Apprentice. The second one, the "Companion" is more focused on platformers, but also ends up more focused on code, which appears to be what you don't want.

If you really want to avoid code totally, you need to either learn the d&d through a different tutorial altogether, or maybe use something else, like Construct. GMStudio is better than Construct in my opinion, but Construct doesn't have code at all, rather a more complex d&d than GMStudio.

On the other hand, much of game development involves code of some sort, even the most "Beginner" of courses. I understand the difficulty having an art background trying to do this, but it may "hobble" the students the whole avoiding of the code problem.



This topic is closed to new replies.

Advertisement