VOGONS


First post, by MusicallyInspired

User metadata
Rank Oldbie
Rank
Oldbie

Betrayed Alliance Book 1 v1.3.1 (the "overhaul update") has been released! Download it now!

Watch the trailer!

Features

  • Works on period hardware!
  • 50/56 vector EGA backgrounds completely redrawn and refreshed (the majority of which was done by talented Canadian artist Karl Dupéré-Richer)
  • Brand new (real) MIDI soundtrack arranged by myself, currently with full support for the following music devices:
    • Roland MT-32
    • Adlib/Sound Blaster (OPL2 and stereo OPL3)
    • PC speaker (unfinished - we decided to focus on completing MT-32 and SB support first for the initial release to save time)
  • More music devices will be supported in a future update including:
    • General MIDI
    • Yamaha FB-01/IMFC
    • Tandy 3-voice
    • CMS/Game Blaster
    • Casio MT-460/MT-540
    • Casio CSM-1
    • Completed PC Speaker support
    • perhaps even more...?
  • Much smaller file size, as a result of eliminating SCIAudio & MP3 music
  • Additional solutions for some of the puzzles
  • One puzzle has been retrofitted and updated to better fit with future narratives of the series
  • New optional autosave and retry function toggle
  • New dialog and scenarios added
  • Total game score increased from 125 to 150 for additional side content and updated puzzles
  • Longstanding prominent bugs and issues have been fixed
  • Includes a BASH script for launching within Linux, if one has a Linux build of DOSBox installed on their system already

Backstory

11 Years ago Ryan Slattery released the first version of his adventure game Betrayed Alliance Book 1, which used Sierra's SCI0 interpreter and was designed with Brian Provinciano's SCI Studio and Phil Fortier's SCI Companion. It's a legitimate SCI game and requires DOSBox to run. The original release used a fanmade tool called SCIAudio in tandem with a bundled version of DOSBox to trigger playback of MP3 music files via another third party program. However, this was prone to breaking and would only work (some of the time) on Windows systems. It also had a lot of bugs and by the time Ryan was developing the demo for Book Two, he had come a long way in the art department and wanted to see Book One's backgrounds revamped. While holding a Kickstarter campaign to fund Book Two's development (which will also be a free game release when finished), he enlisted Karl and myself to help with its artwork and sound/music. He decided to add a stretch goal to the campaign to overhaul Book One to give it the quality pass it deserved in all aspects from scripting to art to music and sound. The stretch goal was reached and Ryan soon found that he had been getting more downloads for the original Book One release than the Book Two demo we had prepared! So he took that as a sign to focus work on touching up Book One first before returning to work on Book Two.

And, well, the time has come and Book One v1.3.1 - the "overhaul update" - is here. We hope you find it an enjoyable taste of what's to come with Book Two and Book Three!
And don't forget to try out the demo for Book Two if you haven't already. 😀

Yamaha FB-01/IMFC SCI tools thread
My Github
Roland SC-55 Music Packs - Duke Nukem 3D, Doom, and more.

Reply 1 of 18, by carlostex

User metadata
Rank l33t
Rank
l33t

Hi Brandon!! Already tested it, looks and sounds amazing!! This is what I’m talking about, a really nice proper new SCI game that actually runs in DOS!

Also really excited for the planned support for those additional sound devices that were common on Sierra SCI games!

When you say ‘perhaps much more’ i can’t think of any other unique device than the Innovation SSI (SID chip). That would require a new driver from scratch. There’s also the Covid Sound Master card which used an AY-8930 and would sound essentially the same as the Tandy.

Reply 2 of 18, by MusicallyInspired

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for testing and playing! And also for the kind words! I'm with you, I've been wanting to see more SCI games like this for a while. I was trying to do it myself with an SCI remake of KQ2 but time was just not on my side. Working on BA was a perfect compromise to see an SCI game without proper sound support happen.

