IFComp 2014 game 'Transparent' remastered with Bisquixe

As some of my final tests for the Bisquixe interpreter and extension, I’ve asked a few authors of games that use heavy multimedia if I can port their games to work online.

One such game is Transparent, by Hanon Ondricek. This game was entered in IFComp 2014, taking 11th place.

It uses 5 images and 60 different sounds.

Using Bisquixe, I was able to update the game to work with online interpreters. Unfortunately, the original sound and image files were lost, but with the help of some forum members, I was able to extract the files from the gblorb. I sent it to Hanon, who made additional modifications and uploaded to the itch link above.

Here are the only changes I had to do:
-Include Simple Multimedia Effects by Mathbrush.
-Release along with a "Bisquixe" interpreter.
-Initializing all the images and sound:

Sound and image stuff

When play begins:
	add-audio "snd7.mp3" with id 7;
	add-audio "snd8.mp3" with id 8;
	add-audio "snd9.mp3" with id 9;
	add-audio "snd10.mp3" with id 10;
	add-audio "snd11.mp3" with id 11;
	add-audio "snd12.mp3" with id 12;
	add-audio "snd13.mp3" with id 13;
	add-audio "snd14.mp3" with id 14;
	add-audio "snd15.mp3" with id 15;
	add-audio "snd16.mp3" with id 16;
	add-audio "snd17.mp3" with id 17;
	add-audio "snd18.mp3" with id 18;
	add-audio "snd19.mp3" with id 19;
	add-audio "snd20.mp3" with id 20;
	add-audio "snd21.mp3" with id 21;
	add-audio "snd22.mp3" with id 22;
	add-audio "snd23.mp3" with id 23;
	add-audio "snd24.mp3" with id 24;
	add-audio "snd25.mp3" with id 25;
	add-audio "snd26.mp3" with id 26;
	add-audio "snd27.mp3" with id 27;
	add-audio "snd28.mp3" with id 28;
	add-audio "snd29.mp3" with id 29;
	add-audio "snd30.mp3" with id 30;
	add-audio "snd31.mp3" with id 31;
	add-audio "snd32.mp3" with id 32;
	add-audio "snd33.mp3" with id 33;
	add-audio "snd34.mp3" with id 34;
	add-audio "snd35.mp3" with id 35;
	add-audio "snd36.mp3" with id 36;
	add-audio "snd37.mp3" with id 37;
	add-audio "snd38.mp3" with id 38;
	add-audio "snd39.mp3" with id 39;
	add-audio "snd40.mp3" with id 40;
	add-audio "snd41.mp3" with id 41;
	add-audio "snd42.mp3" with id 42;
	add-audio "snd43.mp3" with id 43;
	add-audio "snd44.mp3" with id 44;
	add-audio "snd45.mp3" with id 45;
	add-audio "snd46.mp3" with id 46;
	add-audio "snd47.mp3" with id 47;
	add-audio "snd48.mp3" with id 48;
	add-audio "snd49.mp3" with id 49;
	add-audio "snd50.mp3" with id 50;
	add-audio "snd51.mp3" with id 51;
	add-audio "snd52.mp3" with id 52;
	add-audio "snd53.mp3" with id 53;
	add-audio "snd54.mp3" with id 54;
	add-audio "snd55.mp3" with id 55;
	add-audio "snd56.mp3" with id 56;
	add-audio "snd57.mp3" with id 57;
	add-audio "snd58.mp3" with id 58;
	add-audio "snd59.mp3" with id 59;
	add-audio "snd60.mp3" with id 60;
	add-audio "snd61.mp3" with id 61;
	add-audio "snd62.mp3" with id 62;
	add-audio "snd63.mp3" with id 63;
	add-audio "snd64.mp3" with id 64;
	add-audio "snd65.mp3" with id 65;
	add-audio "snd66.mp3" with id 66;
	add-audio "snd67.mp3" with id 67;
	let temp be the glulx resource id of Figure of Boxcover;
	add-image "transparent3.jpg" with alttext "The logo with the word 'Transparent' in blurry green nightvision with a flash of light behind it." with id temp with width 700 with height 700;
	let temp be the glulx resource id of Figure of Note;
	add-image "note.jpg" with alttext "A note that reads 'Fusebox: from front door go northwest to stairs, south to mission control, then east till you hit the kitchen.  Go down cellar steps - be careful! - box at bottom.'" with id temp with width 523 with height 534;
	let temp be the glulx resource id of Figure of drawing;
	add-image "drawing.jpg" with alttext "A child's crayon drawing of a stick figure inside a heavy circular black sun with single line rays emanating from it - or perhaps it's a person lying at the bottom of a well?  Across the bottom, carefully lettered in different colors, are the words 'eat you'." with id temp with width 540 with height 528;
	let temp be the glulx resource id of Figure of map;
	add-image "manormap.jpg" with alttext "A simplified map of the manor and grounds." with id temp with width 646 with height 505;
	import-google-fonts "Spectral&family=Spectral+SC";

