Game Maker, Unity, or Blender?

Started by
21 comments, last by Dream Cutter 11 years, 9 months ago
Well, Game Maker is good mostly only for 2d games. 3d are also possible but GM limits you in so many ways.

If I were you I'd try Game Maker first. Try some coding and you'll see if you want to do programming which is more advanced.
Advertisement
Personally I think trying to get into game development without more code experience than you have is a bad idea. It would be very very useful to have some.

I advise you read this post I made on another topic
EDIT, i think it was post 8 or 9 in that topic, seems sticking it in a spoiler has removed its formatting and it is a huge WALL of text
[spoiler]
You want to make a an RPG yet have never programmed anything before. Well, like the others have said unity is a good start for a game like that but for now lets get you programming. Unity can use one of 3 languages: C#, boo or javascript. Javascript has its uses but as a standalone language isn't much good and right now we need something standalone for you to learn with. One of its main uses is actually being embedded within other code to run little routines for you (such as spawning enemies) which generally needs a javascript interpreter. Unity happens to have one built in, all modern web-browsers have one built in. Unity can also use it for building HUDS (health bars etc) although that can be done through the other 2 options aswell. However you can't really just take a .js file and execute it on your mac like that, you don't need to learn it at this stage. Even when it does come to learning it there are a few other options like lua and python (I've seen both embedded into unity, although theres no real advantage over using javascript that I know of other than choice). Boo is quite an easy language for .NET (windows only) and mono (available on mac, more on that in a minute). However its not particularly well documented and is a bit of a niche language (virtually no one uses it). It is however a fairly powerful language, anything you can do in C# you can probably do in Boo aswell. Its designed to have syntax very similar to python (which I once again will come onto). You should theoretically be able to learn Boo, do the usual newbies programs (coming onto them too) and then be able to make your game one day with it without having to learn any other languages. C# is a much harder language than Boo and is also for .NET and mono. Its very popular for windows programming of all kinds and through mono can be used on a mac too. Its not really suited for beginners though. If you can get over that its supposedly a brilliant language (I don't use it although have a basic understanding of it) and can be used elsewhere other than games. You could one day have a job in programming using C# which isn't likely to happen if you were to use Boo (because its such a niche language) Python. This language is a very easy to learn language (it was also my first language). Its available on all all major platforms and even a few niche ones like Nokia S60 phones (3rd party port) etc. It can't be used in unity directly, although with IronPython (python port for .net and mono) it can be used as a more powerful scripting solution to replace or supplement javascript. However to use it in unity there is a fair amount of programming to be done in either C# or Boo. I only mention it for a single reason. Neither Boo Or C# are great languages for a beginner (Boo may be similar to python but alots been changed to make it work nicely on .Net and Mono). Python is very easy to learn and then from there you can move onto other languages such as C# or Boo. There are game engines for python (panda3d, Python-Ogre is very good aswell but is very hard to use). There are 2 "dialects" that are ever so slightly different, python 2 or python 3. I'm personally familiar with both, there are far more resources for python 2 and alot of game engines for python use python 2 rather than 3. However I think the future is probably in python 3 and I wouldn't recommend making your game in python either. .NET/Mono These aren't really languages, they're basically platforms for other languages to run on in a similar way to java having its JVM, I can't think of a less technical description. C# and Visual Basic.Net where both languages made by microsoft to run on .NET. However .NET is windows only. Mono is an open source clone of the .NET framework for all major platforms (including iOS and android aswell as your mac), nearly all .NET languages work on Mono and vice versa with just a few issues. You use mono languages in Unity (apart from javascript). Although Microsoft only made a few .Net languages themselves (C#, VB.NET, C++ Dialect/Port/thingy, J# - obselete and F# - also obsolete) there are several other languages made by 3rd parties for .net/mono. Boo is included in this, Python even has a port to .NET that also works on mono (so you don't need to have the python interpreter on all computers, you instead just give people the EXE, most people have .net or mono installed, not so many have pythons interpreter). You'll notice that Boo, C# and Python I've turned into hyperlinks. Pythons link directs to the python foundations website of course, similar case for Boo however for C# I've actually linked you to the website for monodevelop which is an IDE (integrate development environment) for Mono languages, primarily C# and VB.net I think. Googling a C# download normally gives you the microsoft website which will try and download .NET which is windows only when you need mac so this link is much more relevant to your needs. Anyway, the way I see it is that you have 3 choices. 1) Learn python first to get programming experience. This is the option I would recommend. After you are VERY familiar with python you should then consider doing one of the other 2 options. 2) Learn Boo right from the start, this is fully possible but Boo is used in so little places that it won't have much use outside of Unity so I won't recommend it for that reason. Its not much of a jump from python though, I don't know how to set it up to work on a mac either, alot of console commands needed but can be done. 3) Learn C# from the start. This is once again possible but its not a newbie friendly language, I'd try learning python first, after python this would be recommended as its just so popular, turns up in everything: games, desktop applications, database management, mobile development thanks to MonoTouch and MonoDroid (iOS and Android versions of mono respectively). Sure all of those CAN be done in Boo (thanks to how .net/mono works) but so many people use C# to do it that help is 2 clicks away - once your over the steep learning curve for those who have never programmed. In whatever language you choose you need to start small. Do things like "Hello, World!" first (always the first thing to do in EVERY new language you learn, programmers law). Then you can do guess my number games. Learn how to use "complex" structures like IF statements and for and while loops. Functions will also be VERY important and classes/OOP will be very important for game devlopment. I've listed these things in the order that they should be learnt aswell really. Afterwards you can probably move onto making a text adventure, basic ones like a computerised version of any of the "Fighting Fantasy" books with automated dice rolling can be done with just IF statements, a random dice roll function and a few variables for your inventory. Although as soon as you add save games you will realise that text adventures can be very complex, and thats just on a book that gives you 3 choices what to do let alone text adventures that ask you what you want to do (like walking north, open mailbox) such as Gork. Its all good experience. Then come back here and ask about unity. Btw, if you go with python at first, learn through the sequence I gave until just after you've worked out how to use functions, leave classes then you can make the switch to C# and start the process again although this time it will probably be quicker as you've got experience in how program logic works. Object orientated code using classes is so much easier in C# and VB.net than in python.
[/spoiler]

