NEO Scavenger Bug, Asset Upload, and Grid Experiments

Hey Folks! Today was sort of a mixed-bag of work spread across NEO Scavenger, NEO Scavenger Tablet, and the space prototype.

First, Kaaven pointed out a pretty significant bug in NEO Scavenger's treasure code. (Thanks, Kaaven!) Looks like any time treasure was giving out a range of x-y copies of an item, the game would only give x-(y-1) copies. This turned out to be an integer-rounding error, and I've changed the code to correctly round-up when appropriate.

The batch of NEO Scavenger fixes is getting a bit longer, so a new build may be due soon.

Steve also needed some additional sound assets for NEO Scavenger Tablet, so I uploaded those. Namely, the audio for environmental sounds and music were embedded in a different way than normal audio, so I needed to add them separately.

Thus began an hour-long wrestling match with Git GUI, a front-end to a version control system. Now, version control systems aren't known for their user-friendliness, so some opaqueness is to be expected. But man, Git is a special beast. The level of redundant-sounding commands beats even the worst VCS systems I've used in the past. I want to get some files. Do I Clone? Checkout? Branch? Pull? Or Fetch?

And when done? Do I add? Push? Commit?

I get that people don't like typing more than a few characters on the command-line. But come on. Also, it doesn't help that nearly every "tutorial" on Git starts with the preamble "let me tell you something about the history of version control..." Ugh. Just tell me what commands a human would type for a simple checkout/checkin process. Pretty please?

Anyway, I got that working despite the documentation's best efforts.

Finally, I've been thinking about alternate ways to handle ship tiles to satisfy some basic rules:

  • Outer walls only lit by outside sources.
  • Inner walls only lit by inside sources.
  • Humans don't overlap into non-walkable tiles when moving around.
  • Structure between inner and outer walls remains unlit (optional).

I had a really good discussion with Kaaven and matsy on yesterday's devlog post, and it's given me some directions to try.

I think my first attempt is going to be a smaller grid (10x10) where each tile is a single material type. E.g. floor, inner wall, outer wall, etc. The smaller size means I can make walls thinner compared to the current 32 pixel humans, and generally get more detail/granularity in ship layout.

It also, unfortunately, means pathfinding might cause overlaps unless I add special "padding" between open floor and walls. E.g. some floor adjacent to walls might be unwalkable.

And finally, it also seems like I'll have to divorce pathfinding flags on each tile from lightmap calcs.

So, work began on that today, and continues tomorrow. Have a good night, all!