Supporting the same devices that Sierra supported isn't going to be too difficult. I've already got it working for most of them with either just a few bugs to work out or it just being a matter of taking the time to design each instrument voice. Support only required some understanding of the various patch formats. CMS/Game Blaster's patch resource (PATCH.101/101.PAT) turned out to be very similar to what is generated by preexisting official CMS tools (it doesn't surprise me that Sierra went with the easiest preexisting support, judging by their other patch formats that we already understood). Most of the other patch resources for the rest of the supported devices (like the Casios) seem to be just binary patch remaps.

Some other devices I was considering were the AWE32, GUS, Roland D110 (all of which had official aftermarket support by Sierra), and maybe even the YM2151/OPM chip on the SAAYM ISA card by TexElec. OPM is extremely close to the FB-01's OPP/YM2164 chip so in theory I could even just continue using the same patch maps made for the FB-01/IMFC. It'd be REALLY cool to add YM2151 support to Sierra games and give the SAAYM card more of a purpose than just merely being a CMS clone card and its OPM chip only being an output for VGM players.

Another idea I had was to design my own patch resource and driver in order to take full advantage of the CMS's dual SAA1099 chips since the CMS, as I discovered, doesn't even scratch the surface of what the SAA1099 chip is actually capable of. It only uses square wave tones (and possibly noise as well, it mentions it in the extremely underexplained documentation but offers no way to utilize it). But the SAA1099 is capable of so much more. In addition to noise, it also has a set of volume envelopes which can be cleverly used to generate saw and triangle wave tones. I feel like we could have much better CMS/Game Blaster support by digging into these extra features if a driver existed that can access those low level registers. I'm learning as I go but I'm hopeful.

Basically, we have the ASM source code for the framework SCI sound driver that Ravi originally designed ~2 decades ago and as long as we have a device with documentation/datasheets for the registers/addresses/etc, I believe we can theoretically support any hardware. Or even synth devices/keyboards that can be controlled via MIDI and sysex. Some of that stuff could be a while down the road (at least for me), but as of this point I can confirm support for at least all the same "core" devices that Sierra supported.

EDIT: By the way, I have to thank NewRisingSun who pointed me in the right direction for understanding a lot of these patch formats and who wrote some tools for me a decade ago that converts Adlib BNK files to Sierra's Adlib format and vice versa, as well as a tool to convert MT-32 SYX bank files into SCI's format as well. Without his help back then I wouldn't have been able to get to this point. At least, not as quickly.

Yamaha FB-01/IMFC SCI tools thread
My Github
Roland SC-55 Music Packs - Duke Nukem 3D, Doom, and more.

Reply 4 of 18, by MusicallyInspired

User metadata
Rank Oldbie
Rank
Oldbie

The absolute gist is that you're a knight who's been framed for a crime and the woman you love is in danger. You've escaped from prison and find yourself being aided by a mysterious wizard. The details are in the intro sequence right at the start of the game. I personally feel like you get the best impression of a game by seeing it for yourself. And thankfully it's a free and small (8MB) game! So it's really easy to download, boot up quick, give it a watch, and then decide if you want to keep playing it or not (I was personally sucked in!). Give it a launch and check it out. Or if you don't want to spend the time, there are also various let's plays on YouTube (of the earlier release) to get a sense of how it is. I recommend playthroughs by TurianShepard or Saxcat's Gaming Corner. There's also the trailer I posted above which doesn't give any plot details, but portrays the setting nicely.

Yamaha FB-01/IMFC SCI tools thread
My Github
Roland SC-55 Music Packs - Duke Nukem 3D, Doom, and more.

Reply 5 of 18, by carlostex

User metadata
Rank l33t
Rank
l33t
MusicallyInspired wrote on 2024-05-02, 21:10:

Some other devices I was considering were the AWE32, GUS, Roland D110 (all of which had official aftermarket support by Sierra), and maybe even the YM2151/OPM chip on the SAAYM ISA card by TexElec. OPM is extremely close to the FB-01's OPP/YM2164 chip so in theory I could even just continue using the same patch maps made for the FB-01/IMFC. It'd be REALLY cool to add YM2151 support to Sierra games and give the SAAYM card more of a purpose than just merely being a CMS clone card and its OPM chip only being an output for VGM players.