That post was aimed at someone looking to use unity I believe but another C# "game engine" is XNA, this is very capable but MUCH harder and will require a good amount of C# knowledge.

It is true that you could just use a click and drag environment but programming is a very useful skill. If you do it my way and learn how to program and then move into games development you should have a fair amount of skill for developing regular PC software too.
The high school I'm going I believe does have a C++ class, would that be useful in game development? I know it's useful in just regular software development.
It would but C++ is horrible to new programmers. Many professional games are written with C++. Infact chances are that at least half the software on your PC was probably written in C++
If anyone is looking for blender game engine tutorials: http://www.gamedev.net/topic/625003-video-tutorials-blender-game-engine/

+---------------------------------------------------------------------+

| Game Dev video tutorials -> http://www.youtube.com/goranmilovano | +---------------------------------------------------------------------+
Now
Z-Virus 2

is a cool game for a 15y!

Is it possible to develop with Blender game engine for Android etc?

If you're interested in programming, sure c++ is a good thing to learn, probably the most
useful language but for starting I would recommend Visual Basic.

Anyway, knowing Blender and C++ you could also use GameKit.
Well I'm going to make a simple 2D over-the-top view game with Game Maker.
As someone new to the experience, I'd urge you to use Blender or Game Maker, and not begin by learning a coding language, and here's my point on why.
Both use graphical logic (It's what I'll call it, and it means that you can make game logic in a graphical user interface (GUI)) and therefore teach you how game logic is done, in a easy and intuitive way. Another thing is that you are 14 and therefore I'll make the assumption that reading might be cumbersome (because you might feel like you don't want to read, just do.), this is usual and many people never loose the habit, but what these two programs offer, is a very easy way to get started. Both feature scripting languages, which means that you can use it as further learning material. And making placeholder graphics is easy in both, so you don't have to waste time doing the art, unless you like to do that.
So all in all, both tools provide you with a way to make things fast, and in the process, learn many of the important things of game development, most notably the logic.
Now to choosing which one of the softwares to use. Blender's game engine is designed to work within Blender, and therefore focuses on 3D development, while Game Maker focuses on 2D, which means that if you enjoy working with 2D more than 3D, go for Game Maker, is it the other way around, then go for Blender. Both are good choices, and a good beginning step for your future in game development.

Personally I started with C++, and I'd like to emphasize that this was a bad idea! Why? Because I've never learnt the logic of game development, and therefore have never made a game except Tic Tac Toe (something which I'm working on changing now, years later). But I did find Game Maker quite some time after learning C++, but at that stage I thought I was too cool for such nonsense, because I could code, yet I could never finish my code. Currently I'm using Blender to prototype a game, and it's very easy.

tl;dr, don't pick up a language if you haven't even tried making games yet, pick Game Maker or Blender.

Note. I don't get why I've seen people tell beginners to use something like C++ and Ogre3D (A massive engine designed to be capable for AAA graphics). It's like giving a kid who hasn't tried Legos yet, the tools and schematics for building a house, and throw them a heap of books on the subject.
Currently trying to contribute to the Desurium project.

Macro, then refine.
Take the c++ class if you can. Its a lot easier to learn in a class environment then it is on your own. questions that can take days to figure out can just be answered quickly by your professor or a fellow student. also it will be a lot of help in the long run even out side of game making. plus you are in high school you dont have to pay for virtually the class which you will in university or college.
J-GREEN

Greenpanoply
I got started when I was around 12 years old by making mods for all of my favorite games (Unreal Tournament 2004, Homeworld, then Halo with the Halo Editing Kit and then Unreal Tournament 3). After I started digging into the Halo Editing Kit I found out how to write level scripts and that is what got me interested in programming. Basically what I'm saying is that you will always end up getting into programming at some point with this stuff, and at your age I would suggest easing into it by working with Game Maker or maybe Blender and then going to something like Unity and then learn a programming language after you've gotten some technical know-how. Just remember that if you continue to challenge yourself and always stay committed anything is a piece of cake.

This topic is closed to new replies.

Advertisement