It’s a shame that making simple games doesn’t require coding like it used to. For myself, and a lot of others I’m sure, games were a huge motivator to teach myself programming. Now kids won’t be as motivated to do that
I would have killed to have tools like Unity when I got into game programming. All of my hobby time was eaten up trying to wrangle OpenGL and C++ and crappy open source engines, and cobbling together a shitty physics engine, so I never got around to the actual game part. When I went back years later to prototype ideas in Unity, it was a breath of fresh air.
However, in my struggles to get off the ground, I did learn a lot more about font rendering than I ever wanted to, and it has come up unexpectedly useful.
> I would have killed to have tools like Unity when I got into game programming. All of my hobby time was eaten up trying to wrangle OpenGL and C++ and crappy open source engines, and cobbling together a shitty physics engine, so I never got around to the actual game part.
I'm still in that boat, and I am an 8 YoE "Software Engineer". I recently got into boardgame.io library (also made by a Googler, coincidentally) and it is a fantastic library.
I've attempted to make min-max CLI board game simulations before but failed. Also tried (still somewhat active) to make a 2D artillery game and got close, but just kept getting bogged down in framework (actually migrating from framework to framework) and other chores. Currently it uses LibGDX.
With this boardgame lib I just wrote game logic. It was fun, for a change! Plus it has multiplayer and integrates with React really well for a UI so it's actually useful.
I just wanted the CLI boardgame sims to find the best moves/races in games I play IRL. With this I can actually have other people play and maybe show it off at some point.
I had to write my own font rendering code for lack of much in the way of general purpose libraries for doing it in 3-D engines back around 2005. Your options were, more or less, to pay through the nose for Scaleform, to roll your own, or to use something really ugly. So I had to learn some basic typography to tie Freetype into a text rendering engine, which got me practical experience with editing font files, anti-aliasing, hinting, kerning, processing digraphs, Unicode, the works.
Web 2.0 started more or less right after that, so interest in digital typography in general exploded. I ended up working on some applications of text layout in non-left-to-right and pictograph languages for 2D canvas, SVG, and web based image manipulation in general. So out of sheer coincidence my hobby work messing with OpenGL/Freetype was suddenly directly relevant.
Quite the contrary - tools like these kinds of gamemaker programs, which factor out knowledge -that previously required a huge amount of individual energy expense- into the social domain, make that strong visceral+interactive portion of computer art more likely to be experienced by more people, leading to the greater likelihood of wanting to learn how to go deeper into those experiences teased by the gamemaker programs. The obvious analogy is how the usefulness of view-source in the earlier days of the internet lead more people into pursuing programming than when you needed some sole purpose programing language compiler or interpreter to see the power of computer code in action.
More people being able to do more stuff is just better. Gatekeeping is rubbish.
It still could introduce people to logical thinking. For me when I was kid I was too stupid and gave up too easily to code anything. It felt like an impossible task to learn everything to even get the basics up and running. And it was my dream to make games as a child. Even modding felt like magic beyond my grasp. I couldn't even make a game with RPGMAKER. Maybe this will help someone like my kid-self find that with a little bit of time they can do it.
But more kids are writing more code now than ever before, there are books on it and classes on it and video series and coding literacy is actually a cultural movement (maybe driven by a need to depress wages by oversaturating the market,) multiple game creation frameworks and the modding scene which is huge. Motivation is clearly not a problem.
And the sort of simple games that don't require coding in these frameworks are the sort of simple games that no one wants to make and no one wants to play anymore. Sure, you can make breakout or pong or a really, really terrible shooter[0] with just the GUI, but kids who want to "make games" don't want those, they want to make the next Minecraft or Fortnite or MOBA or whatever, which means they're going to have to learn to code eventually.
Not everyone has to start with helloworld.c and learning how to write their own renderer from scratch nowadays. But if and when they do want to learn to write code, then they have far more and better options available than previous generations, from asset packs and templates to Handmade Hero and everything in between.
“You can build your own cards with Javascript. Game Builder comes with an extensive API that allows you to script almost everything in the game. All the code is live, so just make a change and save it, no compiling required.”
This was true for me as well, before I even learned what programming was, I was already creating custom maps and making scripts through trial and error and lots of visits to google and the wc3 forums. It was nostalgic many years later learning "real" programming as an adult. I think it was a good learning experience and I sure had fun with it.
'triggers' were recently resurrected by the new Overwatch map editor basically just drop down boxes with 100's of conditions... I just don't have the patience when I know I could write this code myself If I actually knew the API
The block-based visual programming system also looks similar to Scratch. I think kids still pick up valuable experience with basic logic, side-effects and weird cases like non-terminating loops.
I met a 10-year-old who made a cat-and-mouse game with Scratch. He was thrilled to explain to me that in a previous version of his game, touching the mouse would do infinite damage. He needed to throttle the damage function to 10 times/sec to get reasonable scores.
Yeah, I repeated that as a mantra when I was first learning to program and trying to make games. We all did, it was a common meme of our local game development scene.
And it's utter and complete nonsense. If what you want is to make a game, then these tools aren't half as bad, and at the level of simple games, unless you have some really novel mechanic, you're quite literally wasting time and effort coding it instead of using a game builder.
What drove this point home to me after more than a decade were two situations.
1) on a global game jam, the artist in our team got fed up waiting for us programmers after 3 or 4 hours, and did the prototype we're trying to build in 15 minutes flat, using Construct 2.
2) you too may be surprised to discover that some of the fun and highly acclaimed titles like Cook Serve Delicious or Nuclear Throne were made in Game Maker. I didn't even suspect it until I found it on-line (in the former case, because sources were available in Humble Bundle's Game Maker bundle).
There's value in hand-coding a game, and this is what I still like to do in simple cases, but it's often not the practical option. And if a game maker allows you to add custom code, then really there's no difference between this and Unity or Unreal Engine.
Also, a lot of professional game developers seem to have gotten started with Game Maker as children. One example that comes to mind is Matt Thorsen, creator of Celeste.