I’ve successfully refactored the064 Screen class back into the Display-Terminal-Screen paradigm present in 071, and the game is playable again. But I’ve also managed to optimize the update function out of the program and that’s made the game a whole lot faster. It now uses custom painting, which is really fast, and apparently much more portable than it was a few years ago. I’m actually really happy to be able to leave LibGDX behind for tihs project. It’s just not a good library for imperative programming (which is required for a console game of this nature).
I’m now taking a look at the load-save routines. The level library is important; I am probably going to create a save-game or game-state class and just serialize it. I’m not a fan of ObjSaving the entire engine!
Second, a note on stairs which solves a severe problem from previous versions that now seem easy. Stairs are pairs. Stairs must contain a from and a to. The from and to are: branch name and appear coordinates. Easy.