Nice!! Looks like i'll have to get a SAAYM then! You might even be able to do something cool and combine OPM sound with the SAA1099's. If you're going to do AWE32 i imagine you'll try EMU8000 native support? Or will you just translate General MIDI into AWE32 instruments?

MusicallyInspired wrote on 2024-05-02, 21:10:

Another idea I had was to design my own patch resource and driver in order to take full advantage of the CMS's dual SAA1099 chips since the CMS, as I discovered, doesn't even scratch the surface of what the SAA1099 chip is actually capable of. It only uses square wave tones (and possibly noise as well, it mentions it in the extremely underexplained documentation but offers no way to utilize it). But the SAA1099 is capable of so much more. In addition to noise, it also has a set of volume envelopes which can be cleverly used to generate saw and triangle wave tones. I feel like we could have much better CMS/Game Blaster support by digging into these extra features if a driver existed that can access those low level registers. I'm learning as I go but I'm hopeful.

Well that i am aware of. The best example of CMS music for the PC is the Origin game Times of Lore. I recommend you listen to it. It's excellent!

MusicallyInspired wrote on 2024-05-02, 21:10:

EDIT: By the way, I have to thank NewRisingSun who pointed me in the right direction for understanding a lot of these patch formats and who wrote some tools for me a decade ago that converts Adlib BNK files to Sierra's Adlib format and vice versa, as well as a tool to convert MT-32 SYX bank files into SCI's format as well. Without his help back then I wouldn't have been able to get to this point. At least, not as quickly.

I think the whole retro PC gaming community has a LOT to thank to NewRisingSun! Glad that he pointed you in the right direction, he was always helpful with me too, when i needed assistance!

EDIT: By the way, i'm totally aware of your KQ2 SCI project, i've been drooling about it for a lot of years. I sincerely hope you manage to finish it one day, hopefully some talented people can give you a hand!

Reply 6 of 18, by MusicallyInspired

User metadata
Rank Oldbie
Rank
Oldbie
carlostex wrote on 2024-05-03, 10:46:

Nice!! Looks like i'll have to get a SAAYM then! You might even be able to do something cool and combine OPM sound with the SAA1099's.

Well don't get one just on my account, at least not until I've succeeded! 🤣
Utilizing both the YM2151 and SAA1099's is a neat idea too though.

If you're going to do AWE32 i imagine you'll try EMU8000 native support? Or will you just translate General MIDI into AWE32 instruments?

GM support translates instruments from the MT-32 patch mapping (modified to match instruments of my preference compared to the way the driver was originally designed), so I'd do the same for AWE32.

Well that i am aware of. The best example of CMS music for the PC is the Origin game Times of Lore. I recommend you listen to it. It's excellent!

Oh perfect. Thanks for the tip!

By the way, i'm totally aware of your KQ2 SCI project, i've been drooling about it for a lot of years. I sincerely hope you manage to finish it one day, hopefully some talented people can give you a hand!

When I have more time I fully intend to see it through....eventually!

Yamaha FB-01/IMFC SCI tools thread
My Github
Roland SC-55 Music Packs - Duke Nukem 3D, Doom, and more.

Reply 7 of 18, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

Congratulations on this fine release! While I've never been too much of an adventure game fan, it's a real joy to see such a high-quality game that stays true to its roots being released these days.

My knowledge of SCI is quite superficial, does Betrayed Alliance use an original/hacked Sierra binary, or a DOS engine recreation thereof? I remember that there were several fan-made recreation projects of the AGI engine, including several DOS-native ones, before this endeavour got merged into ScummVM.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 8 of 18, by zyzzle

User metadata
Rank Member
Rank
Member
MrFlibble wrote on 2024-05-03, 19:53:

My knowledge of SCI is quite superficial, does Betrayed Alliance use an original/hacked Sierra binary, or a DOS engine recreation thereof? I remember that there were several fan-made recreation projects of the AGI engine, including several DOS-native ones, before this endeavour got merged into ScummVM.

