Rumrunner talks about his struggle getting Eurochart to work under Linux and reflects on multiplatform productions in general.
comment by Rumrunner/Void
Lately, the scene has seen some productions released for multiple platforms. Among others the latest issue of Eurochart, which was released for Amiga, AmigaOne, Pegasos, Linux and Windows. In addition, I suppose there’s a version for Commodore 64 out there. In this very issue, there’s an article about coding a mag on said computer.
Multiplatform scening not without problems
Now, what possible problems are there to look out for if you decide to release a production on several platforms? First, let’s look at one thing I experienced when I tried to run Eurochart on an intel computer running Linux. First, of course you need to have all necessary libraries installed. I made sure to have all the sdllibraries installed. I don’t remember if there were much I didn’t have from before, so it shouldn’t be too much work getting it to run. However, one library needed was libstdc+ or similar, I don’t remember exactly right now. I do remember however, that the needed library wasn’t one of those that’s simple to install.
You cannot download it as a single archive, compile and install it. It gets spread along with the gnu c compiler. I didn’t want to upgrade the compiler to run this production, as there are certain issues to doing that. First, removing the old compiler would also remove libraries from that one, and they’re needed by other installed programs and libraries. You can never be sure of anything when it comes to linux or gnu software in general. And I wouldn’t risk finding out the hard way that I couldn’t run any of the old software, I’ve done that already when I tried to upgrade the c-library, and I won’t do it that way again.
Compiling a new kernel !??
Another problem by upgrading the c-compiler is that I wouldn’t be able to compile kernel modules again without compiling the whole kernel. As a result of not having a fixed format for how things should look. Compiling a new kernel with the new compiler would also lead to having to compile all modules over again, since a kernel compiled with a newer won’t load kernelmodules compiled with older compilers. Damn, what a hassle. I could have installed a newer gnu c compiler to another location, not using it for anything except the needed library by using LD_LIBRARY_PATH in order for the Eurochart executable to find it. But it still takes alot of time.
Now, this isn’t the fault of the makers of the intellinuxversion of Eurochart, I guess they just happened to have a newer version of gnu c installed, and it has then ofcourse used the new library aswell. Unix operating systems aren’t really demofriendly. There’s not much to rely on, things change, especially in Linux, where people make an effort to assure that there are problems with running programs without recompiling them for each single system. I understand very well that people won’t release their sources and dislike Linux because of that. (Not to mention that the kernelmoduleformat changes frequently, with a big change from 2.4, which was rather usable, to 2.6).
Now, there’s one problem, differences not only in hardware, which almost every platform except Commodore 64 has to deal with, but also in things such as libraries, which cannot be easily replaced since they might be vital to other parts of the operatingsystem and your other programs. It’s quite alot simpler on Amiga, where the only things you have to worry about is the amount of memory available and which 68000-processor the user runs, in addition to ocs/esc/agachipsets and such.
Multiplatform – What about formats?
Like in graphicsformat, soundformat and other formats. I guess moduleplayers are available for most platforms, so you can play regular modules, thereby making it possible to use the same music on the release on each of the platforms you release it for. I’ve used the mikmodlibrary for this on Linux, but it makes it necessary for those who want to enjoy the production to have this installed. It’s not as easy as including code for regular ProTracker, TrackerPacker or The Player in your productions on Amiga. I don’t doubt however, that there are people writing their own moduleplayers for other computers aswell, although I don’t want to think about the workload making it for several operating systems.
When it comes to graphics formats, I would think that the most important thing (if you’re going to use the same graphics on all computers) is to make sure it works on the main platform you’re releasing for. I find that it’s always better to go down on resolutions to display something in fullscreen than it is to either resize it to bigger size on that computer or resize to smaller size on another computer. I guess that there are various opinions of this though. Ofcourse, if you make sure that your graphics looks good on Amiga, and perhaps it’s also painted there, you cannot use it directly on a pc without resizing abit, and you also have to adjust for the differences in ratios between a fullsize picture on Amiga and the pc.
Does your production have to look the same on all platforms?
It’s important to consider what’s the most important content. And make sure that that’s what gets first priority when it comes to making it work on all platforms. For a musicdisk, the modules would have to come first ofcourse. In the same manner, articles should come first in a diskmag, and pictures in a slideshow, if there still are people releasing those (I miss them). I think Iris did a good choice here when releasing the Eurochart for multiple platforms.
There’s a completely different interface for Amiga and Windows (which are the two versions I’ve checked out), and they don’t look similar. They don’t have to either. Since they also switched their old code with the Disc-code on the Amiga version, there are differences from the previous issue on this platform aswell. If people get used to that one, they should be able to get used to the interface used on other platforms aswell. Here, one can of course also wonder how many platforms each man will view the production on.
Perhaps somebody will view it on a pc at work or in school, then look at the Amiga version at home. Since articles and charts are the same, there’s not really a point in trying out all versions, if you don’t do it out of curiosity.
There are certain qualities I would like to see in releases made for multiple platforms. First of all, I don’t want to see demos converted to other systems than the original one. Making a demo on one computer, then try to duplicate it on another will not lead to a decent result. Pc’s traditionally uses much 3d, ever since they got the first decent graphicscards. I’ve still yet too see impressing 2deffects on those. I don’t think a traditional Amiga demo with scrollers, bobs, sprites, and lots of coppereffects ever will look good on a pc. Do you think so?
What I would like to see released for multiple platforms is what we see already, like Eurochart, or Void’s and Nukleus‘ inclusion of the charts >from Versus in a production for AOS4. Text can easily be viewed on different platforms. What’s important in this aspect is rather to make sure everything around works good, even if not with the same handling, on all platforms.
I still think though, that each production should target one single system in the first place, the rest would have to be optional when and if you have the time to do the work. If not, the whole project is left out without roots, and might not be all that interesting.