Home Artists Posts Import Register

Content

The new scoresheet format is almost complete, but there are a few remaining bits to take care of. New bits. Being mostly done with the content I wanted to go ahead and get the in-progress character dump feature working (i.e. manually output a scoresheet for the current run before it's complete), and one of the main things I wanted to do specific to the dump is provide a short little one-sentence analysis of the current situation at the top, specifically where the "result" of a run is normally printed.

The situational summary would essentially have two elements, one describing your build, and the other describing your condition and surroundings. Really simple stuff.

So I started out thinking the first element would use terms along the lines of what we've come to be using in the community, e.g. "flight hacker," "infowar combat," and so on. Here were the initial notes I sketched out:

It started to look like it'd be in the form of [prefix][main][subtype], with the possibility of other hybrids mixed in there and whatnot. It's a practical approach, but also kinda boring.

So I thought what if we had it instead detect builds as something more akin to classes? The focus would still be on clear, functional names rather than creating whole new ideas unique to Cogmind or anything crazy, but it would be more fun than the dry (and even more limited) terms we normally use.

Unlike many roguelikes/games where you select a class to play, as you know Cogmind is dynamic, flowing experience and it's interesting to explore classification of these builds as they happen.

To this end I came up with a chart of characteristics and 13 names to go along with them. In the code, a series of conditional statements determines which "class" most closely applies to the build.

Then, since a single name would have been too limiting and many more creative combinations can be captured via a two-name system (kind of like multiclassing?), I came up with an additional 11 special designations that can more specifically describe some aspect of the current class. 

Unlike the main designation, this one is determined via a point system. Your build earns points in each category based on its parts (and sometimes other factors), and whichever category accrues the most points is applied as a modifier to the class. If nothing applies very well, then only a single base class is used.

Cogmind is not constantly recalculating your class. That would waste a lot of time, and also be pretty inaccurate when you're doing things like transitioning between builds, or lose a part or two for just a little while or are in the middle of swapping things in and out for whatever reason. What I did there is have it not only calculate only every so often, but also way until there has been a decent stretch of turns without any actions that affect your loadout, like attaching, dropping, swapping, etc. Only when your build is considered "stable" will it take another sample for analysis.

I was thinking about sharing my final class charts and breakdowns here, but for most of you it'd probably be more fun to happen across new classes and/or combinations while playing, so maybe it's better not to spoil everything.

Instead I'll just show you a few screenshots of my test run in which I traveled and battled through five maps as I changed my loadout around and saw how the game classified it. For this purpose I put a nifty "class readout" right at the top of the parts list. (I wasn't aiming for any particular builds, this is just what I ended up with, among others I didn't screenshot.)

I'm pretty happy with the results so far! (My happiness was doubled, no tripled, by the fact that I didn't have to track down any major bugs while testing the system--it just worked, but there's also the common saying that if you write this much code and it's not buggy, then you probably just haven't found the bugs yet xD)

What began as a little test/fun project could possibly even be expanded in a number of ways.

  • I'm thinking about adding to the scoresheet a list of all the "classes" you played during the run, ordered by what percentage of the run was spent in that form (showing the percents, of course!).
  • Maybe show this in the HUD (or somewhere else) like I did for debug mode? Make it optional? Put it in Wizard Mode? I'm on the fence about making this a standard front-facing part of the game since it's outside the realm of immersion, but is certainly fun...
  • Add achievements related to some of these classes?

Note that for this design process I also drew on my character archetypes post about Cogmind from a while back on r/RoguelikeDev for reference, which you might find interesting if you haven't seen it before.

I haven't actually gotten to the second element of the summary, but that one won't take nearly as long.

Comments

Via

It's awesome that the name changes even though the builds in three screenshots don't appear to change so much. While it goes without saying that such tasteful evaluations for players please us greatly, as you mentioned, always showing could have a little side going against immersion. Apart from dealing of always showing (incorporating into the main design, optional, wizard mode, etc), If you consider the name use besides scoresheet, how about making some NPCs, hostiles and alerts use it as one of cogmind's nicknames?

Kyzrati

Yeah the system seems to be nuanced enough to even work in the first few floors, though I've yet to see what it's like later on--only did a few low-Complex runs so far. Should probably be okay though, and the number of accessible combinations will tend to open up the further you get. Regarding immersion, today I added an advanced option to have the class indicator display on the HUD as in my shots, off by default. Nicknames would be funny, but I think only really appropriate if this were made more of an integral thing.

Joel Collins

Another idea is to occasionally change npc interactions based on your class. Warlord respects you more if you've got lots of cannons, you might be warned away from combat heavy areas if you're a stealth build etc? This sort of thing is a lot of content work, I know, but definitely adds to immersion.

Joel Collins

I suppose it does add complications regarding lore entries if there are multiple ways an NPC can react...