Hi. My question today is - can I put something in my inform code to stop Zoom and other interpreters which would like to flash cover art up at gamestart, from doing so?
I’m doing other stuff with the presentation and don’t want that flash of graphic.
I did think, ‘Well I could cheat Zoom by giving it only a pixel or a transparent image to flash up,’ but even if such hacks did work, this would probably aggrieve the standard of including your cover art in your blorb in a standard way.
There’s nothing you can do in your Inform code. The right answer is “don’t include cover art”, but I7 currently doesn’t have a way to do that.
(Mac) Zoom has a preference option for “show cover art when game starts”. You can turn that off.
The next easiest way to do what you want is to release a zcode/glulx file without Blorb packaging. (There’s a checkbox for this in the Settings pane. Or you can just copy the .z8/.ulx file out of your project’s build directory.)
You could also file a feature request for the compiler to not include default cover art.
It’s not that I want no cover art at all. I have cover art(s), but I wish to present it in the manner and at the time of my choosing. So I still need the blorbness for my multimedia extravaganza features
You can get the desired effect by including a fully transparent PNG image as your cover art. I’ve attached one that will work: copy it, rename the copy “Small Cover.png”, and place both images in your Materials folder. Use the “release along with cover image” option as usual.
If you have a piece of art that you want to present at a certain point in the game, you can use Glulx image extensions. You’d include the image in the blorb file, but not as cover art per se.
However, the point of “cover art” in the blorb file is that tools can handle it in an automated way. IFDB can thumbnail it, interpreters like Zoom and iPhone Frotz can show it as an icon in a game catalog, and so on.
If you want to buy into that, you’re buying into all of it. One of the automated things done with cover art is Zoom flashing it up when the game starts. I don’t think it’s reasonable for the game to opt out of that. (It’s reasonable for the player to opt out of it – that’s why there’s a player preference for it.) It’s essentially a feature of the player’s game library, not of the game itself. If you think it’s a terrible idea, you can try to convince Andrew Hunter that his interpreter shouldn’t do it, or convince players that they don’t want it as an interpreter feature.
On the other hand, if you don’t want any of that, you just have to ensure that your blorb file doesn’t have a “cover art” entry. Ideally this would be an I7 option. Lacking that, it would be easy to write a script to delete the cover-art entry from an I7-generated Blorb file.
Interpreters that want to do things that interfere with the presentation of the game–like flashing a cover art over the top of the game window while the game is running, as Zoom does–should also provide (and publicize) a custom metadata option to suppress that behavior. For games that don’t want to have a title screen, the Zoom treatment is fine. But if I have a nice interactive title screen that uses my cover art, that behavior suddenly looks silly.
Or Zoom could mitigate the intrusiveness by having the image appear before the game loads–then you don’t have the rather rude preemption of the author’s presentation.
Yes, I realise that the specific thing called ‘cover art’ is there to help automate all kinds of things. That’s why I was reluctant to go with the ‘transparent image’ solution, because then anything that crawls the blorb will take the transparent image to be the cover art.
What I have is a thing that’s plainly my cover art, but I’m trying to hold it back temporarily when the game starts for presentation reasons – but I can’t if someone runs the game in Zoom or other interpreter that will pluck out the ‘cover art’ file and flash it atop the running game.
I think you should have a proper cover image and work on getting Zoom fixed. The source code is available after all. Don’t penalise other interpreters with blank covers because of one other annoying interpreter.