I’m back working on Vecalabeth again having not so much as looked at it in months. This time I intend to get it playable before I do anything else but I have of course said that before. Since the last post, I’ve added in a proper dungeon level for testing, shops, monsters that follow you around and only appear on the appropriate levels, moving between said levels + Lord British and his quests (although he is a little less polite than usual right now).
In terms of a “playable” alpha, I’m getting there. The problem I’m running into yet again is lack of memory on the Vectrex32. It’s an amazing gadget but this restriction has consistently made things harder than they should be. Memory is so cheap these days, I really shouldn’t be having this sort of issue with a handful of arrays. It’s one of the factors that has been discouraging me from working on this as I’ve never been convinced that I’ll actually fit the game in. Simply storing an array of monster names for use when doling out quests was enough to push it over the edge again.
A solution is at hand in that file input and output support was added in the last week or so. A large chunk of my code is arrays of plotting instructions for drawing all the monsters and everything else. I’ve moved these into files and only load each one when drawing that item, hopefully freeing up enough space for me to get this thing finished.
Even this isn’t as simple as I might have hoped since in this version of BASIC there is no function to convert a string to a number! Not something I thought I’d ever have to do but I’ve had to write my own procedure to manually convert the coordinates back into integers again a character at a time. It’s simple enough but I’m trying to reduce code here, not add to it. Using this language can feel like being back in the stone age at times. I should probably count myself lucky that it has functions and subroutines and I’m not gosub-ing around all over the place like on the original Apple II.
At any rate, I’ve solved the memory problems for now. I would hope that leaves enough room left to fit everything else in but there is only one way to find out. There is serious flickering on some screens which I’ll have to work on at some point but I need to just get all the game in for now and I’ll worry about tweaking and polishing later. All that I need to make this playable now (barely), is to implement combat and add a status screen to show stats and allow item equipping/use.