Amiga Soundtrack Post-Mortem: Bomb Jack Beer Edition [2018]

When i did self-candidate to help Graeme Cowie [a.k.a. mcgeezer] on the sound part of Bomb Jack Beer Edition i thought this was a straightforward process. I already did help Alessandro di Gaia in another Tekhan/Tecmo game port – Rygar – now on hold, but i did develop my own technique on how to set up interactions and handle sound effects AND music together.
The main difference between the two projects was that initially Graeme was targeting unexpanded Amigas, and that meant i could use a limited amount of RAM, therefore micro-samples use were the best choice. Additionally Bomb Jack arcade was old enough to rely on simple waveform generation, so to have a similar sound would have been straightforward.

Development notes of the game can be found in this thread on EAB and also this other thread on EAB; in this article will instead talk about how the music and Sound effects were planned and made.

The complete game can be downloaded from this link.

Get Your Material Right

Having Been an arcade junkie in my teen years, i did knew the Bomb Jack arcade good enough to be disappointed by the Elite Amiga port and i wanted to help to do the best job.

In case your memory decided to wipe the pain away, let me show it in all its infamy.

To have a good arcade feeling i wanted to use two channels only for music and the remaining two for sound effects. I did that for Rygar and other projects and did seem to bring good results.

In order to recreate the arcade songs correctly i did use my google-fu skills. A thorough YouTube search did point me to several sources but i think this playlist was the more appropriate to follow.

For each level i did insert the main tune and then all the interactions (P running, bonus time, fire bombs, game over, the two high scores,etc.) at fixed pattern numbers. That was done in order to reduce loading times: if a player run out of lives in a stage there will no need to load further songs, just to point to the current mod pattern number.

A finished tune usually will end up having the following interactions inside.

This movie has been made with a mod file that i modified so that all sub-song interactions will run in a continuous seamless play. Normally sub songs will either jump back to the main song loop or stop execution (in Game Over and Stage Complete).

And Expand on it

I decided to try to recreate the sound effects rather than grab some arcade samples, also to train myself on create sound effects on my own. To give it an arcade feeling i used my trusted microsamples collection and started create the effects using milkytracker.

Each resulting pattern has been converted in .wav using the save to Wav function of milkytracker; furthermore, resulting samples have been converted to 8-bit mono with Audacity and lastly further downsampled to 8363mhz and saved in IFF 8SVX with Awave studio.

I also wanted to look around what other ports did: Bomb Jack Beer Edition is not the only player in the field, there have been several non-commercial ports.
Main reference have been Bomb Jack DX for the Commodore 64, still under progress, and Bomb Jake for the Atari XL.

From Bomb Jack DX i got the idea – as cameo for the 64 version – to use Magnetic Fields II by Jean Michael Jarre in the in-game music.

Instead from Bomb Jake i took the idea to use also Orient Express, another Jarre song, in the in-game. This provides a full five song loop that gives to all rounds a distinctive song/graphic identity, unlike the arcade that was having three songs repeating and mixing with the five stages.

Finally for the title song i remember wanted to troll a bit my fellow Amiga Users and i made a nice mix of the ugly Bomb Jack theme by Elite and the arcade Jingle, all joint together with micro-sample drums and colorful chords.
It’s a pity that Graeme at the end decided to keep Magnetic Fields II as title song, but that’s its game, at the end of the story.

Beer Stages

The core feature of Bomb Jack Beer Edition, together with a near arcade perfect port, are the Beer Stages.
Those custom made stages will appear if the player is able to collect an adequate amount of bonus points by trying to get as much fire bombs and multipliers as possible.

If the minimum quota is met, according to the amount of bonus points every fifth stage in sequence will be replaced by one of the following Beer stages (ranked from lowest to highest bonus points required):

– Pensham Monument
– Edinburgh Castle
– Chichen Itza
– London Parliament

Graeme wanted more dynamic songs compared to the usual ones in the arcade levels since those stage have an higher level of difficulty. I did create at least two original songs (Chichen Itza and Edinburgh Castle) and adapted some more or less mainstream song, following the borrowing music tradition of the Bomb Jack ports.

The musics that i have adapted to the game, using my microsamples sound bank were:

– Penshaw Monument Beer Stage [song supposedly from the Initial-D soundtrack, i ignore the original title]
– London Big Ben Stage [Corona – Rhythm of the night cover]
– Panjabi MC – Mundian To Bach Ke [unused, at the end]

Since all musics are qite short (no more than two minute each), i created a medley video where i play all those together. The unused title is also included at the beginning.

Unexpected (by me) Negative Feedback

Around end of February 2018 the coding of the game was mostly complete and Graeme was working on ironing out bugs and implementing beer stages. The game music was still using just two channels and a public beta was released.

