OSX porting for dummies?

Started by StillInThe90s, Thu 04/06/2015 00:11:12

Previous topic - Next topic

StillInThe90s

I have been trying to explore if porting a game to OSX would be possible and found very little, except old abandoned threads. Wadjet is apparently using their own port, but being a non programmer without a clue about how to go about it, I figured I need to dig into this a bit deeper before bothering them.
So, my question: Would porting a game to OSX be realistic for a non programmer, and if 'yes', where can I read about it?

Crimson Wizard

Quote from: StillInThe90s on Thu 04/06/2015 00:11:12
So, my question: Would porting a game to OSX be realistic for a non programmer, and if 'yes', where can I read about it?
Porting will be realistic to non-programmer, if there is an engine source code for desired platform already (like the one Janet Gilbert has), and it is compatible with the version of AGS you made your game in.
Regarding the latter, I heard you made your last game using Draconian edition. The last time I checked, Janet's OSX port is based on our old pre-3.3.0 version. But it could be upgraded, and required features from Draconian copied over. This should be done by someone who can read and write the code though.

Khris

A game consists of two parts: the engine and the data files. An AGS game exe contains both (unless there are additional files like speech.vox).
Still, running a game with another engine version is possible by renaming the exe to ac2game.dat, then copying another acwin.exe into the folder and running that.
The same idea applies to porting a game; in theory you don't need to do anything to port your game, just get a working OS X engine port and rename your exe file.
So while porting the engine is very difficult for a non-programmer, it doesn't have to be done for each game separately, only once, as long as the game's AGS version is supported.

Crimson Wizard

Yes, I think Khris explained it more clear :).

Just a note: the "ac2game.dat" is a deprecated name for game file from early days of AGS.
There was a misunderstandin on JJS's part when he defined it to be used (he seen it in the source code).
Currently we support (and encourage to use) *.ags name format (like MyGame.ags).

StillInThe90s

Thank you guys. Slight info overload, but things are getting somewhat clearer. At least partially.
I'm pretty sure Draconian edition was based on 3.2.1 or at least that games can migrate between the two in either direction. Would this still need upgrading the engine port?
About "ac2game.dat": I got a little confused. Is ac2game.dat obsolete and replaced with *.ags, or is this just practice for future programming?
Sum up: So If I understood this right, there is no compiling of source code involved in porting a game, provided the game is made with a compatible version. Correct?

Crimson Wizard

#5
Quote from: StillInThe90s on Sat 06/06/2015 23:38:06
I'm pretty sure Draconian edition was based on 3.2.1 or at least that games can migrate between the two in either direction. Would this still need upgrading the engine port?
You would not be able to transfer a game made with Draconian to 3.2.1 if you used any of the new Draconian script commands. And ofcourse, the fixes from Draconian won't work too.

Quote from: StillInThe90s on Sat 06/06/2015 23:38:06
About "ac2game.dat": I got a little confused. Is ac2game.dat obsolete and replaced with *.ags, or is this just practice for future programming?
You may use both, but I recommend *.ags, because its more logical, in my opinion, and lets you to use your actual game title in file's name.
Our ports support both formats.

Quote from: StillInThe90s on Sat 06/06/2015 23:38:06
Sum up: So If I understood this right, there is no compiling of source code involved in porting a game, provided the game is made with a compatible version. Correct?
Yes.

StillInThe90s

Right. Draconian was only used for the fixed character scaling and the enabled gamma slider in windowed mode. So going from that to 3.2.1 should not be a problem.
I'll contact Janet about her port and see what she says.

StillInThe90s

Ok. I've been bothering Janet enough. She kindly referred me to her humble-port branch, but I can't make heads or tails of it since there (naturally) are no instructions for beginners like me. And it has to be compiled, as far as I can tell. So no rename-game-file-and-go.
Could someone help me out?
I suppose I'll be needing visual studio 2010? Do I get away with express? What files/directories should be included?

Semi off topic: The OSX versions of wadjets games on gog.com are apparently wineskin wraps, btw. Anyone having experience from porting with that?

Crimson Wizard

#8
Quote from: StillInThe90s on Tue 09/06/2015 22:10:52
I suppose I'll be needing visual studio 2010? Do I get away with express? What files/directories should be included?
You do not and cannot use Visual Studio to build OSX programs. Visual Studio is for Windows apps only.

I hope Janet will explain more on this, because its her port.
I may guess its X Code you should be using, but I may be mistaken.

I also guess that if Janet has working OSX executable, then you could use the same?

StillInThe90s

I was afraid you would say that. Oh, well. Not enough time atm anyway.
Thanks for clarifying, CW.

Crimson Wizard

Quote from: StillInThe90s on Tue 09/06/2015 22:10:52And it has to be compiled, as far as I can tell. So no rename-game-file-and-go.

I would still suggest to ask Janet if you can use same OSX executable for any games. If you can, then anyone technically adept could compile it for you, or you may even take a ready port executable from Janet.

nosehair

I believe some dummy-friendly steps from a few years ago will still work to port AGS games to mac. These steps are adapted from ryosan's post from this Gemini Rue thread:

1. First, create a new folder, put your game.exe file in there, along with any .cfg file and audio.vox you may have
2. Install Wineskin Winery app
3. Open Wineskin Winery, install latest engine and wrapper versions
4. Create "new blank wrapper". This will create a .app file
5. Find that .app file in finder, right-click (or control-click) on it, choose "show package contents"
6. Open Wineskin.app from the folder that appears
7. Choose Install Windows Software
8. Choose "copy a folder inside"
9. Select the folder from step 1 with your game files in it
10. Try running the app

This might work, or it might require further fiddling. Sometimes you may have to re-launch Wineskin.app and "Set Screen Options" to override resolution settings. But anyway, these steps have worked to port a few AGS games to mac, well enough for dummies anyway.

StillInThe90s

Thanks nosehair.
I have a feeling this will be harder than it looks, but I'll definitely give it a try.
Won't get my hands on a mac for a couple of days though.

SMF spam blocked by CleanTalk