Home Artists Posts Import Register

Content

Pledges are active again. The video above basically represents my February, if you're a patron you should probably take a look.

My partner has been working on art for the new game I mentioned last time. We have a pretty good idea what kind of visuals we're going for and she's making sprites already.

It's still too soon to say whether we'll stick with this new project so we'd like to wait a while before showing anything. It'll be at least a couple more months before I have any more news on that. If it falls through we'll let you know then resume work on Mushido.

Hope that's enough for now, I'll update you all again as soon as it makes sense to do so.

Files

Potentially Acceptable Rendering

Comments

Anonymous

hey Matt! You mentioned having issues with GameMaker's object semantics getting in the way of your thinking. You referred to your preference as "functional" but generally speaking the term you'd want to look for is "procedural." I empathize very strongly with the frustration around object systems and wanting to just write everything in straightforward procedural code. If you just want to not have the issue with object orientation, without getting stuck in systems programming like people are worried about, you might check out higher level procedural languages like Lua. It has a very procedural flavor, where the "tables" that Lua is known for can be used as arrays or as maps. It's really focused on being simple and lightweight, so people use it to run on embedded systems like microwaves without getting resource hungry or being too bloated. In fact there are bindings to SDL/OpenGL from Lua. Love2D is a particularly good one https://love2d.org/ Lots of actual games shipped and sold with Love2D. Some of the third-party libraries have objects, but Lua's general M.O. is to have "mechanisms over policies" where you can do objects, procedural, functional whatever, so you're never locked down. They're all implemented using the "Table." I don't use tables as objects, but libraries that do are still something I can use if I want. I almost always use Lua as my prototyping language, it's especially nice because it's an embedded language you can put into other projects (Love2D actually uses SDL and OpenGL itself, and embeds Lua) it's just giving you a higher level, but it's still a "render" and "update" and "input" functions, they're just called from the framework. Totally procedural, no assumption that you need to use objects. I'm not saying you shouldn't explore SDL and whatnot. Icculus and everyone else working on SDL make a point of ensuring your SDL code can work on any old platform/console you can imagine, so I recommend sticking with that for robustness. But it's really great to have tools that don't try to impose a particular approach/policy onto you, so if you haven't be sure to check out other procedural options. Here's a great example of someone using Lua as a scripting system for their text editor. https://github.com/rxi/lite The engine/renderer is all done in C/SDL. (It uses software rendering instead of OpenGL, but it would work the same.) The cool thing about Lua is, again, you can embed it yourself in future projects which might use SDL (or Sokol or Raylib or whatever floats your boat) because the VM is entirely written in cross platform C. (Neverminding LuaJIT, which is even higher performance, written entirely in a dynamic assembler.) If you want to get into systems programming then go for it, but if you want to ship a game I would advise not focusing on it too hard. I say this *as* a systems programmer who is a big part of https://handmade.network where we practice "from scratch" approaches as a kind of practice dojo/demoscene. But it's a *distinct* activity from designing and shipping a game. And there are options which will allow you to "reify" higher level code into lower level code later at a more granular level like Lua. TL;DR: You can totally be "procedural" and data-oriented without having to drill down into systems programming. Best wishes!

gibbdude

As someone enthusiastic about lower-level programming, this was cool to see. Personally, I find an approach this close to scratch a lot more fun and satisfying than GameMaker! I have no conclusions to draw about whether or not it'd help you make your games well or your life easier.

matthewmatosis

Hi Quentin, sorry I missed this post last month, it's a very thoughtful reply. As I said in the video, I'm the kind of guy that doesn't read the manual so I didn't do much research about SDL alternatives either, it was just the one I was most aware of so I went with it. I'm surprised Lua can be used in that way, I was under the impression it was just used as a scripting language for level designers and such. For now I'm proceeding with GameMaker as the most expedient path forward so I'm not going to return to engine programming for the foreseeable future but if/when I do, I think I'd still be inclined to stick with SDL, especially now that I've broken the ice with it. I know it's not the ideal way to make a game ASAP but it was very satisfying work for me, even just for its own sake. I'm sure you can relate. I'd go as far as to say it was the most I've ever enjoyed real-world programming and I think that comes with a huge productivity benefit which is worth considering. Obviously it's not enough to justify a "from scratch" approach every time but it was a good time for me all the same. I'll probably only return to this kind of work whenever I feel more comfortable about the status of my projects and thus can justify some self-indulgent work along these lines. Thanks for bringing Love2D to my attention and best of luck with your own projects.

Richard Rosean

This may be a bit far afield, but if you’ve never tried the flash games Sanguine I and Sanguine II they’re two of my favorite games ever made. Like a lot of flash games, they’re very janky and probably not as strong as some of the nes platformers they’re based on. That being said they have good some really interesting health mechanics and for how short they are I think they’re worth a look at.