If you notice, I didn’t include any code for displaying sound or images.

That’s because Bisquixe just uses Inform’s built-in images and sound, and works with image and sound extensions. The only new thing it does it enabling the pre-existing things to work online.

I also added some CSS to Transparent. I opted to have the CSS go into effect after the sound change. I could do it right when it started, but that can cause a flicker.

Here is the css:

css-set-fast ".WindowFrame;color;lightseagreen";
	css-set-fast ".WindowFrame;background-color;black";
	css-set-fast ".GridWindow;background-color;#101010";
	css-set-fast ".LineInput;color;lightseagreen";
	css-set-fast ".Style_input;color;lightseagreen";
	css-set-slow ".Style_input;color;lightseagreen";
	css-set-fast ".ImageInlineCenter;centering;";
	css-set-fast ".Style_normal;font-family;Spectral,serif";
	css-set-fast ".Style_header;font-family;Spectral SC,serif";
	css-set-fast ".Style_subheader;font-family;Spectral SC,serif";
	css-set-fast ".Style_emphasized;font-family;Spectral,serif";
	css-set-fast ".Style_input;font-family;Spectral,serif";
	css-set-fast ".coverimage; display; none";
	css-set-fast ".links; display; none";
	css-set-fast "#gameport; left; 20%";
	css-set-fast "#gameport; right; 20%";
	css-set-fast ".play; background;black";

There was one bug introduced through all this, but it’s not due to Bisquixe. The version of Inform I compiled on has a bug with Yes/No questions crashing if certain glulx events happen while they’re up, unless a paragraph break is printed after them. So I had to go through manually and add paragraph breaks after yes/no questions and ‘press any key’.

However, one slipped through that I saw just now; if you type anything other than ‘Yes’ or ‘No’ at the opening screen, the game crashes due to that bug. The bug has been documented here: FatalError in YesOrNo. I can fix it on an individual basis by adding a paragraph break, but I’d rather wait to see if anyone reports other errors as well.

11 Likes

Playing Transparent

This is a very unusual game, which doesn’t follow standard adventure paradigms. It’s mostly about wandering around and taking in the ambiance.

If you need some direction…

Some ideas for getting started

-Open your van and grab your bag.
-If you put the battery in your camera, you can USE FLASH if the lights are out. It can let scary things appear.
-Inside the building, going east from the stairs lets you find mysteries like a locked study.

6 Likes

This is pretty awesome. I will check Bisquixe soon as one of my pet peeves is having sound (and maybe music) i one of my games.

4 Likes

@mathbrush did an amazing job! For years and years we all just accepted that the online play option when Inform 7 generated a website could never do sound, and Brian has basically solved that!

Transparent is my first big parser game I released in IFComp in 2014 and therefore it has a lot of newbie problems. I was given tons and tons of advice by incredible people to make the game playable and not quite as annoying as it was on release.