People started to complain that the music did not play good with only two channels. I decided to cave in and created a new version of all songs using three channels thinking things will subside, but was not enough. The criticism spawn from at least two separate dissenting groups: from one side the “purists”, that were expecting an exact replica of the arcade songs and, from the opposite side, a group that wanted the songs to use full samples and sound “worthy of Amiga capabilities” practically questioning all the work and research i made on the music so far. Both groups were pretty vocal and unwilling to compromise, and were showing a level of entitlement that, if we assume the project is an hobby project made in spare time by two guys with no purpose of money making, did sound excessive.

Me and Graeme tried to address criticism in a positive way but at the end the storm did not subside, so we did agree to disagree,we did leave the group and continued the work on our own.

Beside what happened above, it seems that this is an ongoing problem that can easily kill any motivation in other homebrew developers, as stated in several points in this EAB thread.

We also received positive comments praising the way we did treat the sound and was considering a nice addition to have the arcade game spirit reproduced.

Final Thoughts

Despite the last hour problem and trolling, working on the project was an enjoyable experience and will surely cooperate with other arcade ports in the best of my capacity, with the hidden agenda of giving finally birth to the arcade ports that a machine like Amiga can do and deserve.

The final game experience is summarized in this Hipoonios longplay.


AROS: on SCALE, iMica and OWB Beta

Digital image
The Westin Hotel in Century Boulevard, where SCALE was held

Sunday February 22nd, despite is already noon the sky is cloudy, with all the clouds getting flat on the low quota high pressure in a sort of whitish steamy ceiling over the city of Los Angeles.

My wife drops me in front of the Westin Hotel’s parking lot in Century Boulevard, better known from LA people as the “Hotel Strip” just above LAX then she starts the car and head towards north. Carrying my two bags -one of which is my laptop- i too start to walk towards the hotel main door excited.

Despite the opening might be good for some family drama, i am just talking about my arrive at SCALE (Soutern CAlifornia Linux Expo) for my AROS intervention, listed under the Open Source for Beginners section; i am expected to talk at 1.30 pm and have still one hour left so i go check in at the reception and they give me a speakers red badge, some promotional stuff (cloth bag, a XL american size t-shirt which i can use as a camping tent as much is oversized for me) and start walking towards the hall ehere will held my speak.

My speak is expected to last one hour only so i need to follow my script thoroughly; this is my absolute first advocacy in a convention; so far the biggest crowd I have been in front with was together with the choir I used to sing in italy as Basso chorist; we had the honor, together with other four choirs, to sing all together for the Pope in Porto Recanaty in 2005, with a crowd of around 600,000 people: too big to realize it.
Here i have not even ten people in a theatre with at least 100 places, but is different: this people is MY own crown and I am the focus of them, together with AROS that in my laptop, don’t look at the best of its shape: my laptopis a DELL VOSTRO 1000 with AMD sempron, 1.5 gig of RAM, 100 gig hard disk, broadcomm wireless card, EHCI USB card (PCI\VEN_1002&DEV_4386&SUBSYS_022A1028&REV_00\3&2411E6FE&0&9D) and a Sigmatel sound card:  definitely not the most OpenSource friendly laptop but, as a take its defense, it was bought to work on it, not to advocate on it…

i tried to make it boot from the live CD and the first sensation is good: AROS seems to perform quite fast and well (despite the widescreen is not supported by my ATI card and the aspect ratio of the screen looks a bit weird) and my sound card give no signs of life; plus i was unable to set my virtual machine to get connected [now solved, but i opened at the time a topic on aros-exec here] and still did not had (yet) the OWB beta version to show. Despite that i have been able to use poorPDF as a slide projector and also to show the VmWAROS Wanderer desktop complete with Ken’s icons.

Digital image
Here I am in the Westin Hotel’s Theatre B talking about AROS

The overall intervention lasted one hour; guess all my inexperience in doing introductions showed up – i admit it – in missing to fully follow the script that I prepared and in making the slides getting along iwth the speak, so at the end i jumped some slidesand in some cases i indulged a little longer in details rather than in the focus points; at the end i had to show the available software a bit on a rush, but i hope to have been able to transmit the enthuisiasm, my own and the community itself one, in developing and promoting the use and further development of AROS.

Digital image
Well, not exactly “sold out”…

The public, those few that came, were surely with an amiga background: almost everybody knew what Amiga OS was and many of them seemed to approve the concept; there has been questions on the toolchain and about memory consumption but, in general, i am afraid that without showing adequately AROS on the run – as i haven’t been able to that day – they considered the project just a small curiosity: or not? Wish to see how many contacts came to aros-exec from Southern California lately…

