TC going from Mac Classic to Windows, a couple of questions...

Discuss and unveil current Marathon projects.

Post Aug 17th '09, 20:49

Dear all!


I've spent the last six months making a total conversion of Marathon Infinity. Trouble is, I've only had a rather low end Mac at my disposal, and thus I have been restricted to Mac OS 9 compatible software only.

The goal is to port this total conversion to the latest Windows version of Aleph One, and I've so far gathered from the wiki that it should be fairly easy for the most part. According to the wiki (specifically http://source.bungie.org/wiki/index.php/Cr...Scenario_Guide), Shapes and Sound files will work without modification. Maps and Images seem to require some tinkering (converting to MacBinary), but it's nothing I can't handle. Music is a piece of cace apparently. You are very welcome to confirm this, as the wiki seems to be aimed at going from Max OS X to other platforms, rather than from Mac OS Classic to other platforms. I.e. are my assumptions correct regarding these parts?

However, I need to confirm a few specific potential issues. The first one is the Marathon Infinity application itself. I've modified it using an application called "Fux!", which is fairly easy to use. From what I understand, MML is the way to go. I conclude this because most of the attributes that I've modified seem to be represented in the MML guide (http://marathon.svn.sourceforge.net/vie ... s/MML.html). My question is, does MML completely cover the functionality of Fux!, or are there aspects that are not covered?

The next obvious question is if there is any way to export the changes I've made in Fux (i.e. export the current state of the Marathon Infinity application) to MML? Even though MML seems pretty straight forward (I know a fair bit of XML), I'd still be happy to avoid this part of the process if I can.

Furthermore, the wiki doesn't mention how one should go about converting Physics files. The question I'm having is if there is any way to convert this file (there is only one Physics file in my TC) into an Aleph One compatible counterpart, or if am I just better of merging the Physics file with the Map file? I.e. will encoding the Map file to MacBinary keep the merged Physics file intact? That would be acceptable since there is little need for me to change the Physics file when the TC is converted to Windows, and thus little need for me to have a separate Physics file.


Thanks in advance,
Kaninus
Kaninus

Post Aug 17th '09, 20:57

I don't think you have to convert the physics. I have XP on my desktop and I used sheepshaver to create a physic thru anvil. I ported it over and had no problems using it. Don't quote me on it.
D?rovací tvá?í.

Fobo: I find it hard to keep a sentence down under two paragraphs.
User avatar

tehWastedJamacan
SuFu, SD

Post Aug 17th '09, 21:00

Don't bother with MacBinary any more, simply use Atque to split and re-merge your Map and Images file (http://sf.net/projects/igniferroque) and give them the correct extension. Shapes, Sounds, and Physics files need no conversion, just add .shpA, .sndA, or .phyA.

As far as Fux and MML, there used to be an exporter that would attempt to divine the correct MML (actually, I believe it exported the precursor to MML) from a Fuxed Marathon Infinity, but it never seemed to work for me. You're going to have to write it by hand. MML should be able to do everything Fux could do.
Last edited by treellama on Aug 17th '09, 21:01, edited 1 time in total.
User avatar

treellama
Pittsburgh

Post Aug 17th '09, 21:04

I dont think you necesarily need to add .shpA .sndA or .phyA.
D?rovací tvá?í.

Fobo: I find it hard to keep a sentence down under two paragraphs.
User avatar

tehWastedJamacan
SuFu, SD

Post Aug 17th '09, 21:53

Kaninus wrote:Trouble is, I've only had a rather low end Mac at my disposal, and thus I have been restricted to Mac OS 9 compatible software only.

Most of what Treellama said will get you to the finish line, but I don't think he realized you can't use Atque unless it's on a system that will strip your resource forks before you can do a successful unmerge. Atque doesn't run on Mac with anything below OS X. If you have a Windows machine available, encode your Map and Images files in MacBinary on MacOS, then transfer those files to Windows and unmerge them with Atque, then re-merge them as Map.sceA and Images.imgA. You'll be good to go without having to mess with resforks. If for some reason you can't use a platform on which Atque runs, I'll be happy to take those MacBin files and doctor them myself.

Furthermore, the wiki doesn't mention how one should go about converting Physics files. The question I'm having is if there is any way to convert this file (there is only one Physics file in my TC) into an Aleph One compatible counterpart, or if am I just better of merging the Physics file with the Map file? I.e. will encoding the Map file to MacBinary keep the merged Physics file intact? That would be acceptable since there is little need for me to change the Physics file when the TC is converted to Windows, and thus little need for me to have a separate Physics file.
I recommend merging physics in anyway, because people are silly and they might select a completely wrong file on purpose or by accident, or they might even lose the physics file you gave them and have Aleph One revert to Infinity physics. The good news is that physics were always preserved when merged because they aren't part of the resfork, but are instead part of the map format itself. Treellama's improvements to the engine now fold former resources into the file format in the same way. Standalone Physics files don't need to be MacBinned as it is. I think you could include the standalone as well, in case you'd like to encourage others to make their own netmaps. But merging physics into a TC is pretty much standard procedure.

Treellama also talked a little about MML. Don't forget to write what we call "Scenario MML," which tells the metaserver what is and isn't net-compatible with your game. People scratching their asses on the server tend to be indiscriminate about whom they join, so it's a lot easier on everyone if you use the nifty Scenario MML features that now come with Aleph One.

Once you have everything squared away with Atque's merge, you will need only one set of files for all platforms. The Atque manual(?) will tell you how to add per-level MML to map files as well, if you need to. Don't follow old tips drifting around online for putting the MML on the resource fork, because that starts the whole problem up again. In any event, there are several people willing to help you in real time if you head over to the #alephone IRC channel on irc.freenode.net. Keep an eye out for Treellama or me. We're usually around evenings (EST). Most of the other guys there are helpful, too. Don't listen to the horror stories :)

tehWastedJamacan wrote:I dont think you necesarily need to add .shpA .sndA or .phyA.

It helps most operating systems give those files the correct icons, and it also lets the engine skip those files for type tests, which makes the file selectors in Environment Preferences a little faster if you have tons of files in the directory. Because most people run other systems than OS9, it's polite to add extensions. I appreciate being able to ls *.sceA and so on in Linux.
Last edited by irons on Aug 17th '09, 23:03, edited 1 time in total.
underworld : simple fun netmaps // prahblum peack : simple rejected netmaps
azure dreams : simple horrible netmaps // v6.0!!!: thomas mann's greatest hits : simple simple netmaps
User avatar

irons
(.Y.)

Post Aug 17th '09, 22:37

irons wrote:then re-merge them as Map.sceA and Images.imgA.


fixed
What are you, if not seven different shades of stupid?
User avatar

CryoS
The Dungeon

Post Aug 17th '09, 23:04

CryoS wrote:fixed

Thanks. That's what I get for never ever messing with the Images file!
underworld : simple fun netmaps // prahblum peack : simple rejected netmaps
azure dreams : simple horrible netmaps // v6.0!!!: thomas mann's greatest hits : simple simple netmaps
User avatar

irons
(.Y.)

Post Aug 18th '09, 01:11

I see. I generally dont have very many files in my MI folder. i spread them around multiple MI folders, named for what they have in them. So load times are small
D?rovací tvá?í.

Fobo: I find it hard to keep a sentence down under two paragraphs.
User avatar

tehWastedJamacan
SuFu, SD

Post Aug 18th '09, 01:26

It only matters if you're like me and you somehow have thousands of unrelated files in the folder. .apps, for example, are directories with tons of files inside them. When I had OS X, this is what happened to me, and it took 20+ seconds to select a map file after launching Aleph One. A1 has to look at every file whose extension it doesn't recognize as something else and determine if that file is in one of its formats. Reading the first few bytes of lots of files can be slow.
underworld : simple fun netmaps // prahblum peack : simple rejected netmaps
azure dreams : simple horrible netmaps // v6.0!!!: thomas mann's greatest hits : simple simple netmaps
User avatar

irons
(.Y.)

Post Aug 18th '09, 01:37

ouch
D?rovací tvá?í.

Fobo: I find it hard to keep a sentence down under two paragraphs.
User avatar

tehWastedJamacan
SuFu, SD

Post Aug 20th '09, 18:28

Thank you all for your insights and generous offers, I really appreciate it.

This TC is for my immediate friends' eyes only, and it will probably be played only once at a reunion party a few weeks from now. I will be the host of both the party and the server, and thus I can easily give "on-site" support if something goes wrong ;) Since I have this deadline in a few weeks, the main goal is to get it up and running on Windows XP/Vista with minimum effort.

Thus, the biggest effort seems to be that of MML, and I have one last question regarding this: When I downloaded the official Aleph One Marathon Infinity scenario, I noticed that there was no MML-file covering each and every standard setting. My conclusion is that all these settings are embedded in the Aleph One application. I mean, I haven't changed _everything_ in the Marathon Infinity application with Fux, so I assume that I only need to specify my _changes_ in the MML-file, instead of each and every setting for the entire Infinity application. Am I correct in this assumption? It would certainly save me some time.


Thanks again people, I really appreciate it.


Cheers,
Kaninus
Kaninus

Post Aug 20th '09, 18:28

You are correct.
underworld : simple fun netmaps // prahblum peack : simple rejected netmaps
azure dreams : simple horrible netmaps // v6.0!!!: thomas mann's greatest hits : simple simple netmaps
User avatar

irons
(.Y.)

Post Aug 20th '09, 18:49

Cool. Thanks a lot!
Kaninus

Post Aug 20th '09, 18:54

Sure thing. Let us know if you need any other help. You're the only new guy right now who seems capable of learning the ropes. Good luck!
underworld : simple fun netmaps // prahblum peack : simple rejected netmaps
azure dreams : simple horrible netmaps // v6.0!!!: thomas mann's greatest hits : simple simple netmaps
User avatar

irons
(.Y.)

Post Aug 20th '09, 19:13

Well, that was certainly a back handed move. Getting our hopes up like that.
Meta

Post Aug 20th '09, 19:43

Meta wrote:Well, that was certainly a back handed move. Getting our hopes up like that.


in minutes you managed to double post and double topic :C
What are you, if not seven different shades of stupid?
User avatar

CryoS
The Dungeon

Post Aug 20th '09, 19:51

Bwahaha!
Meta

Post Aug 20th '09, 21:17

Meta wrote:Well, that was certainly a back handed move. Getting our hopes up like that.

On the contrary, I sincerely commend this guy for not subjecting the rest of us to his personal project. You could all stand to learn something from him.
User avatar

treellama
Pittsburgh

Post Aug 20th '09, 21:21

I'm still curious what this scenario is like... Masochism? Optimism? Same thing?
underworld : simple fun netmaps // prahblum peack : simple rejected netmaps
azure dreams : simple horrible netmaps // v6.0!!!: thomas mann's greatest hits : simple simple netmaps
User avatar

irons
(.Y.)

Post Sep 6th '09, 21:53

Dear all,


First of all, it's nothing more than a really silly and goofy TC. Nothing exciting, nothing sci-fi, has nothing to do with the Marathon story. One level only, and aimed to play in LANs with my buddies. Loads of internal jokes and references to stuff that me and my buddies have been through in school and such. And everything is in Swedish ;)

I ain't building a new Rubicon here, although I was in the early stages in the 90's. Back then I was so disappointed by the shortcommings of the Marathon engine; this was before Aleph One. When the airlock-section on my first spaceship level complained of too many polys and whatnot, I knew I had to give up. And the lighting was/is a pain to work with. I still have all my notes though. Loads and loads of papers; drawings of enemies, weapons, stories, inspirational material. I was so extremely inspired by Marathon 2 and its story (never cared for Infinity back then, I thought the textures was ugly and the story was uncomprehensible), and the Marathon Story website only fueled that fire further. Aaah, the conspiracies, the numerology, the obscure references. It was magical! I even dreamed about it all. I can't remember how many times I used to wake up and had a handful ideas to scribble down.

But I just wasn't able to manifest my idéas and thoughts with Forge and Anvil. I moved on. I bought a book called Black Art of Macintosh Game programming. Started reading it, and realized that I had to learn to program first. Bought a C-programming book. Bought CodeWarrior. I think I was like 13 at the time. ;) But I couldn't really grasp the sheer amount of work that was involved. And nowadays I've realized that I'm not that good a story writer anyway. When I look back at Marathon 2, Rubicon, The Classified 19 or whatever it was called... I'm filled with awe. Someone should really make a movie out of all that. The story in these games are better than anything Lucas and Roddenberry can/could ever cough up. Me, I'm just doing this for nostalgic purposes. When this TC is finished I'm giving up the Marathon engine for good. I love it, and I hate it. It's so easy to create something, but so hard to create something good. And the bugs... Dear God the bugs... they are driving me crazy...


But I digress, as I am sure you can tell. Sorry.


I thought I'd give you an update on my project and also pose a few more questions.

My reunion party has been postponed at least another three weeks, so this weekend I invited some other friends to beta test my nearly finished TC. The migration to a playable (not complete, but playable) Windows version was a snap. I simply merged the map and physics files with Forge on my Mac, converted them to MacBinary, and transfered them along with the sounds and shapes files to my Windows PC. (Didn't have time to do the MML-stuff though). After that, the game was definitely playable.

During the beta tests I noticed two issues that I really need to solve, and I was wondering if you guys had some insights. I actually think I have solutions to each of these problems, but they are problably either a bit too long-winded, ugly, or simply inefficient solutions. If there are easier or better ways to solve these issues, I'd gladly do that instead.



1. Most sound effects cuts out only like half a second after they have begun playing. Basically it sounds like I only have 2 channels, rather than 32. This problem does not appear in the original Mac version of the TC. Even with it's 4 channel limit, the sounds usually play out in their entirety.

Back in the good ol' days when I was making Marathon mods for Mac OS 9 only, I recorded all sound effects in the Mac sound settings panel, and then copied and pasted the sounds into Anvil. I only used 8-bit sounds back then, and the sound settings panel recorded in standard Mac system 7 sound format. Now, I'm using Wail 2.5b1 instead to import 16-bit aiff and system 7 sounds that I pre-record in my studio. Maybe this has something to do with it?

I tried to replace my sounds file with the standard Marathon Infinity file, and when playing I couldn't hear any cut outs. It all worked fine. But the standard sound effects are on the other hand rather short compared to my sound effects, so it is not really apparent if the problem persists with the original sounds. Most of the original sounds fits into that half-second before it cuts out. Most of my enemies say funny stuff for every action they take, and their lines are often a few seconds long. So I'm not sure if it's the sound file that is broken somehow, or if it is Aleph One that can't handle the sounds correctly. Perhaps it is aiff-related? I do know that the problem is not hardware related. We hade the same issue on four computers, Windows XP and Vista, both in single player and in LAN.

The problem might have something to do with Wail, the length of the effects, or the sound format. But then again, my old Mac G3 copes with them just fine and plays them in their entirety. I fact, most of the enemy rants are marked as "cannot be restarted" so that you can hear them in their entirety. It all checks out on that end.

I've also noticed that my ambient sounds aren't playing at all. I was expecting trouble with this, because my ambient sounds are troublesome even on the Mac. The thing is that they are rather long, between 10 and 40 seconds or something, and my old Mac really struggles playing them while also playing enemy sounds and such. But in Aleph One, the ambients are rarely played at all. We simply disabled them when we beta tested.

My most likely ignorant solution to this problem is to convert every single sound file to standard Mac system 7 sound format and use the same method I used back in the 90's. I.e. not using Wail or aiff. Just plain old mac formatted system 7 sound files and good ol' Anvil 1.0.3b4. And this is what I will do, if you guys don't have any other suggestions. Could it be that Aleph One can't handle sounds of a certain length/size/format? Is it possible to tweak it so that it will play longer in-game sounds? The game will be played on rather good computers; there is no doubt in my mind that the hardware can handle it. It must be software related.


2. During LAN-play, the transparency color cyan doesn't seem to work. Most of my sprites have the default blue background for transparency, but some enemies have blue details. I noticed that cyan and magenta works as transparent colors in the original game, so I simply used those instead so that I didn't have to change the enemies blue stuff. When playing single player, it works fine in Aleph One on Windows. But during LAN-play I get white or black instead of transpacency. Very strange.

My most likely ignorant solution to this problem is to use the original pure blue for transparency instead, but then I will also have to change the blue colors that are already in the enemy sprites. Are there other ways? And why is this phenomenon only apparent during LAN?


Thanks in advance,
Kaninus
Kaninus

Post Sep 6th '09, 22:09

Kaninus wrote:And everything is in Swedish ;)


Tjenah
What are you, if not seven different shades of stupid?
User avatar

CryoS
The Dungeon

Post Sep 7th '09, 00:35

Sorry to see you go. (Of course not yet; loch is always a drawn out process) I do look forward to whatever this goofy little TC turns out to be since you seem to have your Marathon 'skills' down pretty pat. It's just a shame to see the loss of that passion for all the stupid quirks and nuances that is Marathon's story and what it was all about. The 'thon community is alive and kicking but unfortunately much more cynical and less varied than in the past.

Do feel free to swing by hl.bungie.org though. Plenty of loch to go 'round.
I have been wading in a long river and my feet are wet.
User avatar

L'howon
Somewhere outside the Citadel Of Antiquity

Post Sep 7th '09, 01:04

Kaninus wrote:My most likely ignorant solution to this problem is to use the original pure blue for transparency instead, but then I will also have to change the blue colors that are already in the enemy sprites. Are there other ways? And why is this phenomenon only apparent during LAN?

I don't know how to fix your sound problems--the sound is completely re-written from Marathon 2, but I've never noticed any issues with old scenarios.

As for transparency, the engine doesn't use more than one color for transparent--you need to stick with the first slot of the color table. There's nothing that says you can't use pure blue in your sprites, though! If you use the blue in the ramp later on in the color table, it should work just fine.
User avatar

treellama
Pittsburgh

Post Sep 7th '09, 02:52

Lh wrote:The 'thon community is alive and kicking


Maybe kicking people out.
D?rovací tvá?í.

Fobo: I find it hard to keep a sentence down under two paragraphs.
User avatar

tehWastedJamacan
SuFu, SD

Post Sep 9th '09, 00:55

02:50 PM.... another sleepless night here in Sweden. Might as well log in...

CryoS wrote:Tjenah


Tjenamors! Jag trodde jag var den enda i Sverige som fortfarande är intresserad av Marathon. ;)

