Noxico


Guess that to do.

Finally stopped procrastinating and reworked the savegame format. It’s a bit more like Minecraft now.

Instead of a single world.bin containing every board and their respective entities, there’s now a world.bin that only contains some meta information on the region and the player data, and a series of Board###.brd files with each board and their entities.

Instead of loading the entire region in memory, only recently active boards are loaded, and flushed to disk after a period of not having Update() called. So in the corner of the world, only four boards are in memory plus the recently seen, at the sides only six, and anywhere else nine. And in dungeons, only the recently seen are in memory.

If an NPC moves from one board to another, they’ll physically move from one file to another – but only when both boards are flushed.

Not only is this somewhat more memory efficient, and does it cut down on loading and saving times, but it also opens the door to region switching ala Minecraft, letting the player travel to an entire new region in the same game world, to be generated when the player actually gets to that point, all by adding another level of folders! Noxico\Save name\Region name. BAM.

And dungeons. Can’t forget the dungeons. I can just scatter entrances all over the region now and just mark them as “ungenerated” or something. At the current world size (which is 8) I have 64 board files. This number would increase as I try to enter more dungeons.

[ ] Leave a Comment

IIIIIIIIIIIIIIIIIIIIIMPS!
I tried to dispatch these pests, but there’s too many and the damage determination is too simplistic.
The darker shades are the remains of their slain compatriots. My character is a reasonably dark shade as well, at this moment, but the message box covers it up.

[ ] Leave a Comment

Dialogue?

That’s correct, I’ve started on having conversations with characters. It’s sorta-kinda inspired by how Skyrim does it, and it’s not quite done yet. Mostly because you can’t pick any responses yet.

[ ] Leave a Comment

Wish you were here

Welcome to lovely Summercrest, where the sun’s nice and hot, and naga can marry man. Randomization being what it is right now, the only people not spoken for are Mai Kobayashi the Foxgirl and Kiku Okamoto the Catgirl. Notice also the switch from PNG tilesets to TTF, allowing almost the entire Basic Multilingual Plane to be used and generally making tile size very dynamic indeed, since they are now based on the point size of the chosen font.

[ ] Leave a Comment

No DTD for the body plans and stuff?

Went from this:

<bodyplan>
 <culture>
  <human />
 </culture>
 <terms>
  <generic text="yes">human</generic>
  <male text="yes">man</male>
  <female text="yes">woman</female>
 </terms>
 <playable />
 <tallness>
  <roll>1d50+150</roll>
 </tallness>
 <hair>
  <length>6</length>
  <color>
   <oneof>blond,brown,black,red,gray,white,auburn</oneof>
  </color>
 </hair>
</bodyplan>

…to this:

bodyplan
 culture
  human
 terms
  generic: "human"
  male: "man"
  female: "woman"
 playable
 tallness: roll 1d50+150
 hair
  length: 6
  color
   oneof blond,brown,black,red,gray,white,auburn
-- Can also do color: oneof blond... to make it a text value for the color
-- token instead of a new child token to color.

This solves the problem of not being able to make a DTD for XML files that include tokens. Not only that, but no end tags to mismatch and no more brackets.

[ ] Leave a Comment