But guess that anyway i have been able to show the commitment and the passion of AROS supporters: if i sohuld choose a sentence to describe what I did that day guess will choose the one from Joe “Zonker” Brockheimer from its own SCALE intervention (page 16 of the enclosed PDF file): “Do something,even if it is wrong”.

Beside my own intervention i had very little time to wander around the expo: my wife could not park around the place (the parking fee for the hotel was a $14 flat fee and being at the end of the month cash was tight) and was waiting for me outside the hotel doing “pings” every two minutes:P therefore i tried to do a fast tour of the main lobby and i had the luck to meet Gregory John Casamento, a.k.a. bheron, GNUStep mantainer and assigned to the Kickstart replacement bounty in its own GNUstep booth: i introduced myself as an AROS advocate and had a short talk with him about the subject: he told me that is undoubtly difficult to retrieve reference material and also old hardware as well in order to complete the bounty (material such as Rom Kernel Manuals, technical newsletters, developers kit,etc). In case you want to provide some material to Gregory you can get in touch with him through his blog or his AROS blog, the AROS developer mailing list (subscription required)  or in aros-exec.

So in short this is the essay about my SCALE partecipation. If only i had the OWB beta under my hands a couple of hours earlier probably my introduction should have been even juicy than it has been, but then my network problems with VmWAROS surely could have made it look again stuck, who knows?

By the way, the most important news of the month and fo the whole story of AROS is that finally OWB beta is here!

After the first attempt made by Robert norris on provide AROS with a modern web browser trying to convert Webkit  and that lead to the december 2007 semi-working alpha version, able to navigate but slow quirky and quite unusable comes – also thanks in part to Robert’s job – the AROS port of Origin Web Browser comes bringing javascript and CSS support, along with tabbed browsing and a download manager.

To install OWB is required to have a recent AROS build (february 19 or later) or to copy the files muimaster.library and arosc.library from a recent nightly build in your libs: directory.

For VmWAROS users Paolo besser prepared an update .iso based on a newer build that contains both the new required libraries and a stacksize icon fix (before of this update assign the stack size from an icon does not work). This update has to be used together with the VmWUpdate script. The iso can be downloaded from here.

Please BE VERY CAREFUL in doing the update and follow the enclosed .pdf file: i missed to read it and simply done the upgrade as a simple VmWAROS upgrade and lost amistart, the configIP stopped working together with arosTCP and, after i made the fatal mistake to try to reinstall the old version of VmWAROS with the installer i was greeted by a sudden reboot, followed by a skinnless error requester in old topaz font  “Mountfile ‘AROS:Devs/DosDrivers/PIPEFS’ is invalid: wrong number of arguments” and an OK button. Pushing the OK button the system rebooted and showed the same requester again, over and over. The only viable option I found to restore the system was to boot from a recent nightly iso and install again the system. Then, in order to get the net working again had to reconfigure AROSTCP by hand; so, in case you might do a mistake like mine and you might not find the instruction to do it on net (usually in the AROS wikibooks) am going to repeat it here:

  • in ENVARC: create the AROSTCP directory;
  • go through shell inside ENVARC:AROSTCP typing ENVARC:AROSTCP; the path at the left should become like 1.AROS:Prefs/Env-Archive/ArosTCP> ;
  • type echo “true” > autorun – will create the “autorun” file that contains the value “true”.
  • from sys:system/network/AORSTCP copy the directory db inside ENVARC:AROSTCP typing those instructions:
    makedir db
    copy db sys:system/network/AROSTCP/db ALL
  • still in ENVARC:AROSTCP type the command echo “env:arostcp/db” > config – that will create the file “config” inside ENVARC:AROSTCP;
  • at this point follow the same instructions used for the manual configurations in VmWAROS, edit the following files: netdb-myhost, interfaces and static-routes, and then reboot the system.

Hmm, guess is about time to restart that project of mine to configure AROSTCP made in lua…

OWB open on my italian blog

Before and after the  problem I tested OWB on VmWAROS (form the office, where the virtual machine has no issues in connecting) and also contributed on its debug; the actual veersion 0.9.2 is already out and includes some of the fixes and features requested by the users; still there are some problems in sending attachments from yahoo (the attachment does not get recognized) and in saving mails in gmail; beside that my OWB experience has been quite pleasant; despite the obvious slowliness of the Virtual Environment enhances some small glitches such as the not full asynchronicity of CURL library (that load the page components), the browser is fast, mouse wheel is fully supported, the page rendering is quite good and the user interface, although a bit basic, is clean and enjoyable. If you want to see OWB in action, nikos posted avideo on youtube. Best performances can be achieved by assigning a stack size of 1024000.

