Home Artists Posts Import Register

Downloads

Content

A loooooooong time ago I explored morgue files in various roguelikes and wrote about a potential future for Cogmind's own scoresheets. Well as we march closer to 1.0 and a lot of the content and systems are already in place (the game is much more mature than it was back then!), plus we already have a lot more experience with run data and what people want to know, so it's finally time to build scoresheet 2.0!

To prepare for this I first exported all the existing score data parameters to an external text file. The original scoresheet data types were done back in 2012 after the 7DRL, and lived inside the code as a bunch of separate arrays. It was messy, and I never cleaned it all up  simply because I knew that one day (today...) it would all be replaced anyway, so may as well wait until that day in order to do it right the first time. This allowed me to merge quite a few arrays and multiple disparate bits of data storage into a single text file with contents represented by a single data structure:

It feels sooooo much better that way. (It also gets all those lines out of the source to lighten that up as I prepare to rip it apart and rebuild the Scorekeeper class for the new system to be.)

The next step is the less technical part of figuring out what all to include in scoresheet 2.0. I have lots of notes on this, but the main issue at hand was how many values to store--same as before, one per entry? Or values at every depth? Every map? Here I did some quick early mockups while thinking about this:

I decided we'll go with per-map data, so based on that decision combined with all my other notes I started putting together a mockup of what I want the new scoresheet to contain, and how it's organized. You can see the current state of that format, raw and with some of my ongoing annotations, in the attached file.

The plan is to break up stats into more groups so that it's easier to find things. Also since hundreds of new stats have been added over the years, better ways to organize them have emerged.

There's still more work to do on the mockup, and then I have to build the data structures and code. The process as a whole will take a while, but as the initial mockup nears completion I thought I'd let you all take a look to see what you think :)

Notes:

  • Because I used a winning run uploaded by Amphouse as the basis for this mockup, some parts of it may contain spoilers. I edited out some of them, but if you are afraid of spoilers try avoiding any sections that you'd expect might contain them.
  • While the per-map data formatting gives you an idea of what it might look like, many of the numbers are either made up or outright missing.
  • One of the things I'm not sure on yet is whether to include per-map data for all Combat stats or not, and the same with Hacking. Obviously some should, but all? (Right now the mockup shows all Combat stats with a per-map chart, and Hacking with none, just because I haven't decided yet.)

Comments

Via

Wow. Since at Cogmind it's stronger tendency to 'choose' my own gameplay than usual roguelikes, the record is very important. The more learn the game, the more I became aware of this. The first reward is the win itself, the second or later rewards are how I won. So I'm rooting for you working on this horrible project! History: I can follow the comments there. While this list can be *very* interesting (For example, when I go to the W branch and leave there without speaking to him and win the game, the history of having/not having a conversation with him would have big meaning. Of course, even if you limit this to small encounters, it will be very worthy for me), it can have a sticky problem about overlap with other lists. As my personal desire, I would like to see various narration including your jests, immersion, and challenges as like...um, already I see a sign of overlap with achievements. (It seems that Patreon's sever judge editing a long comment to be spam, so I split this in two.)

Via

Per-map data: That's very necessary! I should know how much kinetic damaged me at -3, rather than a total through the run!...that's what I'd like to say, but if it depends on the readability and processing load, my voice will become much smaller:P Floor's name: I like Cogmind's design that a floor's name is still unknown until getting some data even if the player actually passed there. But I guess that one player's own scoresheet1.0 and maybe 2.0 can be a minor spoiler for oneself. While this is a fairly small subject and has almost nothing to do with myself as I already know all floors (well, probably), just to make sure, I posted this.

Joshua

Re: removing prototype ids. I agree it is mostly useless for one's own runs but it can be intriguing to see undiscovered items in others' scoresheets. A list of all items activated / picked up / equipped similar to the AFD mode would speak even more directly to that, though.

Kyzrati

I mainly want the scoresheet to be a decent record of a run, not intentionally introduce potential spoilers (which we'll be getting a lot more of anyway under Scoresheet 2.0 with all the new features), but what prototypes were identified isn't too meaningful. It was done a long time ago just when the scoresheet didn't have much content, for the heck of it because it was easy. Readers can still get your dose of "ooh that's an item?!" from the parts list, peak state, or favorites :) You mention a list of all used items, and I struggled with that one for a while in the mockup plans because I really really wanted it, *but* for many runs it will literally be hundreds upon hundreds of items long, plus you'd probably want some other data attached to each of *those*, and altogether it just gets out of hand, so I think we may have to scrap that idea... The other related idea was "build loadout at each exit," and it similar would be a pretty long list, and take up so much room in the sheet compared to its value. Valuable, yes, but all that space :/