New Display Method? And Level Generator Implemented


New Display Method?

Until now, the game has drawn the level and all entities on the graphscreen, which means it uses the graphscreen's small character set, and also that the proportions of the level are much more square than your usual roguelike, since on most terminals characters are taller than they are wide (but the opposite is true with the way that characters are currently drawn)

Long story short, the home screen (which is where all the usual stuff you do on a Ti-84 is displayed) can be accessed with commands like Disp() and Output() which mean that I can draw directly on the homescreen. This means that characters would be much bigger onscreen compared to how they render on the graphscreen, and that also all of the current "overwrite past character position" code could be removed, since on the homescreen the act of filling a spot with a character already clears it. This would probably greatly speed up execution. This does, however, come with some added challenges, such as the fact that the home screen has 8*16 rows instead of the 10*12 rows I'm able to get away with on the graphscreen. This means smaller levels, but also much faster round times and bigger, more legible characters.

Here is a comparison of the classic Graph Screen display and the new Home Screen display:

The "classic" Graph Screen display:

A mockup of the "new" home screen display:


The way I see it, the graph screen has *much* more real estate to work with, and levels look much more cramped on the home screen. However, with the greatly improved drawing speed I think going between rooms in the home screen display would be a much more pleasant experience, so we could end up with an equally large level (by going between rooms). The other option would be to implement some sort of a scrolling display, but this would most likely take a while to draw onscreen, negating the benefits of switching to the home screen in the first place.

Now, on to the main development: the new level generator.

Changes in the new level generator

  • Levels now generate in a much more procedural manner, roughly following the process I outlined in the last devlog.
  • Doors are now in, though they don't do anything yet.
  • Thanks to the new level generator, almost all levels are now passable (the only exception I've seen so far is the seed "5" which creates an impassable barrier at the start of level 0, but I'm still working on figuring out why this happens)
  • Some levels now generate huge empty rooms along with a large passageway, I'm not sure exactly how this happens (it probably has something to do with the "U-turn" generator not being 100% bug free) but I plan on exploiting this to generate "chest rooms" or something of the sort that would generate if enough empty space is present in the level. They seem to have a ~1/20 chance in spawning, which seems fine for your average chest/loot room.
  • Doors and other rooms within the same level are a w.i.p still (which is why this isn't an Update post)

Get CalcRogue 1.4 (Rebalanced difficulty!)

Comments

Log in with itch.io to leave a comment.

An update: I rewrote the code that handles where branching hallways are spawned, which means that seed 5 and a the few other seeds that weren't working now work, and hallways will now spawn on both sides of the "main" hallway (not sure how the code I wrote earlier worked since it wasn't doing what it was supposed to be doing at all). Now I plan on adding some horizontal hallway generation code so that there's more than one path through the levels, but I'm sick of writing in TI-Basic's frankly moronic syntax so it probably won't happen for a while.