Future plans for OWB include bookmarks and history support; furthermore, some threads are already started on aros-exec to propose a phase 2 browser bounty that should provide a plug-in system and a flash player port as in example SWFDEC or GNASH; for the latter one there are some concerns due to the results of a recent static port on Haiku – where with static port is meant that all libraries and dependences were included in the binary file – and that turned out to be quite heavy: 135 megabytes…

Stanislaw also prepared a bug tracker for OWB that, after a little stay in google code, now hgas been relocated for good in sand-labs, together at the OWB download link. The description page of all work occurred in OWB,instead, is still here.

Another innovation made by Stanislaw Sszymczyk is the possibility to build AROS parts outside the source tree: in other words is now possible to compile AROS in other directories beside those supposed to be used in the source tree; this characteristic comes out handy for the development of alternate versions of applications (such as hosted, native, with or without debug output) in parallel; plus, with updated cross-compilers it is also possible to compile binaries for different processors at the same time (sam,efika,i386,i3856/64,etc.) and that allow to the developers to only run “make” to update the components without need to reconfigure everything.
So far the compilation outside the source tree can be done on few applications only due to the fact that some tools need to get required files from the source tree and that might cause problems; furthermore is not possible compile both inside and outside the source tree at the same time yet.
(Thanks to Nick “Kalamatee” Andrews for a better explaination of the function).

Recently the boot mechanism of AORS is changed: if the system is updated with a recent build it is required that the file aros.boot is present in the root of the system disk; said file needs to be copied manually form the build iso, else the system will complain about a bootable drive missing in the hard disk and will not proceed further.

Steve Jones can be an unknown name to the most of the new member of the Amiga/AROS community and for those that left Amiga as main system before 1995/96 while for the old guard members this mane is linked to the Siamese System, the system created to readdress Amiga graphical output on PC graphic boards through RTG and that was supposed to be one of the cornerstones of a PCI based Amiga system; the plug on thje project has following been pulled by Gateway and nothing came out of it.
Now Steve comes back in the AROS landscape introducing a new compact PC machine based on Intel Atom with selected hardware for the best performance under AROS, and is equipped with the latest VmWAROS distro version: the machine name is iMica (purposely reminds Amiga) and the price is quite affordable, around 250 UK pounds – around 400$. The AROS support has also been endorsed by Kalamatee efforts in provide a working network card drivers; on the sound side iMica uses for the moment a SoundBlaster Live with EMU10k chip (supported and proven working), in the hope to see more sound card drivers available in the next future; as usual, if somebody has experience in low level programming and wish to join the developers team for writing new drivers is welcome. More informations about iMica are available in the AROS Show.

Pavel “Sonic” Fedin has released a new beta of the Windows hosted AROS; despite still has problems in the refresh, also due to the way AROS actually manages themes, this new version will allow developers and users to run AROS in Windows without the need of a virtual machine.
To distribute the Windows-hosted version, Pavel resurrected the old Snapshots functionality of; the latest version of AROS windows hosted can be downloaded here.

Michal Schulz is still going on in the Efika port of AROS; being the most of the code done, now he is focusing in optimizing the port; just the last March 9th, Michal released a new test iso downloadable here, to fix some third party MUI classes instability that caused Zune preferences to crash or not to be launched at all, and he further fixed USB stacks including a OHCI bug that brought not to update some periferals status or to retrieve some “zombie ” periferals;  then ha added a new Efika port feature: a specific debug that will show precise particulars on where a program or a library crashed; in the todo list of Michal there will be also some way to prevent AROS to freeze in case of system crash in a similar fashion to the os4 Grim Reaper.

Oliver Brunner is still working at its Janus-UAE; latest features are the amiga public scerens support as AROS screens and the GTK-MUI GUI update made similar to the windows UAE in order to handle the full screen support.

Fabio “Allanon” Falcucci has recently released a pictures and thumbnails viewer made with Hollywood and that uses its own SCUI-lib routines for the user interface; the program, called LookHere, can be downloaded here.

And to finish, good news from Paolo Besser: the version 1.1 of VmWAROS is in progress; Paolo decided to increase the version number due to the new boot system and devices fix as mentioned above. The new version shows very interesting features, as the IconDress script, that allows to exchange icon sets extracting it from .ipkg archives and replacing the actual ones; new applications will be bundled such as the new ArosPDF by Craig Kiesau, the new MPlayer build and, of course OWB; and last Paolo intends to give a mahjor clean-up to the distro, removing those applications that still use the old muimaster.library which is responsible for the non functioning zune Preference panel. The removed applications list is available in this thread on Aros-exec; in the same thread Paolo ask those applications developers to recompile it linked to the latest library version so that he will add the fixed application again to the distro. The latter is particularly important for Simple Editor and for marranoFTP, especially the latter one, having no other FTP clients available on AROS.