It kinda shows the power of the tool though - you can make games (within limits) without much prohgramming knowledge. And this is what Game Maker wants to make possible.

And it has certainly found a large and willing audience...

I like that GameMaker provides the greenest of the green with an introduction to computer logic. But beyond this I despise everything else about the software. At times I get a vague impression that YoYoGames is trying to convince people that game development can be just as easy and fun as playing video games, and that's really how the company is making its money.

Hey look you can become the next Notch by using "x framework/engine/poo". It is all drag and drop no CODING required. Yeah!!!!

I have tried GameMaker/Oger/JME/Unity/Construct/LOVE/little cocoas/several flash setups/and much more and all really are the same things. You HAVE to be able to code to create anything past pong. You also HAVE to have an artist to create anything people today give two shits about.

The big advantage most of these things have is the Visual editors. If libgdx had something like Unity, (not necessarily as huge and all componenty) it would blow up. People starting out love visual editors. They do not like staring at text. Developers also like visual level editors. Which is really what most of the game "engines" provide.

Personally, I'm all for game engines like Unity, Unreal, etc., and I have no problem with people or teams using them.

You are all right. New people wanting to make games will instantly go looking for something like Unity or Gamemaker, and tutorials on how to use such things. Me being one of those that did it as well when I was new to game development.

Game Engines are simply things used to save time, such as a library, but with other features. Companies usually will write their own game engines or derive from existing engines (i.e. GoldSrc being based off of the original Quake 1 engine), but I've not really seen that many companies using things such as Unity. Though I am highly sure they exist. I don't really have an opinion on game engines as a whole, but if you are referring to the WYSIWYG editors/engines like Gamemaker, Construct 2, etc., then all I can say is that they're simply for the people that want to design without the use of code. And I'll admit it, I've used Gamemaker a ton when prototyping basic ideas/concepts when I don't have the time to do any programming, and it's not a horrible tool.

I do however think that WYSIWYG editors like Gamemaker/Construct 2 shouldn't be used much in things like Ludum Dare or 7DFPS, but that's just my opinion.

The amount of games made in Unity for this Ludum Dare was just staggering... I tried to not have to install the plugin for it, but after seeing 10 games made in Unity, I decided to finally give in. I just feel like it's cheating though. Sure, you make an awesome game, but that's only because the engine does a ton for you.

Personally, I'm all for game engines like Unity, Unreal, etc., and I have no problem with people or teams using them.

But doesn't this WYSIWYG approach of Unity actually hurts you more than it serves you once your games become more complex? I've never used it, but i watched a lot of tutorials on Youtube (just out of interest) and while you can do scripting of course, it's all limited/bound to some visual entity (any may it be even invisible like a trigger). All these scripts were assigned and edited by clicking on some entity in the visual editor. Debugging this stuff has to be a nightmare. I even looked at a tutorial where they did some grid generation for path finding by using some third party tool and even that was all visual. There was no "apply this grid creator script to this mesh" option. It was all about selecting, clicking, adding and removing stuff in the visual editor. I can hardly imagine how one can create a complex game with it, but it obviously has to be possible, because some people do exactly that. Then again, i've also seen at least one complex game (rpg) created with Unity that was an absolute bug festival and they had to release more then 30! patches until now to make it at least somehow playable.

I respect Carmack but I would like him to respect the right of paternity especially when it concerns the scientific studies that he has used for years (not only French papers), public fundamental research isn't useless after all.

What do you mean? I never heard of anything about Carmack and scientific studies.

If you're a carpenter or plumber, you're much more effective with power tools.

We can all use a hammer and a nail to join two pieces of wood together, but you'd never build anything impressive. You'd be doomed to hobby projects in the shack.

Why do we have this aversion to 'power tools' ? Do we feel it's beneath us? Everybody using them is blowing us hobbyists out of the water with their productivity.

This is true, and I have no problem with developers using them when they understand what happens when they click that button. It seems like so many young people want to make games because its so cool, and they Google how to make games, and what do they get? Game maker and Unity and all these awesome game engines that will supposedly make your game pretty much for you. And then you have the tutorial series where you can actually learn to program everything yourself. Well, what would the average tween do in that situation given an easy way out (not that they know it is the easy way out)? They take the easy way and use these visual game engines and try to use them, realize its harder than they think and spam the internet with such simple questions its almost baffling. Most will quite any sort of computer science after that because of the bad experience they had.