(Translation: Howdy! I thought I was the only one in Sweden still interested in Marathon. Winking smileyface.)

Lh wrote:Sorry to see you go. (Of course not yet; loch is always a drawn out process) I do look forward to whatever this goofy little TC turns out to be since you seem to have your Marathon 'skills' down pretty pat.


I appologize for my ignorance, but what is this "loch" you are referring to? I tried to google it, but all I got was some bullcrap about a really big fish in Scotland.

When all this is over I might actually post some screenshots, but I'm a little worried about copyright and such. There is some hefty borrowing of textures, items, and scenery. I think I've borrowed stuff from almost all major Marathon TC, including Rubicon, Carlos on the run, Prime Target and Damage Inc. Since my TC will never be released to the public, not even for free, I'm basically treating all this stuff as my own. Though at least 60-70% of the material is legally my own stuff or public domain stuff. What do you guys think? Am I even allowed to post such screenshots?

I could also post screenshots of the earlier versions of the game, i.e. the stuff I did back in the late 90's. It's really fun to compare that stuff to what I'm capable of doing now. Back then I didn't understand the concept of scaling sprites, I basically thought everything had to look blocky as the original Marathon series (and all it's major TCs) did. But now that I do understand Forge a bit better it's a real pleasure to make all this high resolution stuff. Yummy!

Treellama wrote:As for transparency, the engine doesn't use more than one color for transparent--you need to stick with the first slot of the color table.


I hate to second guess developers here (I'm a systems architect and developer myself and I don't like to be second guessed), but Aleph One seems to do away just fine with several transparent colors in single player mode. The original Marathon engine seems to interpret the three first color table slots as transparent, and in the default color tables these are usually blue, magenta and cyan (at least for color table 0 on each "category"). One can use other colors though. I successfully used yellow in slot 3 as a transparent indicator color. I first noticed this when I created some sprites with some cyan pixles. I noticed they were transparent and thought "but these aren't blue...". Tried it out and realized it's potential and started using it. Boy was that a big mistake.

The transparent colors in slots 2 and 3 work fine in the original engine in single player mode. Due to a severe lack of Macs I cannot test the original engine in LAN-mode though. Aleph One seems to be interpreting the first three color table slots as transparent in single player mode as well, but perhaps that is a property of the shapes file rather than the Aleph One engine itself. In LAN-mode however, only those sprites that use the first slot as the transparent color seems to be working. The other sprites I've used cyan as the transparent color, and these are all replaced with solid black or white.

I could be wrong of course, but that is what I have observed so far.

Treellama wrote:There's nothing that says you can't use pure blue in your sprites, though! If you use the blue in the ramp later on in the color table, it should work just fine.


Very true. After all, there are blue pfhor fighters, so it must be possible. It's just that I've always had the problem that the stuff that should be blue in my sprites tend to be interpreted as transparent rather than solid. Maybe it's just my ignorance, I'm no expert regarding Anvil. But I think I can solve it anyway. I had to redo some of these sprites anyway and work around a really tiresome bug in Anvil which unables my shapes files to be saved at all, thus preventing me from doing any further work with my sprites. Thank God for Shapes Juggler. It would be BAD to have to redo every single sprite in the shapes file. I've packed it full of so much junk it's about five times larger than the original Infinity shapes file.


Oh well, back to bed...
Kaninus

Next

Return to Projects



Who is online

Users browsing this forum: No registered users