Python or GML?

Started by
6 comments, last by kburkhart84 7 years, 7 months ago

I'm learning the very basics of Python in a college course. I can't take a GML course. I have very little knowledge of both languages. I've been advised here at gamedev.net to program a basic version of the combat mechanics I want to implement. I could probably make a text-only version of the combat mechanics in Python, but not with GML. I'm worried, however, that the game will be far far easier to make in GameMaker than with Python. This is because I eventually want to include graphics.

So my question is, should I go ahead with Python, or teach myself GML?

How much easier would it be with gamemaker?

Advertisement

It will probably be easier in GameMaker(with GML), but it isn't all about the language. You are comparing two very different things. With GML, you use Gamemaker, and that's it. Python is more open in the sense that it is a generic language, not tied to a single IDE or piece of software like GML is. And with GML, you get all that stuff that Gamemaker brings, like resource loading/management. It is a pretty full-on game engine, tile engine, sprite engine, has sound system, particle system, etc... python has "access" to all of these things, or you could roll your own, but with GML, it is all part of the package.



It will probably be easier in GameMaker(with GML), but it isn't all about the language. You are comparing two very different things. With GML, you use Gamemaker, and that's it. Python is more open in the sense that it is a generic language, not tied to a single IDE or piece of software like GML is. And with GML, you get all that stuff that Gamemaker brings, like resource loading/management. It is a pretty full-on game engine, tile engine, sprite engine, has sound system, particle system, etc... python has "access" to all of these things, or you could roll your own, but with GML, it is all part of the package.

Is there something like Gamemaker that uses Python?

should I go ahead with Python, or teach myself GML?

This isn't really an "or" question. Programmers will learn language after language. Within a few years a budding programmer should be able to count a double-digit number of programming languages they are at least passingly familiar with.

Want to learn GameMaker? That's great, learning GML comes along with that.

Want to do something with Python? That's great, it has many uses, especially for automatic everyday tasks.

Want to do both? Learn both.

The more tools and languages you become familiar with the better off you will be in the long run.

Is there something like Gamemaker that uses Python?

Nothing exactly like it, that I'm aware of. There is PyGame which enables building quite powerful games using Python.

Is there something like Gamemaker that uses Python?
Python and Ganemaker have very different philosophies, using Python to make a Gamemaker-like solution can be done, but it does not make much sense.

They are like different ways to prepare a hot plate of food.

Using gmake maker style, you start with a big collection of partly prepared ingredients, vegetables have been cleaned and cut, rice and potatoes have been pre-cooked, it comes with a large selection of lovely sauces, etc. Cooking a meal is mostly selecting and mixing the ingredients, where some can be added. Cooking is relatively fast.

In Python style, you start with buying all the ingredients that you need, at the market, almost fresh from the ground. You have to clean and cut everything yourself, you can add or make your own sauce, if you like that. Making a meal is a lot more work with all the selecting, and cleaning and cutting, but you can do it exactly like you want it. If triangular shaped potatoes fits the theme of the meal, you can have them. If you like that rare ingredient from the little shop at the end of the street, use it!

Python starts at a more elementary level, and gives you all the room to do things your way. However, you need to know (or find out) more, and making an application takes somewhat longer. More choices to make means you have to make more decisions.

So my question is, should I go ahead with Python, or teach myself GML?

You should do both. Make your game in GML. Take notes of what you're doing. Then after your Python class (or 2), try making the same game in Python. As @[member='frob'] mentioned, as a programmer you'll be expected to learn and know multiple languages. Programming is never either-or; it's a toolbox of opportunity. There's more than one way to fix a problem; there's more than one way to build something.

Beginner in Game Development?  Read here. And read here.

 

The reason why you are finding it hard to take a GML course is because GML isn't really a proper programming language. It is a domain specific scripting language for a (effectively consumer) product.

You are much better off learning Python and if (like me) you don't like learning multiple things at once, then make Python take priority! Python will be around 10 years from now, GML won't (or will be very different) so this alone makes it more worth while.

Now, on to Python. Graphics, audio, input, everything is very posible in Python when using a library such as pygame (http://www.pygame.org). Honestly it doesn't really get easier than this so I cannot imagine what GML brings to the table that would ever make it a more viable choice.

That said, it doesn't get much easier than pygame but that doesn't make it easy ;), just keep learning and stick with it and most of all, enjoy it.

Hope this helps :)
http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

The reason why you are finding it hard to take a GML course is because GML isn't really a proper programming language. It is a domain specific scripting language for a (effectively consumer) product.

You are much better off learning Python and if (like me) you don't like learning multiple things at once, then make Python take priority! Python will be around 10 years from now, GML won't (or will be very different) so this alone makes it more worth while.

Now, on to Python. Graphics, audio, input, everything is very posible in Python when using a library such as pygame (http://www.pygame.org). Honestly it doesn't really get easier than this so I cannot imagine what GML brings to the table that would ever make it a more viable choice.

That said, it doesn't get much easier than pygame but that doesn't make it easy ;), just keep learning and stick with it and most of all, enjoy it.

Hope this helps :)

I have to disagree on some of your points...

We have no way to know whether Python will be around in 10 years, (though I DO agree it will most likely still be in use). By the same token, GML will probably have evolved, but I also think it will still be around.

Easier than Python(with PyGame)...GML is. It seems like you don't know much about GML, or rather GMStudio(GameMaker) itself. It is a much more inclusive Game Engine, with the GML scripting language for programming game play. For almost anything, this is easier to use than Python, as you get the engine basically done, and you just add on the game play code. You don't have to load resources, program a tile engine, code sprite animation, anything like that, as it is already done, and set up with the IDE.

I'm not saying that Python(with PyGame) isn't easy, rather in my opinion GameMaker(with GML) is easier.



This topic is closed to new replies.

Advertisement