Now some will stick with it and become awesome developers. Some will also learn how to actually program. These people I have no problem with if they use game engines. Because they know what they do internal, at least somewhat. I have issues with the people that sit down and start smacking buttons and hacking together some ugly platformer and then when it doesn't work, they complain and harass people for answers, and no one wants to deal with that.

tl;dr I have no problem with people using game engines if they know at least somewhat how they work. Kids just randomly pushing buttons annoy me because they want to be Notch but don't want to put in the work to become talented.

If you're a carpenter or plumber, you're much more effective with power tools.

We can all use a hammer and a nail to join two pieces of wood together, but you'd never build anything impressive. You'd be doomed to hobby projects in the shack.

Why do we have this aversion to 'power tools' ? Do we feel it's beneath us? Everybody using them is blowing us hobbyists out of the water with their productivity.

To be honest, I started programming by looking at the visuals and moving into it from there. Programming is very intensive in math concepts and design. Many talents that good games require is actually something programmers can't do, like art and graphics. Game Maker actually turns programming into an art form, which is actually really good for the non-math inclined to get into.

We, the programming developers, will always get blown out of the water designing games; The most creative people out there are artists and musicians. Programmers are usually mostly by-the-book drones who believe using the same library, or the performing the same process will yield the same results. It is naive to think this way, and that is why we will always remain behind in gaming. Success isn't denoted by a strict equation when it comes to gaming. The sooner we realize that, the sooner we will appreciate Game Maker/Unity and what it is allowing people to do for game programming in general.

We can all use a hammer and a nail to join two pieces of wood together, but you'd never build anything impressive. You'd be doomed to hobby projects in the shack.

Why do we have this aversion to 'power tools' ? Do we feel it's beneath us? Everybody using them is blowing us hobbyists out of the water with their productivity.

My guess: Some of these powertools are hard to learn, some are even difficult to use. In the beginning of learning, if one doesn't know yet how powerful they will be once mastered, it sometimes looks easier to make something of your own.

But I totally agree. We should use more powertools.

But to be honest, the time to learn how to use one of the real life powertools is about 10 to 30 minutes for me (drilling machine, jigsaw, buzz saw, angle grinder,belt sander, soldering, electric welding ...) Learning LWJGL needs some weeks at least ... maybe this is why people are a bit afraid of those. The entry hurdle is high.

But maybe I'm biased because I grew up with a father who used all that, and I learned how to use such quite effortlessly while growing up, so it only seems so much easier than the software equivalents. Electric welding was the hardest, but even that had some first success in 10 minutes, even if a pro would have frowned much on my welding - I had two pieces of iron together, stronger than any glue or soldering would do!

I dunno. I still agree on the idea that we should use more powertools in software development.

