Skip to main content

The Engine I Need Vs The Engine I Deserve

After thinking about the last entry for awhile, I came to a realization that what I essentially need for my indie game development endeavors are two entirely different solutions:
  1. A solution to quickly iterate the game concept to something I think it might be worth taking to completion.
  2. A solution to harness the maximum platform power in order to present the end game concept optimally.
It's a relatively famous The Dark Night quote, alright?
To these ends, it is currently looking like those two solutions are GameMaker and LibGDXGameMaker is the fastest iteration-producing IDE I have that still has adequate flexibility to see my ideas to a reasonable, if not completely optimized, production.  LibGDX is currently benchmarking among the fastest 2D API out there so it is a good choice for platform power optimization.

The reason for this dual-pronged approach is to protect me from two problems I would likely encounter.  The first problem is that I might do a ton of programming work only to find out that I don't like the end result: GameMaker's relatively high speed of iteration production keeps that to a minimum.  The second problem is that I might end up unable to realize the game due to an engine limitation, and LibGDX's power and complete flexibility provides an ace in the hole for if that happens.

I know there's a lot of Unity fans out there who are righteously happy to promote the engine, and for good reason.  However, I am not immediately jumping onto that platform is because the scope of my project is likely going to be a tile-based 2D gameUnity can be programmed to do that, but it's so far away from what it does by default that I would have to dedicate a lot of effort just reeducating the engine on what it takes to be a tile-based 2D gameGameMaker is not exactly that, either, but its wholly 2D focus makes it a closer start.

In all honesty, I am unable to prove that GameMaker truly produces faster iterations of the game without being equally skilled in all platforms and attempting a comparison.  But I feel that the theory is reasonable because Yoyo Games' approach to GameMaker's out-of-the-box code library seems designed to provide quick and easy solutions to most tasks you are likely to encounter in creating a game.

A good example would be pathfinding: GameMaker has a selection of motion planning functions all ready to go.  LibGDX has a powerful artificial intelligence package that requires quite a bit of learning to get working, and you can also utilize whatever JAVA-based solutions you might find and learnUnity has a rudimentary 3D pathfinding method that usually sends people to the asset store to find paid community alternatives.  In this example, I think it's clear that GameMaker would be the quickest method to get some reasonably effective pathfinding up and running, and I think this same general design philosophy permeates much of the platform.

It is also important to mention that Construct 2 and Clickteam Fusion are even faster to iterate, but have a much more narrow focus of applicable game functionality unless you are able to code your own extensions.  For example, Construct 2 has a rather nice pathfinding extension that is even easier to use than GameMaker's and even supports path costs (to estimate the effect of passable, but slowing, terrain).  However, my game concept involves more unique procedural generation that it's not reasonable to expect Construct 2 to provide by default, but its "code free" IDE significantly complicates my implementing it that way.  Thus, getting around this would necessitate coding an extension, an intensive process that is a significant disruption to producing design iterations!  In this way, GameMaker's integrated scripting language, GML, provides an important medium: it's less rigid than a "code free" interface, rendering the platform flexible enough to accept most custom behaviors without having to code extensions that override engine functionality entirely.

For me, the best part about choosing to utilize GameMaker is that I already know how to use it.  Well, I'm a little rusty, there's still more I can learn, but I've done some pretty advanced work in it in the past.  I am already at the point where I can start creating a game immediately rather than having to wait however long it takes for me to wrap my head around another IDE, but I should make time for a tutorial or two to expand my knowledge.

Much of my development entries over the past few months (or even years) have been because I felt the need to explore alternative development platforms.   So I have; provided an obviously better alternative doesn't show up to suit either of the two solutions above, I think I've finally arrived at the moment where I can start making things in earnest!
Post a Comment

Popular posts from this blog

Resonant Induction Really Grinds My Gears... In A Good Way

From about 2pm yesterday until 8pm today, I've been dabbling with my latest custom mod mix for Minecraft 1.6.4, which is this time very much Universal Electricity focused.
Aside from the usual GUI enhancers and Somnia, the primary contenders in this mix were:
Calclavia Core - Of course: this is the base of the Universal Electricity system.Resonant Induction - This seems to be largely focused on increasingly more advanced methods of refining ores divided across 4 ages of technological progression.  It also includes some really cool things such as assembly lines.  I'll primarily be talking about just a few blocks out of this mod today.Atomic Science - A mod dedicated to generating more of those lovely universal electricity volts via the power of splitting the atom.  Build your own nuclear reactor!  Deal with nuclear meltdowns!  You maniac!ICBM - A mod dedicated to generating more destruction using those lovely universal electricity volts (and more than a little gunpowder), it cer…

Empyrion Vrs Space Engineers: A Different Kind Of Space Race

In my quest for more compelling virtual worlds, I have been watching Empyrion: Galactic Survival a lot this bizarro weekend, mostly via the Angry Joe Show twitch stream.  What I have concluded from my observations is Empyrion is following in Space Engineers' shadow, but it is nevertheless threatening the elder game due to a greater feature set (the modding scene notwithstanding).

Empyrion is made in Unity, whereas Space Engineers is built on a custom engine.  While this does put Empyrion at a disadvantage when it comes to conceptual flexibility, its developers nevertheless have a substantial advantage when it comes to adding features due to a savings of time spent that would have gone into developing their own engine.  Examples include:
Planets.  Empyrion already has planets and space to explore between them, whereas in Space Engineers planets are in the works but still awhile away (so you just have asteroid fields to scavenge).Enemies.  Space Engineers' survival mode boasts onl…

Ancient Warfare - What Is It Good For?

The Ancient Warfare mod for Minecraft threw me for a loop.  I was looking for "villagers" that would perform useful tasks while simultaneously resolving the glut of food with a need to eat, thereby turning Minecraft into a bit of 4X game you can play from the inside.  Millenaire wasn't quite there, partly because recent updates to Forge had broken its compatibility with Minecraft 1.7.10, and Minecolony's development is not quite fast enough to keep up with the state of mods in general (they probably need to make a core API).
In comes Ancient Warfare, which does indeed provide workers and soldiers who need to eat, you can even order around a little army of them to defeat your enemies.  It has working waterwheels and windmills, something I thought was awesome in Resonant Induction.  It has a warehouse with a built-in sorting system, as well as courier NPCs that can move things from building to building, and crafting NPCs that can create things for you automatically - w…