That's interesting news to me. What, if you can recall, were some of these DOS fan recreations of the AGI engine? The only one I know for sure is the AGS engine, which was what the KQ 1/2/3 VGA remakes for DOS ran on.

I know there was never a DOS version of ScummVM, which to me is highly unfortunate. Why someone never compiled one with DJGPP for DOS I guess relates to the "complexity" of a having a VM. But, I suppose it's possible to compile for DOS, just difficult.

Reply 9 of 18, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie
zyzzle wrote on 2024-05-03, 22:56:

That's interesting news to me. What, if you can recall, were some of these DOS fan recreations of the AGI engine? The only one I know for sure is the AGS engine, which was what the KQ 1/2/3 VGA remakes for DOS ran on.

Sure thing. The correct term used in the community is "interpreter", and the ones that I know for DOS are MEKA, AGIL and the early versions of Sarien. IIRC, Sarien was the one to get (partially) merged into ScummVM, but I'm not sure. I have tested those in DOSBox with several AGI games, both official and custom, and they do work with varying degrees of accuracy and success.

On the other hand, Adventure Game Studio (AGS) is not a recreation of any adventure game engine in the sense that I was talking about. Rather, it is a stand-alone adventure game-making tool that incorporates features similar to those found in Sierra and LucasArts adventure games. A recreation in the sense that I meant should be able to support the original data from games that it recreates, which is not a feature available in AGS (and it was never intended to do so).

DOS Games Archive | Free open source games | RGB Classic Games

Reply 10 of 18, by MusicallyInspired

User metadata
Rank Oldbie
Rank
Oldbie
MrFlibble wrote on 2024-05-03, 19:53:

My knowledge of SCI is quite superficial, does Betrayed Alliance use an original/hacked Sierra binary, or a DOS engine recreation thereof? I remember that there were several fan-made recreation projects of the AGI engine, including several DOS-native ones, before this endeavour got merged into ScummVM.