I think game engines can become a very alluring distraction to aspiring programmers (particularly hobbyists like myself, who don't know much better).

About two years ago I discovered jME and thought "woo, great, I can start creating 3d games without having to learn that OpenGL business!". The problem was, at the time I'd produced little more than a horrible naughts & crosses game with Java2D, and to be honest still had NFI about programming or Java. But I had a vision that I'd soon be pumping out awesome 3d gaming masterpieces.

So I spent a few months messing around with jME and getting nowhere, until the reality of my situation finally dawned on me: I didn't have the knowledge to make a game with, or without an engine, and that I needed to go back to basics and learn a lot more. All said and done, the engine had sidetracked me for a few months, and I hadn't progressed much as a programmer. My lesson was learnt, and I moved on.

So the crux of my story is: game engines can be great for programmers that already know what they're doing (i.e. as a 'powertool' as some have mentioned). They're not so great for people that want to become programmers but take the (perceived) easy way out.

*Note: This is in no way a critique of jME. It would've happened to me with any game engine.

And as we both know: You can't learn everything. There's too much to know and it's changing faster than is possible to keep up. If you look at really good researchers they only know a reasonable amount about of vary small number of related things...and most frequently very closely related...and (when provided) their code is most often horribly structured. Writing readable/writable/maintainable code really isn't a needed skillset for them. Closer to home pretty much all of the high-profile game engines use a fair amount of external libraries even for very important parts of the engine. It's not worthwhile for even big studios to invest time/money in reinvesting a wheel unless there isn't an off-the-shelf solution which fits the needed specification.

The key thing with these engines is not the coding aspect, it is the level building. If you use libgdx to make an RPG shootem up platformer. How are you going to make the levels? You will have to write some custom software to create levels. With these visual editors that interact with code seamlessly you do not need to write as much custom software. But you still need to actually code the game.

The more productive developers here don't seem to use monolithic game engines, they have a tool chain of different things.Kev Glass, author of Slick2D and a bunch of high quality games used to use - LWJGL for rendering, - Inkscape vector drawing program for making free-from curvy levels which can be saved as SVG an XML format, - Tiled or some other program for tile-based game world creation, - Phys2D for physics (an early derivative of Box2D before JBox2D superseded it), - Paint.NET or gimp for pixel art, and lots more I'm not aware of.

The key thing with these engines is not the coding aspect, it is the level building. If you use libgdx to make an RPG shootem up platformer. How are you going to make the levels? You will have to write some custom software to create levels. With these visual editors that interact with code seamlessly you do not need to write as much custom software. But you still need to actually code the game.

Yeah that's true about the level editing. Most of us never get to that stage. After we make the cool effect or achieve the super fast 'frames per second' goal we're satisfied and call it a day.

CommanderKeith is absolutely right. I rarely ever get to the point where I need to focus on designing levels. And if I do, its for a simple game that I made in a few hours and not an actual game I would think about putting up for people to see. I'm more interested in learning than I am about doing right now. Riven and Cas, they've been learning for a while, so using game engines would make sense!

Sure, you can always learn more. But I think sometime I'll hit the point where I'm also sick of learning and I just want to make something. If that ever happens, maybe I'll understand why people like Unity or JME so much. But for now I'll stick to my minimalistic tools that I created for myself to mess around and have fun. Isn't a hobby supposed to be fun?

The troublesome part is people that are deluding themselves into thinking they're working on a game and don't understand that they're really just tinkering. Of course that's their problem but they "share" with others by providing what they think is reasonable advice.

Well that's why I can't stand people that have never touched code before using game engines. They try to tell others what they need to do, and how this works etc... when they really have no idea how it works themselves!

I have no problem with game engines as long as you know at least a little how they work.

Devil's advocate mode: Take a person with zero programming experience who takes "Neverwinter Nights", uses the tool, some downloaded end-user scripts and some horrible written code they toss together by hacking-and-slashing the work of others and after a couple of month creates a playable module. Now compare that to someone with a high amount of programming experience who tinkers around with this-or-that and never finishes anything (or anything worth looking at). Who's the better game programmer?

More of who actually completed something or developed a game/ module or w/e. Not necessarily game programmer.

This is true. The people here (myslef included) are tinkerers primarily. NOTHING WRONG with that. But we really do not churn out any games. Riven just talked about how the featured section is barren. This is because we tinker more then make a game. We get all technical and write everything our selves so development on a game is super slow. Again, nothing wrong but we do not produce any games really.There are a few exceptions on here but you get my drift.

But the first person is not a game programmer, he's a game designer. Not to mention he pretty much took code from others, and probably doesn't know how any of it works. The programmer who tinkers has the ability to actually make a game, if he wants to, and will know how all of it works, so he can make an amazing game in a short amount of time, and be able to explain how (mostly) everything works. I don't think it's fair to call the first person a programmer if all they do is use a visual game engines and steal code. Don't get me wrong, I'm sure we've all stolen code, but at least we know how to use it and what it does vs. game engine guy who is just like well, this works so I'm done with it! And never looks at it again.

I was one of those people a while back, I used Blender to try to make games, and there's this one site which pretty much gives out scripts for anything you can imagine, and so I tried to make a game. It failed horribly, of course, and I realize today that I never knew how anything in my "game" actually worked. I just copied and pasted and hoped for the best. People like I used to be aren't programmers.

No player cares, but I care as a developer. Shouldn't that matter? If I was working for someone else then yeah, it doesn't matter. But since this is a hobby... I care and I won't use a tool that I don't want to use simply to get a game out. I will do what I feel is right so I can go to bed at night and feel satisfied with my days work.

But the first person is not a game programmer, he's a game designer. Not to mention he pretty much took code from others, and probably doesn't know how any of it works.

Single person indy game devs have to be programmer, designer, worldbuilder, artist, etc. etc. Only the final product counts. My (not-so) hypothetical first person actually wrote some code. Code that's in something playable that other users actually run when playing the module. The second hasn't.

To expand on 65K's response. The thing about tinkering is that it's a disease that's hard to overcome. Goofing around is fine as long as you understand that's what you're doing. Ability is pretty moot if it's never effectively applied.

Quote

I meant a short amount of time relative to the game engine guy.

If I had access to an existing game engine that did a significant percentage of what I needed, then there's no doubt that using the engine would have a faster turn-around time than writing everything from scratch. But really the important time investment is in content creation and not the code that the content runs on.

I understand what you all are saying, but I think we are at different points in our programming careers and as such will never agree on something such as this. I'm fairly new to coding (3 years) and I absolutely love doing everything myself, oddly enough. The only reason I don't want to use an engine is because it would detract my experience that I know and love. I imagine some people on here just don't want to learn anymore, but they want to utilize. So engines are a logical choice. I guess I'll never agree with that right now because I can't understand not wanting to do everything yourself and learning more from it. Do I want to make games? Yes, but I went to make them with my own tools. I'm ok with waiting a few years until I have enough knowledge and enough tools to do so. I just have to choose to not tinker, but create, and I'll be on the right path.

Some developers who still want to learn things can use engines, they can even improve them. Using engines requires to learn how to use them too. Your knowledge is never lost except if you decide not to use it.

Only way to learn making games is to make them. This also mean finishing them. It's also really important to get something ready so you can add it to your portfolio. With good portfolio you can get job as game dev quite easily but if you have some non finished tinkering who would want to hire you.

When Columbus was searching for the New World, he was looking for a shorter route to India. He ended up finding a whole other continent. Tinkering isn't a disease, it is a path to find a shorter route to an idea. If the tools presented were as accessible and easy as people said, people would gravitate toward it. It fills their needs.

In the video, they went over three reasons why people play games (Competence, Autonomy, and Relatedness.) The same thing that applies to gaming, is pretty much the same thing that applies to programming in general. We program to fill different needs in our lives. This is one of the main reasons why we can't just tell people what the best tools are and expect them to go for it. We also can't say that learning through game engines, regardless of how exceptional they are, is the best way. It fully depends on the individual needs of the person, and what they are trying to fill in their own personal lives.

Games happen to be the result of these elements coming together, more than a purposeful dive into the unknown. No one actually knows what the next big game idea would be. So, what happens, we "play it safe." It is a reason for the many franchise games that just stick a "2" or "3" at the end of the product. It is the reason that we don't see too much stray from the tried-and-true formula. It also covers why we see many clones of popular existing games. It is playing it safe, knowing that taking the low risk route would yield a return.

Enough of that.

Human beings are here for risk taking, and for venturing the unknown. The moment we stop advancing is the moment we stop existing. All of our current successes today come from those who were willing to take the risk to get us here. This way of advancing hasn't changed, we must continue to adapt for the future. This goes for gaming, it goes for programming, and it goes for life.

Advancement is not an equation, it is a state of improvement.

If we want languages to progress, gaming to progress, and our lives to progress. We have to be willing to accept change and the different ways people choose to advance it. There is more to being successful than just writing a game.

In general programming terminology isn't equal in meaning to the (in this case) English word used. In this case tinkering is "code tinkering" which is a very negative thing...unless you understand that's what you're doing.

Yes "Being productive is relative.". And when you don't complete things, your productivity is zero. From my days in management, I promise you...code tinkering is a serious disease that's a hard habit to break.

If Columbus had the equivalent to "code tinker" disease he would have never set of. He'd have spent his time designing the best way to make the trip, designed new boats, find the best people to accompany him. He'd eventually gotten bored and wondered off to some other "great" idea...which also wouldn't get complete.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org