Fugue Devlog 17: Content Management System

· 10.14.2022 · projects/fugue

It's been awhile but I have been working on Fugue here and there. The biggest accomplishment is a more cohesive content management system, making it easier to keep most game-related content in one place and in a consistent structure. That way I don't have to worry about misplacing things and I can build more automated processing tools without the whole development process becoming a total mess (I hope).

World Wiki

One of the CMS tools is a simplified wiki for the game world and mechanics. I'm working on copying over all my random scattered notes but this is so much easier to think with already.

World Wiki entry

Sequence Editor

I've also ported over the sequence editor. I'm not 100% certain that I'll stick with Godot and so I want to be able to write all the action/dialogue sequences in a portable format. This saves sequences as a .seq file (which is really just a JSON file). Godot supports import plugins which are able to import custom filetypes into Godot resources. I'm doing the same with items (not pictured here), which as saved as .item (again, just a JSON file).

The actual integration with Godot is very hands-off. I just symlink the relevant CMS folders into my Godot project, and then the importer plugins handle the rest. That way I don't have to mess around with copying over files, worrying if they're the latest/correct version, etc. Whatever the CMS shows is what Godot sees.

Having a totally custom sequence editor gives a lot more control than the Godot addon I created. The downside is that validating actors/agents, scene objects, etc is difficult because that data is in Godot scene files (.tscn). These are plaintext but still requires parsing, so I wrote a .tscn parser which will pull out all the relevant entities that might be available to a sequence. I decided to use these extracted entities as suggestions for a sequence, not for validation. I thought that perhaps the workflow would be: write sequences in the CMS and then setup the Godot scene to match it, in which case validation is probably best handled from within Godot.

The rest is less interesting. There's a visual reference manager, which is really just a fancy image viewer:

Reference Manager

And I've ported over the texture manager/editor from before, with some snazzier features, including texture/image synthesis:

Texture Manager

Texture Editor

Outside of this CMS tool I've been experimenting with character modeling/generation, which is one of the last major (and most intimidating) content production questions (along with character animation—I'm waiting for the next release of FreeMoCap, and I've kind of accepted that object modeling will just happen by hand). I feel that I'm getting close to a good process. Hopefully I'll figure it out soon.