[Mono-osx] Mac port of a .NET game
Tiago Tex Pine
tiago at interama.net
Mon Nov 5 18:53:15 EST 2007
First, I'd like to thanks very much for your responses. The game I'm talking
about is LexVenture, a word game which can be seen here:
We have just finished the Windows version Beta period, but if any of your
use Windows, PM me and I would be glad to know your opinions on our latest
I'd like to ask a few additional questions, based on your replies:
This really depends. I assume you're using the DirectX libraries on
> windows which we dont support at all. It would be very dependent on
> your specific applicaiton.
Right now, we are, and the engine uses a mixed C++ DLL (managed and
unmanaged code), which Mono does not run. However, we made the framework in
such a way that we can port it to another engine in less then a month. The
engine we are considering is Irrlicht, maybe Tao, though Irrlicht would be
It really depends on what libraries you are using, I would recommend using
> tao as I have had the most luck with it.
We want to reach an audience as broader as possible, so system requirements
is considered. I'm assuming Mono runs at Mac OS X 10.3 (build 7B85, the
10.3.0) and earlier. I couldn't find the OpenGL version that is bundled in
this build, do you know what it is?
Or maybe if Tao works all fine with the 10.3.0 version?
1) mac pack is just an application to make .app files. A .app file is just
> a folder
> which contain the executable and all the resources needed to make it run.
> does not mean you don't need the mono framework but you could possibly
> include it in the .app bundle.
Geoff already answered this question; The issue that you have to face
> is that you will need to bundle Mono with your application.
> The minimum I believe is something like 7.5 (see what Unity-generated
> games produce on the Mac).
Then, I should bundle Mono as described here...
... or should I use "mkbundle" on a Mac machine, and it will generate a
stand-alone application, just like it does on a Linux system?
I'm also assuming that "macpack" should be called after the bundle.
> Not at all. You will still need to test it, and make sure that your
> application works fine (you might have used Win32 APIs, or you might run
> into bugs in Mono that you have to work around).
Yeah, we plan to remove all "extern" calls to Windows DLLs such user32.dll.
However, I have a question regarding the System.Windows.Forms. Would it run
smoothly on Mac and Linux?
Or should it be better to port for GTK# on Linux and Cocoa# on Mac?
I know it would be much more integrated on Mac OS X using Cocoa#, but I
don't have any idea how much would it change the code that relies on
Either one works. But if you port it to Linux, we would be very
> grateful, and we would go out of our way to help you as you are helping
> us bring more apps to Linux ;-)
We have plans on that also, after a possible Mac port, both using Mono.
First, because if the Mac market starves for quality games, it is my
impression that the Linux market doesn't have much of them at all. Second,
because Linux is adopted on Brazilian schools, and we plan to go for
educational licenses of LexVenture here.
And yes, Mono can get your game over.
A last note: on the Windows version we plan to use a deployment tool like
Xenocode or Salamander .NET Linker, so we can generate stand-alone binaries
with a footprint of about 15 MB.
My tests with "mkbundle" for Windows failed, and one of my programmers says
picking Mono DLLs and distributing them with the game would imply in a much
larger setup file size, of about +40 MB for the whole Mono Framework.
Therefore, I'm not considering Mono for the Windows version right now, but
if any of you have a better idea how to deploy the game with Mono and still
gets a smaller footprint than 15 MB, I'd like to know about! :))
(I know it is not a subject of Mono-OSX list, so you can PM me).
Thanks again! :)
Tiago Tex Pine
tiago at interama.net
texpine at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-osx