I made the first commit of my game in May 2016, so I'm coming up on a year of development time here soon. In some ways, it doesn't show. For one, I haven't spent all of that time working solely on the game - I've taken long breaks, and even when working on it, I only have the time that is outside my normal working hours.
In other ways, it definitely shows. In the codebase itself, I've formed a foundation which is a joy to work in. The majority of the time spent over the last year has been engine and toolchain development, both internal to the game code and external.
Some of the work I've done in the realm of "foundation" is already open source. gdash
, which I've already posted about here a while back, is an open source gml package with a bunch of very useful data manipulation functions that are either missing or sub-par in GML. While it isn't rampantly popular, it has 13 stars as of today, which is actually pretty good for a GML repo on Github.
The GameMaker community isn't exactly the most technically advanced bunch on the whole, but at least from my vantage point, it seems like there is a shift in the wind. With the release of GM:S2 and what seems like a renewed focus on making GameMaker a really nice utility, I've been tinkering with the idea of packaging up a lot of the foundation work I've done as an open source project, so that others may get going quickly with a project idea they may have.
The foundation work I've done is largely game-agnostic. I purposefully kept it so while writing it so that I could re-use it in other projects. It covers things from data manipulation (gdash), to game state management, to saving/loading, to custom event and timer implementations to provide an alternative to GameMaker's frame-focused timers. Not to mention just a big folder of scripts that are basically my answer to "how the hell does GML not have this function?" Examples include "ds_list_add_map" and "mouse_is_hovering".
My current proposed toolchain would be a handful of GML packages that work well in tandem to make for a better starting point inside of GameMaker. No game logic, just tools to help make the game happen. I've spent a year building these tools, which is a year of time not
spent building content. Luckily, I'm on the content building phase now, and thanks to a great foundation (which does include game-specific tooling as well, not to be included in this proposal), I can sit down and crank out new content in short bursts, rather than having to build endless situation-specific code.
If this is something at all interesting, I'd like to know. I've been on the fence about this for weeks. I'd like to gauge general interest vs preferring to roll your own solution. Though, I just realized this is absolutely the wrong community to ask the question do you prefer to home-roll solutions