Saturday, April 25, 2015

Marathon on Debian




Back in the days of my youth, I've played the Marathon / Marathon2 / Marathon Infinity so much... Was really fun, discovering all the maps secrets and all. I remember playing  community made maps too, like Rubicon or Red, when I had finished the main trilogy.

I knew about Aleph One, the open source Marathon 2 engine, and played with it when I moved from OS9 to OSX. But had completely forgot about the linux version. Let's try to install Aleph One with Marathon Infinity on a PowerBook G4 Titanium 1Ghz, running Debian 7 Wheezy.

Hi Beauty
You'll have to compile it. First go to the Aleph One Marathon Infinity page :
http://source.bungie.org/games/infinity.php
And download the sources, here :
http://source.bungie.org/download/source.php
Also download the Marathon Infinity game files :
http://source.bungie.org/download/data.php?game=infinity
On the page it says :
" # Unpack the tar.bz2 file
  # Run ./configure && make && make install..."
but it's not that simple.  First thing first, yes indeed, unpack "AlephOne-20140104.tar.bz2", with XArchiver, ArchiveManager or whatever you have installed.
Place the unarchived folder to a convenient place, like your Documents folder, then get into it from a terminal window by typing "cd Documents/AlephOne-20140104"(without quote).
Then type "./configure" (without quotes), just as the Aleph One page says.
You won't go very far...And get an error. That is cause you're likely missing a lot of libraries that were not installed during the installation of Debian. Specially the -dev (development) ones. Time to go into that "AlephOne-20140104" folder we've unarchived, see if there is any help.
Yes, open the text file "INSTALL.unix", there you'll find mode complete instructions on how compile the thing. It says you need the SDL_image , SDL_net and   SDL_sound libraries among other things. Opening Synaptic packages manager, I was able to see that these were already installed on my system, but not the -dev packages, so installed it. After that, back to AlephOne-20140104 folder, and re-try a "./configure". The good thing is that each time the compiler fail, it tells you what you're missing . So each times (in my case 7/8 times...) , I was able to go back to Synaptic and install the missing packages. If I found that some of these were already installed, I would install the uninstalled -dev packages that goes with it.
So here is a rough list of want I had to install :

libsdl1.2-dev (1.2.15-5)
libsdl-image1.2 (1.2.12-2)
libsdl-image1.2-dev (1.2.12-2)
libsdl-net1.2 (1.2.8-2)
libsdl-net1.2-dev (1.2.8-2)
libsdl-sound1.2 (1.0.3-6)
libsdl-sound1.2-dev (1.0.3-6)
libboost-dev (1.49.0.1)
libboost-all-dev (1.49.0.1)
libsdl-ttf2.0-0 (2.0.11-2)
libsdl-ttf2.0-dev (2.0.11-2)
libzzip-0-13 (0.13.56-1.1)
libzzip-dev (0.13.56-1.1)
zziplib-bin (0.13.56-1.1)
libogg-vorbis-decoder-perl (0.9-1+b3)
libruby1.8 (1.8.7.358-7.1+deb7u2)
libvorbisfile-ruby (0.2-8.1)
libvorbisfile-ruby1.8 (0.2-8.1)
libogg-dev (1.3.0-4)
libvorbis-dev (1.3.2-1.3)
vorbis-tools (1.4.0-1)
ffmpeg (6:0.8.17-1)
libav-tools (6:0.8.17-1)
libavcodec-dev (6:0.8.17-1)
libavdevice53 (6:0.8.17-1)
libavfilter2 (6:0.8.17-1)
libavformat-dev (6:0.8.17-1)
libavutil-dev (6:0.8.17-1)
libavutil53 (6:10.1-1~bpo70+1)
libopencv-core2.3 (2.3.1-11)
libopencv-imgproc2.3 (2.3.1-11)
libswscale-dev (6:0.8.17-1)

Note, this is not the complete list of what will be installed in the process, there are many more that are dependencies of the above ones. Also in the process maybe  I installed things not really needed for the configuring...

Anyway, after a succesful configuration, type "make" (without quotes) to compile Aleph One. Should take a bit of time, on my 1Ghz Ti it took about 30 to 45 minutes.
Then if all goes well, you should have Aleph One compiled. Not installed.
To do so you have to be root, so login as root with "su" then type your root password. Then type "make install" (without quote)... Or just do "sudo make install".

Ok, now we have to install the game files. That is the "MarathonInfinity-20140104-Data.zip" file I've downloaded earlier. Once unarchived, the content of the resulting "Marathon Infinity" folder must be moved to the AlpehOne folder , in /usr/local/share. You'll need to be root for that. Can be done from PcManFM file manager that I use, by opening
/usr/local/Share/AlephOne folder as root and moving the files in there.
Or by the command line by typing :
sudo mv >here drag the content of the Marathon Infinity folder< /usr/local/share
All in one line, and type your root password.

Ok... time to test. In a terminal window, type "alephone", or in the WindowMaker (that i use) main menu, go to "Run" and type "alephone" in the opening window.
Marathon should first start in fullscreen mode, which is not bad, but if the game is not set to your screen resolution, then when you'll quit the game, the system will keep the game resolution (not like in OS9 when the system would switch from 1024x768 to fullscreen game res of 640x480, then when quiting the game set back the system res to 1024x768, for example), and it will be a bugger to get back to your original resolution. So you'd better set the game res to your screen res if you play fullscreen. The thing is , on a PowerBook G4 Titanium 1Ghz the best screen res is 1280x854, and that game textures will not look too good at that resolution... So I elected to go for the windowed mode at 640x480.





Btw, there was no windowed mode the the original Marathon game on MacOS.



Note also the rendering must be set to "Software" , should be by default anyway if you don't have graphic acceleration on your system, my case. If you try "Open GL", it will crash.

I did find the mouse sensitivity to be too high by default, so had to lower that a bit.


Also found something that makes the game more difficult than the original Mac OS version. That is: I use to set the control to Mouse and Keyboard, using up and down keys to go forward and back, and left and right keys to make sidesteps left/right, using the mouse to rotate around and change direction fast. But while in the original Mac OS version I could change direction with the mouse while moving with the up/down/left/right keys, in that version, I can't ! I have to stop moving with the keys to be able to rotate around... Bugger.
I'll have to try the Aleph-One for Mac OSX version to see how that works there.
Anyway, It's still very playable and enjoyable to kill Pfhors .

In that case, i'm gonna get killed...

One more thing: first time you'll launch Aleph One in WindowMaker environment , of course it will create the app running square icon on your desktop, displaying a green Marathon icon far too big for the square ... Can't remember where I found that big icon was, maybe in /usr/share/pixmaps.
but anyway, it's completely unaesthetic on my desktop, can't live with that.
So I copied that icon, and reduced it to the 48x48 pixels size (original NeXTstep icons size). Then applied it to the Aleph One app square icon, by right-click -> Settings , in Docked Application Setting window -> icon image -> browse to your 48x48 Marathon icon. Looks better. But note that if you launch the app , the running app square icon will still go and check for that too big icon to display...
So while the app window is open, right-click on the top window bar and go to "Attributes..."


 Then from "Window Attributes" scroll menu, go to "Icon and Initial Workspace".



And then check the "Ignore client supplied icon" so that WindowMaker will use the icon you've decided for the running app.



And btw, here is the 48x48 Marathon icon to download :


1 comment:

  1. Half marathon training guides Thanks for a very interesting blog. What else may I get that kind of info written in such a perfect approach? I’ve a undertaking that I am simply now operating on, and I have been at the look out for such info.

    ReplyDelete