Compton is now GPLv3

So remember that deadline I'd missed? Well today I'd decided to make that old project of mine open-source under GPLv3, with the disclaimer that it is abandoned and I'm only making it available on the off-chance that something there might be useful for someone else.

Keep in mind the license is flexible - if there is something specific in there that you really want to use for your own project, regardless of what license that is under, please get in touch and I'm happy to figure something out with you. But otherwise, yes, it's under GPLv3.

And just to explain clearly what this is, this is an isometric 2D game engine written in C++, developed from 2016 onwards - through a number of pretty heavy rewrites and other prototyping madness. It was used at one point for a game jam seen here and used to produce a viewer for an early prototype of the game Creatures, seen here, just to give you an idea of that madness.

This iteration was essentially developed on and off through 2021 and last year. If you're curious what it looks like, here's a screenshot.

You can find the repository here.

I've provided a few points about it below.

  • I was gradually outlining a rather ambitious AI system which I'd sadly never really gotten to flesh out for this, but the idea was all oriented towards the AI operating entirely on emergent behaviours driven by memory and influence, so for example an agent would not be aware of it's relationship with another agent and so that would dynamically be determined simply by action vs. outcome (i.e., I'm hungry so I'll try and eat this rock = no food returned and possibly pain, which is bad)
  • The pkgman tool is a very early version of a similar tool used for Yin
  • There's groundwork for scripting support (Lisp), which is actually reusing code from Abuse (please consider all that still under it's original license, i.e. public-domain - not that I've really changed much at all)
  • It's heavily oriented towards procedural generation; the terrain generation uses Perlin noise which it interprets essentially as a height-map, every grass tile has a unique grass pattern, characters receive unique names and there's some crap for generating territories, houses and other silliness - the terrain generation actually operates fast enough that you can update it in real-time, which looks pretty cool!
  • Rendering as split-screen is implemented, though while it certainly worked in the past I'm not sure how well it still functions as of this last iteration - iirc it supports splitting the viewport quite a few times but the logic for handling multiple players wasn't quite finished
  • The vc_old code is code pertaining to the game jam I'd worked on back in 2017

On one hand it's frustrating that I couldn't really bring myself to piece it together into something tangible, but at the same time, I think the concept I'd been pushing towards was way too broad and over my head. And it's nice to be able to just dump it like this and move on with my life.