Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

wrldwzrd89

macrumors G5
Original poster
Jun 6, 2003
12,110
77
Solon, OH
Hey all. I've decided to engage in porting an old Windows game, for which the source code is available to the general public, to the Mac OS. I've already chosen a programming language and done the necessary resource format conversions. That's the easy part... the much harder part is figuring out the legacy formats used by the game and supporting them to the greatest extent possible in the new version. The game was originally written in C, a language I understand... so that makes this second task a bit easier. Still, though, I need to figure out how to at least read these formats in the new language I'm using. I've chosen Java as the language to write the game in - I know, some people think it's a bad choice for games. However, those people aren't aware that, for me at least, the advantages outweigh the disadvantages. I already have some prior game programming experience in Java, and most of the technology needed to make the game work as a Java game is already written, either by me or others. The game I've chosen to port is called LaserTank; the latest Windows version can be downloaded here. Note that the game runs GREAT in Wine and its variations (Darwine, WineBottler, CrossOver, etc.), which I have, so testing my version against the original is fairly straightforward.

All that said... are there any resources (books, web sites, forum posts, etc.) that I should look at or purchase that would make this project simpler? I have many books on C, C++, and Java, so the language won't be an issue if I have to look up some random API call. I also have books on Mac OS X (including one old one with techniques for Mac OS X Java coding).
 
I've decided to engage in porting an old Windows game .. to the Mac OS. The game was originally written in C ... I've chosen Java as the language to write the game...

Seems like your porting a game from C to Java, not Windows to Mac.

...are there any resources ... that would make this project simpler? I have many books on C, C++, and Java, so the language won't be an issue if I have to look up some random API call.

Looks like you have some good resources already. Experience seems to be the only thing that makes projects simpler. This project should give you some experience. Sorry, there isn't any magical cure-all.

I also have books on Mac OS X (including one old one with techniques for Mac OS X Java coding).

If your writing this in java, why not make sure it looks and works well any where you can play java games. Like windows and linux.


I think the real question you are asking is...
the much harder part is figuring out the legacy formats used by the game and supporting them to the greatest extent possible in the new version.

Well I couldn't find the source code, but I'm sure that the map files are pretty straight forward to interpret. If you have the code, look at where it imports them, and hopefully someone wrote a decent comment on how they work, if not ask around in the games forums.

Now I have a question for you: Why don't you rewrite the game from scratch? The game design (internal rules) doesn't seem that difficult. You need to do is make sure it is compatible to the original level files, high score files (both local and global), and can generate the playback files as well, but the game code can be completely different, and designed by you!

The reason I suggest this is because you only have to know how the game works as opposed to how every function call in the original game works.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.