Game Maker and similar tools

Hi guys, I was planning to build a tool to create games. Searching around I found lots of tools. Most of them are paid:

I never played around with this tools. Does anybody have any experience with them? Can they really produce great games? Or just casual and simple ones?

I don’t want to re-invent the wheel, but I’d like to build something with my own efforts to get knowledge and for fun.

I also though to develop a game library like Slick2D or any derivative. Maybe it’d be better to develop a game library first and then build a game designer over the library… don’t know…

just some thoughts

Those are trivial tools to create trivial games. Casual and simple to say the least. For any professional-quality game, or even anything that doesn’t fit the pre-stamped mold these tools force you into, the tool we use around here is the Java programming language :slight_smile:
(and some libraries like Slick2D, LibGDX, LWJGL, JOGL, etc)

Do not start by writing libraries. You need to gain experience writing a game or two or ten or twenty before you even think of writing a library, because at that point you’ll know what you want to break out into reusable code.

Even then, take advantage of the work of others freely offered to you; reinventing the wheel isn’t necessarily always a bad thing, but your new wheel design should at least offer something advantageously different than all the others out there.

I don’t agree that those tools can only make trivial games. Not GameMaker, at least. I’ve seen several very impressive project, when I was younger and played with it a lot.

I do agree that these tools very much restrict your freedom. I went back to GameMaker, not long ago to write a simple game (This is after learning and getting comfortable with Java), and I found it hard to plan out my game without being able to use classes, or define aspects such as sprites, animations, object, etc. exactly how I’d like to.

I don’t think you should build one of these IDE’s for game making. Try going for a game engine, that provides a lot of tools to make game development easier, but allows the user to expand on your provided code.

More robust engines that are also payed would be Unity, Torque, and Unreal engine. I guess there is also a cryengine sdk but who really uses that anyway. :smiley:

I used game maker and it is great for learning how to plan things out in a game but is not very robust and can be very restrictive if you do not know how to use it.

If you are looking to make a game engine…don’t. It is very hard and you will most likely not make anything better than what is already out there. Make some games and you will find your self with an engine.

Now one thing you can do which I think a crap load of people would love is take an existing engine/framework say slick or libgdx (java ones obviously) and make an SDK for said engine. That way you could focus on making a kick ass SDK with, preferably, visual WYSIWYG editors to help stream line the game creation progress and not get bogged down with programing the engine. I would pay an arm and a leg for something like a simplified Unity editor for libgdx.

I’m just gonna say, I looked and played around with Game Maker many years ago
If you want to do good scripted scenes… all that scripting in Gamer Maker you gotta learn… you might as well program it yourself
Only with bigger tools you can really do even anything interesting, but there you’ll likely spent more time looking how to do, what you want to do, then it would take to program it.

I guess it always depends on how familiar you are with specific tools. If you are able to make good looking games with GameMaker and if the license costs aren’t too high you should really go for it. Barely anyone is interested in the tools/programming language you used to create your game. Of course is it quite important to know what’s going on under the hood, but not exactly necessary.

There is. But as far as I know the license for the cry engine costs ~1.000.000$.

Of course a game engine is hard. You don’t really learn much until you take on challenging projects that force you to learn more about the matter.

I think if you are really interested in game development, writing an engine is a great idea. The point is to learn what’s on the back-end in terms of a game, rather than trying to make the next Unreal Engine.

Even if you are using an engine already created, you still have to learn how to use it. If you wrote the engine, you are going to understand it perfectly, as well as how to implement it.

mmm… no!
Crytek has a very similiar license model as the UDK or Unity.
you create a game sell it and then you give the engine owners some percent of the money you made

The difference:

  • “I want to create engine/library!” - “No! finish some games first.”
  • “I want to create game tool!” - “No! start with engine first.”
    That’s all my vision of JGO since registered ;D

If you are planning to make a GUI that let’s creating games, you can see my game engine. It supports some of the game maker’s actions.

See

Project - https://code.google.com/p/game-engine-for-java/

Action list


