After the release of the Demo for Book 2, Book 1 got a lot of attention and downloads. As so much had already been prepared for the update for Book 1, we’ve been putting a lot of attention on finishing the Stretch Goal of overhauling Book 1’s artwork and music. Here’s a look at some recent progress.
Backgrounds
While Karl has been very busy with an exhibition of his impressive sculptures, he’s also been giving me a hand with an odd background here and there. Here is collection of a few of his most recent backgrounds:
In addition to Karl’s background efforts, I’ve also been working on updating a few backgrounds as well. Here’s a few overworld backgrounds that I’ve been working on lately:
With this, the number of backgrounds that still need makeover is in the single-digits!
Book 1 almost feels like a completely new game with all the new artwork.
Item Icons
Another thing I’ve been busy with recently has been updating all the item icons: Here are a few examples:
At this point I have redone most of the icons for items:
While a lot of work has been finished, there are still a handful of backgrounds to do, but more work than that will be the reprogramming and updating of some gameplay elements. But steady progress is being made.
Music
Brandon is working on giving Book 1 the same treatment as Book 2 – that is, making sure the music and sound works for many available drivers. While Book 1 does have a mostly complete soundtrack, there are 8 or so songs that were “free-to-use” stock music that he plans on making new tracks for himself.
Yes, it’s true! A demo for Book 2 is playable at long last, complete with music by Brandon Blume. You can find out more and download the game in the “Betrayed Alliance” tab, or just click here.
Sorry for the long delay in the updates. I’ve had in my mind for a while that the next update would need to be the “Demo is ready” update, which I was originally hoping to have out late December. A lot has happened since December and not a lot of it has been good!
Since early January, my family and I have been suffering from a flooding basement. As of a couple of days ago, we’ve gone through the process of waterproofing our basement, but it’s made it hard to work on the project when your workspace is not useable, not to mention the time involved in cleanup and now, repair.
But all that aside, I hope you find some time to play the demo. I feel like it really shows in a small way the type of gameplay that will be present in a bigger scale when the full game is complete…hopefully sometime this decade!
Small Update:
A few people have been experiencing their Windows antivirus firewall looking askew at the Demo installer. After talking with someone more knowledgeable, this seems to be a fairly common issue. I was linked to an antivirus report, which details different antivirus assessments of the program. Most of them have no problem, but Windows has a big issue with it.
The file has been submitted to Microsoft with the intention that they clear their warning for this program. I am sorry for any inconvenience this has caused. Obviously I do not want to be associated with viruses, so hopefully they can get this sorted soon.
The demo for Betrayed Alliance Book 2 is complete in most assets and has even underwent a number of playtesting sessions which unveiled pages and pages of bugs, spelling mistakes, and insight on puzzles that needed more or less signposting. While I’m sure it’s not perfect, I’ve implemented all necessary changes, fixed all *known* bugs, and corrected all *known* typos. I was also very encouraged by the testers perception of the game.
I am looking forward to opening the demo up to players early in the new year.
Until then, however, merry Christmas. I’m going to spend time with family and get a head start on my coursework for the Spring Semester.
I wanted to give you a quick update detailing some of the work on Betrayed Alliance lately, and that I plan on releasing a demo soon (fingers crossed before year’s end)
So what’ve I been up to?
The introduction cutscene is “basically finished.” Essential animations and dialog is now finished, with only some extra touches still to be done. The music for that section is also in the works. But here is a sneak peek (listen?) of the music
The puzzles for the demo are now up and running and playable, with puzzle points built in.
The coding and implementation of the death tracker is now fully complete, and there are about 11 deaths possible to “collect” in the demo
More animations and text is being added every day. It’s now at the point where trying to count the lines of text is far too cumbersome a task.
While there are two or three fairly major things to put into the game/demo before I would consider releasing it into the wild, there are tons of small bugs/inconsistencies and quality of life fixes to be made. I’ve made a list, and I’m going through it to fix up the problems.
Thanks for continuing to be a part of this project. Hopefully it won’t be too long before you have something to play/enjoy.
Back when I had run a Kickstarter to help fund the music for Betrayed Alliance, we also had a stretch goal to revamp and update the music and visuals of Betrayed Alliance Book 1.
Tavern Exterior and Interiors
What’s been worked on recently
Thanks to the amazing productivity of Karl Dupere-Richer, over half of the background screens have now received a visual update (upgrade!). In fact, his productivity has been so good, I decided to take a month or so off of working on Book 2 just to focus my attention to the update of Book 1. That’s been my focus for the last half of August and most of September.
Reprogramming the rooms to work with the new visual information, streamlining the code, and adding features (like the autosave I’m using for Book 2). I’m hoping to fix that pesky “out of heap space” bug that crashes 10% or so of runs too.
New outdoor buildings
While the Book 1 update is not by any means complete, I’ve worked hard enough to make the programming for the new version playable to the end.
And this is where you come in!
If you’d like to have access to the update of Book 1 as it’s in development, I’m making that available to all KS backers and all “Early Access” Patrons on Patreon. I’ve also put together a Google Doc you can edit to track any bugs, parser commands that you think should work, or any general ideas or thoughts you have about a particular room. Obviously there’s no obligation to do any of that, but if you’re interested, I’d love your help to make it the best experience possible.
New Dockhouse and Interior
So that’s been it for the last month and a half or so. Book 1’s update is coming along very nicely. Beautiful new artwork and a revamp in the coding, and maybe even a few extra features!
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!
Fun in the sun time is coming to an end
What’s Happening?
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:
Tavern UpstairsTavern Main FloorWizard’s Room
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!
Many people are familiar with the 16 EGA colors, but SCI0 uses these colors for more than just making things look pretty. Today’s dish will be 1 part update and 1 part dive into how SCI0 uses the 16 EGA colors.
Betrayed Alliance News:
My focus lately has been setting up the gameplay elements inside a building that the two characters get separated in. They must use their cunning to solve various puzzles and challenges, meet up together in the main hallway, and escape with new knowledge and maybe an item or two to help them on their quest moving forward.
All together there are 12 “inside” screens: 8 dorm rooms, 2 for the main hallway, and 2 more for the side halls that connect the rooms together.
Instead of drawing 8 unique rooms, however, I’ve opted to use a similar approach as some of the forest backgrounds in Quest for Glory 1, where they reused the same background only reversed as if through a mirror. Filling up the rooms with different furniture, most of which were provided for me by Karl Dupere-Richer.
Of course putting all the same images in each room wouldn’t be enough, so I had the pleasure of taking some of these and changing them a bit. Messing up the bed (or changing the color of the blanket), making some side views of the chairs, breaking the closets and tables, etc.
Additionally, I added a few other items as would be needed:
Of course simply rearranging furniture in each room won’t solve the issue that each room will “feel” the same, so I’m endeavoring to give each room its own unique twist, based on the person who used to live there, but I don’t want to say too much about that.
EGA colors and their non-visual functions:
As promised, I wanted to share a bit about how the 16 EGA colors are used for more than just the visuals of the game. There are actually three versions of each background, but the player only sees one, the visual. But there is also a Priority background and a Control background. They look something like this:
VisualPriorityControl
Priority:
The visual background is exactly what you’d expect: it’s what you see. The Priority background is used to determine whether to draw something visually in front of or behind another object. You’ll notice the white outline of the wall on the bottom of the Priority screen. That is to make sure that nothing should be seen in front of the wall that is closest to the screen. As you “go up” the screen, every 10 or so pixels there will be an invisible color change to determine whether the player character should be in front or behind an object. If you were to see them, they would look like this:
Control:
This background is used to determine a couple things: first, where the player can and cannot move, and second, anything else you want to do!
The color white acts as a blocked off area for the player. In this example, I’ve also made it so if you want to interact with the chest at the foot of the bed, you must be in the Silver-colored area, or else you get the dreaded stock phrase: “You’re not close enough.”
The Pink (or “Fuchsia”) is used to trigger an event when the player walks into it. And the color Red (or “Maroon”) is used to take the player to a new room when they step on it.
You can also uses both Priority and Control colors for “right-click-look,” a handy little feature that I always appreciated. Simply determine if the player clicked while the cursor is over a particular color on either of the invisible background versions and you can return a response.
I hope you enjoyed this little look under the hood. Until next time!
I’ve been spending basically all of my time working on programming, fixing up some systems, and animations and props for the backgrounds.
What systems am I working on?
Cut scene dialog – if you’ve even accidentally clicked a past a box in a Sierra game, you know the frustration of knowing it’s gone for good and you might have missed vital information. I’ve put together a system that allows your to go forward and backward through the dialog if you miss anything.
Character Switching – Book 2 has two main characters, so the ability to switch between them in important. It’s not completely finished yet, but the basic structure is up and running just fine allowing for each character to hold their own items and retain their positions in their rooms.
Death Log – This one is actually proving to be quite tricky, but I think I’ve mostly got a handle on it. The difficultly comes with how Sierra games save and restore. When you restore, everything is set back to the previous save “exactly as it was,” so having the game “remember” what caused the death you are restoring from was an interesting challenge.
I ended up with the idea of writing variables related deaths to an external file, then reading those variables back into the game when the player restores. Sounds easy enough, but there’s more to it I won’t get into now. The good news is, that the system now works generally as it should and is incorporated into the menubar for easy access (many thanks to the help of more skilled programmers guiding me at the SCI Programming Community forums).
Battle System
The basic structure of the new battle system is now in place and the first (training) battle is complete. Future enemies will build on the foundation that’s already been established, but having the skeleton constructed now will make all the rest from here much easier to flesh out.
Props and animations
A big focus for me right now is getting things playable. A lot of backgrounds and animation work has been done and now it’s time to get some of them up and running!
That’s one way to break into a house.
Book 1 Update
Most of the work on the Book 1 Update has been done by Karl Dupéré-Richer at this point, although I have done been updating it bit by bit as his new artwork comes in and have started a log of fixes and bugs to fix for the updated release.
That being said, Karl has shifted his focus from this project to another for the time being. He has put together a few sketches for updates of a few interiors in the game and they look gorgeous already!
Besides this, there is nothing new to share concerning the Book 1 update, as my main focus is the completion of Book 2.
2021 was a great year for the development of Betrayed Alliance, and 2022 is going to be even better!
There will be a playable demo of Book 2 at some point this year
With Kickstarter funds, we’ll be getting some music for the game
Book 1 will be getting a facelift and musical rework
More? Probably!
What’s New?
I’ve taken a break from working on background artwork (spending only 1 day a week on them) as a lot of my time has been on getting rooms in the game in a playable state with interaction, dialog, system programming, and a lot of tweaking animations (both artistically and programming-wise). I’m hesitant to show much of that work as it’s more spoiler-sensitive than posting a screenshot of a background.
That said, here’s a video I did make of the last Background I worked on:
But I’m not the only one who’s been hard at work. Karl Dupéré-Richer has been working like a machine updating many of the Backgrounds for Book 1, and in some cases completely overhauling them. Here’s a sampling:
I’m in awe of his work (particularly the architecture!) No doubt he’s sharpened a number of those skills with his work on The Amazing Fix, a game where you tidy up, declutter and repair a Victorian mansion. The goal is to put each object in its place – A variation of a classic hidden object game.
Here’s to 2022! I hope all you can make it great. I know I will try to do so myself! I also hope to have more I can share next update and look forward to sharing not just details, but something to play (but I’m nor predicting dates for that)
The Kickstarter has been successfully funded (and actually was so one the first day, which was a huge relief to my nerves!)
We’ve also funded our one (and only) stretch goal – to update some of the artwork of Book 1 and overhaul the music to give it the same treatment as Book 2 will have. This goal will be completed only after work on Book 2 has ended, as I didn’t want the stretch goal to impede the original Kickstarter project.
Here’s an example I put togetherAnd here’s one by Karl Dupéré-Richer, who offered to help