Hello everyone! While summer goes until later September, my “summer break” is at its end. I’m teaching a new course this year, so I’ve been spending a lot of time preparing the course materials for that. I’ve also been at work on Betrayed Alliance!
Moving towards the end of the year I’m trying to get the first part of the game up and running – all assets, coding, and puzzles.
It’s getting there, but over the summer I ran into a few programming hiccups. Being a self-taught amateur programmer, it took me a bit of time (and a lot of help) to get things sorted, and fortunately they are now all solved:
- I added a “count” property for some inventory items that you can have multiples of. Sounds easy enough and it technically was. The problem came up when displaying the information about the item. I would usually draw that from a text resource using a number variable, which saves memory. But I cannot do that when the description has a variable in it, so I had to sort out how to print some and not others from text resources, but it’s all now working as it should.
- The death counter in the game is a unique challenge because restoring in this program restores everything to the state “as it was” and I could change all the variables in the world, but the restore would reset them. So I have to write those to an external file. That was a challenge enough as I’ve never done that before, but the problem I ran into was that everything was breaking and I wasn’t sure where the crazy numbers were coming from. After many wasted hours and some troubleshooting with more astute coders, I realized that I was a victim of my own bad coding practices. Because I was too casual with naming a variable, I ended up using the same variable for 2 different purposes, which was why the numbers were getting bizarre. The death tracker is now working as it should.
- At some point I also experienced that my “teleport” script wasn’t working correctly anymore. I use this script to change between the two main characters when they are in different rooms. I use this script to “remember” the room locations, x and y coordinates, and proper transferal of items so that they each have their own inventory, etc. The problem was the x and y coordinates weren’t working. Hours and hours I spent trying to track down the cause. At some point I realized that when the player was playing the ”male” character, it never changed that variable, so their x and y positions were never properly being updated. But, I’m happy to say this is now up and running as it should too.
- Looking at inventory items by typing “look” item. Sounds easy, but I had one helluva time getting this to work without adding a hefty amount of code (which I’m really not allowed to do with the memory limitations I’m working under). But I did solve it for most items. I am still troubleshooting the issue of having two “keys” and when you say “look at key” It’s not clear which one is to be shown. So I might take the “easy” way out and remake one of the keys into a different kind of object that will essentially do the same thing, but by a different name.
- I also introduced “right-click-search” in addition to “right-click-look.” This feature is toggleable in the settings, but will allow the player to “search” a thing if they are standing close to it just by clicking on it. For some people that will make things “too easy,” which is why I made it so people could turn it off. But that is another feature I’ve been working on.
I’m feeling quite good now that all of these technical issues are resolved, which lets me focus more on the implementation of room-specific coding and puzzle implementation.
What Else Have I Been Up To?
- There are about 400 lines of written text now in the game, but a lot more is needed. These will be responses to parser commands as well as “right-click-looking”
- More animations are making their way into the game logic
- Puzzles in the opening area are now generally up-and-running, but needing polishing and troubleshooting.
- The final big accomplishment I’d like to boast is the story for the game is complete. I wanted to get that completely sorted to remove any vagueness left that would impact important decisions about puzzles, areas, and maps.
- Once the story was nailed down, I could also finalize the map. I’m not ready to show that off yet mostly because it’s still fairly rough. But the concept for that is now complete.
Here’s my best estimates of completion:
- Backgrounds: 70% complete
- Animations: 30% complete
- Programming: 85% complete in terms of systems, 10% complete individual rooms
- Story: 100% concept/structure, 50% details
- Puzzles: 10% implemented
So, there’s a lot of work ahead of me, clearly. I’ll keep plodding ahead, one day at a time. And I really hope to have something in the way of a playable demo by year’s end…but man I am bad at forecasting that kind of thing, and should probably just stop.
Betrayed Alliance 1 Updated Visuals:
Karl Dupere-Richer has been working on artwork for Amazing Fix for a few months, but has found some time recently to help with some backgrounds for Betrayed Alliance Book 1:
As these assets come in, I work with them to make sure their priority and control colors are working properly. Some of them will require a programming overhaul as well since there will be new things to “look” at and sometimes bigger changes (like ascending and descending the stairs in the tavern which no longer requires a ladder)
Thanks for all the support! Hope to hear from your soon!