[GEJ SUPPORTED LIST]
  [Actions]
    * Total Done Actions 35
    * Total TODO Actions 17
    * Total PARTIALLY_DONE Actions 1
    * Total Done GML Functions 9
    * Total TODO GML Functions 10
    * Total PARTIALLY_DONE GML Functions 0
  [NOT_IN_GM_BUT_IN_GEJ]
    * Animated Fonts
    * Image Fonts
    * Object Acceleration
    * Different Types of Objects
    * In Game ResourceManager
    * Five GameStates
  [IN_GM_BUT_NOT_IN_GEJ]
    * TimeLines
    * Paths
    * Particle Systems
    * 3D Functions

[Done]
  [Actions]
    ; Movement Functions
    * Move Fixed
    * Move Free
    * Move Towards
    * Speed Horizontal
    * Speed Vertical
    * Reverse Horizontal
    * Reverse Vertical
    * Jump To Position
    * Align to Grid
    * Bounce
    ; Main Actions Set 1
    * Create Instance
    * Destroy Instance
    * Change Image
    * Change Animation
    * Play Sound
    * Stop Sound
    * Check Sound
    * Previous Room
    * Next Room
    * Restart Room
    * Different Room
    * Check Previous
    * Check Next
    ; Main Actions Set 2
    * Restart Game
    * End Game
    ; Control actions
    * Check Empty
    * Check Collision
    * Test Instance Count
    * Test Chance
    * Check Mouse
    * Check Grid
    ; Extra Actions
    * Set Cursor
    ; Global Settings
    * Fullscreen mode
    * Scaling
    * Display the cursor
  [GML]
    ; Real valued functions
    * random(x)
    * random_range(x1, x2)
    * frac(x)
    * sign(x)
    * choose(val1, val2, val3,...)
    * min(val1, val2, val3,...)
    * max(val1, val2, val3,...)
    * mean(val1, val2, val3,...)
    * point_distance(x1, y1, x2, y2)
 
[TODO]
  [Actions]
    ; Move Actions
    * Gravity
    * Friction
    * Jump To Start
    * Jump To Random
    * Wrap Screen
    ; Main Actions Set 1
    * Create Moving
    * Create Random
    * Change Instance
    * Destroy at Position
    ; Main Actions Set 2
    * Set Alarm
    * Sleep
    * Display Message
    * Show Info
    * Save Game
    * Load Game
    ; Control Actions
    * Check Object
    * Check Question
  [GML]
    ; Real valued functions
    * irandom(x)
    * irandom_range(x1, x2)
    * random_set_seed(seed)
    * random_get_seed()
    * power(x, n)
    * logn(n, x)
    * median(val1, val2, val3,...)
    * point_direction(x1, y1, x2, y2)
    * lengthdir_x(len, dir)
    * lengthdir_x(len, dir)

[Partially Done]
  [Actions]
    ; Move Actions
    * Move to Contact

I’ve got to ask SHC, what experience do you have? I’ve looked through your game engine, and I’m rather impressed. I’m writing my own at the moment, and I figure your engine could give me a few pointers.

I have looked it too and it looks pretty good.

I had learnt game programming from the newboston tutorials on youtube. I’ve been coding from 3 years.

I did Game Maker for a while, and honestly its more confusing than it should be. I think all in all, the fun part of game dev is the math and stuff behind it, which engines and stuff kind of take away.

Yyyyyyeah, Iiiii’m … gonna have to agree to disagree on that

I want to create a game, not do trig and physics homework.

Which tutorials did you follow? I’ve only watch the Java Game ones, and they are extremely lacking. I’ve done general programming for several years. Game dev is a whole other league.

Well maybe we share different opinions, but I think part of the fun is the math behind it. I think its cool to know how things work rather than just use them.

The ones at

http://zetcode.com/tutorials/javagamestutorial/

http://www.gametutorial.net/

Omg sproingie I completely agree. There is a reason why we abstract as many things away as possible. Look at simple text rendering in opengl. Do you really want to rewrite that all the freakin time? trig? rotation? norms? AHHH!!! Just let me make the damn game.

I had checked out game maker and though its gui is found to be lacking, the scripting is enough to make a good game. If you don’t want to pay, you may consider using Enigma.

At first make a basic frame work and try making a game like space invaders or pong or anything and implement the most needed functions in the framework. Also exploring the actions provided by different tools would help you determine which functions are useful and which are not.

In this way first make the engine and when you are sure that it is much useful to make games, design a gui.

Some ideas for the GUI

  • Add support for making custom classes
  • Save to source and then compile
  • Else you may consider using scripting engines like BeanShell etc.,