The game uses @Draconis 's Music extension to play simultaneous music and sound effects, and I was experimenting with making them reactive to the game world. The entire source is public after Source Code Amnesty day, however the source version posted is 7 which is missing the bits that Mathbrush added to make it work in an online browser.

I probably have the rare mortifying distinction of creating a game that caused ClubFloyd to ragequit due to an early problem in initial release where players could become hopelessly trapped in a dark room under certain circumstances. This should not be an issue anymore since new features have been added, and Mathbrush also included an exit-lister for convenience.

Some of the features and issues are a bit spoilery:
  • The game has multiple endings. You can walk around, not engage with any weirdness in the house, take some pictures, and leave in the van to get a score based on your photographic skills. Ideally, you want to take photos of anything unique or unusual.
  • Emily Short commented that the game is poor at setting an initial goal which is very true. With sound however, the ringing phone becomes more of a constant distraction and that was my intended “hook” into the game, however it requires solving a complicated puzzle to unlock the door to reach the phone.
  • The original game caused the most frustration due to a purposely limited inventory system. Later versions made this a little better (some of the paper scraps you really don’t need but will not take up space in bags and inventory). The reason for the limit was there is an NPC ghost who steals and moves stuff and I needed the player to not be able to carry everything so this would become apparent.
  • Many of the sounds are queued based on the world model. There is a roaming NPC ghost who “tidies” the place of anything the player leaves out and carries away every loose item it finds and stashes it in the downstairs closet. It closes doors and turns off lights, so anytime you’re wandering and hear a door slam in another room, that’s the ghost finding doors you’ve left open.
  • The photography system is complicated. You can PHOTOGRAPH/SHOOT [something]. Cluing for puzzles is based on taking a photo of an item or a door or a portrait involved, shortcuts and then REVIEWING [something] to examine your picture of it to notice a clue. This is another intentional gameplay system that can become very frustrating as there are unlimited photos on the digital camera, but the player must manage swapping and charging two batteries - the charger needs to be plugged in in the downstairs study and charge a connected battery over a set number of turns. However all this equipment being left unattended is subject to the ghost’s tidying tendencies and often will get interrupted and the charger will end up in the downstairs hall closet. At some point it usually becomes a three-stooges-style slapstick farce about fighting over your inventory items with the ghost.
  • The camera flash, if charged, can be used to locate items in dark rooms and interact with them. Repeated photos will potentially put one item in scope for the player. Another feature added was when the player didn’t have the camera and got stuck in the dark, they can FEEL AROUND to hopefully find an* in-room light source. Flashing the camera and feeling around might need to be done repeatedly to produce results, as is common in a horror movie…
  • The house has electricity and a fusebox in the cellar under the kitchen which is set to fail on a certain game clock turn, and then as cued by game events. To have natural light in a room, the fusebox must be switched on, and the light switch or lamp needs to also be on. Sometimes when the lights go out and the power is restored at the fusebox, a switch or lamp in a specific room might need to be toggled a few times to produce light again. This wasn’t intentional, but came about by the way the rules fell checking for the fusebox when switching on a light source.

Here’s the link to the dev-log post on itch:

10 Likes

I will admit, I started playing this but never finished due to charger fatigue (I had it plugged in out in the stable, which I think prevented the ghost from messing with it? I never actually realized there was a ghost until I clicked the spoilers in this post, oops. :sweat_smile: But having it in the stable meant it was kind of a trek to go change the battery…). But I was really enjoying the setting and the spooky photography and always meant to go back to it, so I will definitely check out the new version!

2 Likes

Honest to god, I didn’t even remember you could do that! I don’t remember exactly how it works, but the ugly chair in the study has some teleportation properties, and I think I meant it so you could reach the charger from one of the upstairs rooms.

I need to play my own game again to remember what all is in there; so embarrassing. This is the type of thing where people found valid workarounds I hadn’t considered and I’m like “yeah awesome I totally planned that!” :roll_eyes:

4 Likes