It's the actual SCI engine based on Brian Provinciano's original SCI Template Game he designed for SCI Studio ~20 years ago, which in turn was a stripped down version of the scripts from LSL3 which he reverse engineered/decompiled by hand. So it's not "hacked" per se, but it is based on a Sierra game's bones so to speak. The binary is untouched. It's merely the interpreter executable that runs whatever scripts and game resources are in the game directory or packed in the RESOURCE.XXX files. SCIV.EXE is kind of like it's own ScummVM in that respect. Many SCI game EXEs are actually cross-compatible with eachother, if they're close enough together in terms of capability (ie- major interpreter versions: SCI0, SCI01, SCI1, SCI11, SCI2) with only some minor differences here and there. Some SCI11 EXEs will work with others but support different sampling rates for digital audio for instance. SCIV.EXE is the interpreter used for SCI0 and SCI01 games and is pretty much the same for those games across the board (except for SCI01 games which support a couple extra features like scrolling backgrounds). SCIDUV.EXE is the SCI1 interpreter that was used for EGA versions of VGA games as separate products. The backgrounds are bitmap as opposed to vector like SCI0/SCI01 games. It also doesn't have the parser. SCIDHUV.EXE is the VGA version of SCI1 and a bunch of SCI11 games as well. But a lot of SCI11 games use SIERRA.EXE instead. SCI2 supports 640x480 graphics (but doesn't have to, as I understand it).

Last edited by MusicallyInspired on 2024-05-04, 17:43. Edited 1 time in total.

Yamaha FB-01/IMFC SCI tools thread
My Github
Roland SC-55 Music Packs - Duke Nukem 3D, Doom, and more.

Reply 11 of 18, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

Thank you for the detailed explanation!

Is the game free to redistribute by third parties, or would the author prefer it to be downloadable from the official site/GitHub page for now?

DOS Games Archive | Free open source games | RGB Classic Games

Reply 12 of 18, by MusicallyInspired

User metadata
Rank Oldbie
Rank
Oldbie

It'd be nice if people kept downloading it from the website/Github so download numbers can be tracked. But it's a free game and we're just happy to have people play it so it doesn't matter!

Yamaha FB-01/IMFC SCI tools thread
My Github
Roland SC-55 Music Packs - Duke Nukem 3D, Doom, and more.

Reply 13 of 18, by keropi

User metadata
Rank l33t++
Rank
l33t++

I briefly checked the game (it's Easter weekend here so not much quiet time) and it looks amazing
the fact that it also works on old DOS systems is also surprising and commendable ! Amazing work !
and I have to add the few adlib tunes I heard were excellent 😁
I think the only thing missing is a setup program - so you don't have to manually edit resource.cfg to change sound devices (unless I am missing something)
I just ordered the physical manual/hintbook from Amazon too 😀

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 14 of 18, by MusicallyInspired

User metadata
Rank Oldbie
Rank
Oldbie

I'd like to add a setup utility as well. The idea of providing Sierra's setup utility with Sierra's branding and copyright info splashed all over it it seems questionable to me. Maybe we can just create our own setup utility that looks like it as a replacement though. Another idea is to just use a batch file to select which sound device you want to play with before automatically launching the game.

I mean, I know we're straight up using Sierra's SCI interpreter executable and distributing it, but Sierra also did so with SCI demos. And you can't play Sierra games without their resources even if you already have the executable anyway.

Yamaha FB-01/IMFC SCI tools thread
My Github
Roland SC-55 Music Packs - Duke Nukem 3D, Doom, and more.

Reply 15 of 18, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie
MusicallyInspired wrote on 2024-05-04, 20:45:

I'd like to add a setup utility as well. The idea of providing Sierra's setup utility with Sierra's branding and copyright info splashed all over it it seems questionable to me. Maybe we can just create our own setup utility that looks like it as a replacement though.

I don't remember what Sierra's setup programmes look like, but I guess it would not be too hard to code a similar looking programme, if the configuration file format is understood.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 16 of 18, by zyzzle

User metadata
Rank Member
Rank
Member

I tried the game. It is outstanding, a real professional DOS project. Thanks to the author for keeping it real in 2024. Now, all we need is an ASCII text walkthrough like in the old days. Forget bloated PDFs, bloated DOSBox, etc. Although, I have to grudgingly acquiese that if these emulations allow the game to be appreciated by more people who refuse to run bare metal, I guess every new user is better than one who would never be able to configure a real DOS machine to play it on.

Reply 17 of 18, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

I tried running this in ScummVM, but it says that it cannot find the right engine -- which is odd, because the original release of Broken Alliance is supported, and I was just able to start it in ScummVM 2.8.0. Since version 1.3.1 comes with an unaltered SCIV.EXE from Sierra, and everything is managed via the game data files, I expected ScummVM to be able to play it out of the box, even if not officially supported.

Curiously, there seems to be no way to specify which engine a game is using when adding it to the ScummVM game list via the GUI. It appears to just either recognize it from a predefined database of known games (which is not visible to the user), or not at all. I wonder if there's another way.

IIRC, at least one of the recreated AGI interpreters that I mentioned above (I think it was Sarien) has the option to manually add a fangame to the list of supported title by editing the config file, and I remember successfully launching some fangame or other (possibly Voodoo Girl). However, I don't see any configurable settings files in the ScummVM folder that could facilitate a similar approach.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 18 of 18, by MusicallyInspired

User metadata
Rank Oldbie
Rank
Oldbie

ScummVM is very picky about SCI games. If the game files don't meet the exact hashes it's looking for then the game is unrecognizable. BA1 v1.3.1 is very different under the hood compared to the previous release so it wouldn't recognize it. I don't know why they don't just treat SCI fangames like they to AGI fangames and allow you to add anything, but that's the way it is. BA1 v1.3.1 won't be supported by ScummVM until the devs add support for it. It is possible to edit the source and make it accept any SCI game. I used to do that a long time ago. It was only a few lines of extra code. I don't remember what it was now and I don't know if it still works or not as ScummVM has likely greatly changed since then (it was also before SCI1 and later games were supported).

Yamaha FB-01/IMFC SCI tools thread
My Github
Roland SC-55 Music Packs - Duke Nukem 3D, Doom, and more.