views:

759

answers:

12

Hello

I am a "lone wolf" C++ game developer, and games sell more on Mac (because noone make Mac games... bizarre), so I need to make Mac games.

My problem is: I don't own a Mac, and I have no way to get one (unless someone donate one to me...), I don't have money even to upgrade my crappy 3 year old PC, or buy a netbook...

So, how I develop for Mac without a Mac? I guess that if I installed Mac OS on my machine, it would do, or can I just use Open Darwin instead? Or Mac OS run on virtual machines?

EDIT: I already use cross-platform libraries, I am a advocate of that (mostly, Allegro... right now, ClanLib, also used SDL once, etc...). That issue raised because to sell a game, I cannot just distribute the source and tell the user to compile it himself (like I did for my freeware games), I need to compile, and test it, and etc...

+2  A: 

I think your only option it to try and write cross-platform code and hope for the best. Use OpenGL for the graphics, for instance. You will then reduce the problem to building and testing.

wilhelmtell
...and debugging, and optimising, and installing, and...
shambulator
+3  A: 

The latest beta of VirtualBox supports Mac OS X as a guest OS. (Version 1.2.0)

chpwn
I think osx works as guest only if the host is also osx.
Simon Groenewolt
@Simon: You are mistaken it runs on other hosts.. but legally you are only allowed to install it on mac hardware.
Daniel Dimovski
Daniel Dimovski: It says "Apple-branded" hardware. You can use a hot iron to brand in the Apple logo :P.
chpwn
You can't use emulators for testing and expect to deliver a quality product.
Lo'oris
It's not legal. Perhaps that's fine for fun and games, but if you're using it to write software and especially *commercial* software, you shouldn't be going down that road.
Computer Guru
it may be legally wrong, but if you own the OS, it is hardly morally wrong...
chpwn
+19  A: 

You can't have your cake and eat it too.

If you want to make money from the Mac platform, you need to invest money in the Mac platform.

Computer Guru
Not a nice answer, but an honest one.
mikerobi
+1 pure and simple truth: I'm sorry if the OP can't afford it, I sympathize, but there's really no way around.
Lo'oris
Why a person get 6 upvotes to NOT awnsers the question? (well, I asked WITHOUT a mac... not, if I need a mac, or how to get a mac, or whatever like that...)
speeder
Because this is, like it or not, the truth.
Computer Guru
This is sad.It is like getting on a thread asking how to make something using a garbage collector without Java, and someone keep screaming that the best language iwth GC is Java and getting upvoted.Acceptable awnsers are like of the people that mentioned multiplatform libraries, emulators, etc...
speeder
Unless there really and truly is no effective way of doing garbage collection without using Java. Or if it were illegal to do it without Java. Your metaphor is inapplicable here.
Computer Guru
@speeder Like it or not, some questions are best answered with "you can't/shouldn't do that". This is one of them.
ceejayoz
+1  A: 

VMware Fusion can run virtualized Mac OS X, and then only the Server version due to EULA restrictions imposed by Apple. Is possible to find package that allows Mac OS X versions to be run as virtual guests on VMware’s Windows and Linux products. CPUs need to be compatible with the retail version of Mac OS X, mainly Intel Core and Core 2 processor types.

volody
+1  A: 

Check out this page: http://devs.openttd.org/~truebrain/compile-farm/apple-darwin9.txt

George Edison
it says you could have problems compiling external libraries, and a game developer WILL use external libraries. unless they are crazy XD
klez
@klez: It says you *could* have problems.
George Edison
It would be great if OP could explain the reason for accepting this answer :)
TuxGeek
@TiNS: This isn't the accepted answer - that's the one with the green checkmark beside it.
George Edison
@George Edison, OP has changed his acceptance, yesterday it was this answer :)
TuxGeek
@TiNS: What's wrong with this answer?
George Edison
+2  A: 

You certainly can develop for crossplatform deployment using libraries that support multiple platforms, SDL, OpenGl, Ogre3D etc or crossplatform game engines e.g. Torque or Unity. If you stay away from anything that is system dependent or isolate it via appropriate wrappers you will probably be able to move from one platform to the other with minor problems.

But you won't be even be able to test your game if you don't at least have one OS X machine at your hands. I don't believe that a virtual machine will be enough especially if you want to do 3D. Looking at ebay you can get a decent used mac mini for $300-$400.

Harald Scheirich
I already stated that I use crossplatform stuff...And I already stated that I cannot buy a Mac. (the exchange rate here is broken, so a 400 USD machine, to me is like if it costed 800. AND I don't have any money or credit).
speeder
If you want to do it commercially, sell the game for the PC and then use that money to buy a Mac. Even testing only on one system is a big risk, releasing software that has not even seen a live machine is plain unprofessional. How about finding a partner that has a mac and split duties/proceeds with him
Harald Scheirich
+7  A: 

Honestly, I would just bite the bullet and get a Mac Mini. It will make your life 100% easier than trying to do it any other way.

Andy White
Oh, I did not write that I don't have money to buy even a basic PC?Hum... I did...Seriously, I have so much debts that I cannot even take a loan or use credit card to buy a mac.
speeder
Well, in that case, sorry to tell you, but the answer is basically "no," you can't do Mac dev without a Mac.
Andy White
How do you plan to **market** your games? They don't sell themselves...
ceejayoz
@speeder - Sounds like you need a job. Seriously, take a job to pay off your debts and save some money. It really sounds like you're in a bad spot.
kirk.burleson
+2  A: 

To develop software for the Mac, your best option is to get a Mac. The best development tools (XCode and C/C++/Objective-C) run on the Mac. It's the same when you develop software for Windows: the best tools run on a PC running Windows.

OK, that's not true, since a Mac can run Windows.

So, your best bet for developing Mac, Windows, and even Linux software is to have a Mac. Lots of developers do for precisely this reason.

Buying any equipment to support a business is an investment in the future. Pinch pennies or go into debt now with the hope that it will pay off later.

Barry Brown
Oh, I did not write that I don't have money to buy even a basic PC? Hum... I did... Seriously, I have so much debts that I cannot even take a loan or use credit card to buy a mac.
speeder
+2  A: 

I bought a 466MHz G4 for $99 some years ago, and it runs OSX 10.4, which would be sufficient for testing (especially for a game targeting low-end hardware). I'm sure if you look around you can find a bargain.

dash-tom-bang
+4  A: 

Is it possible? Technically yes. That doesn't make it a good idea. Your testing environment will be drastically different. George Edison suggested cross compiling from linux for darwin. This is a bad idea for a couple of reasons.

  • You have no way to actually TEST if your builds work. Just because it compiles doesn't mean it'll run.
  • You have no way to debug the executable should it even run. Last I checked the Darwin OS didn't have any sort of hardware acceleration for video (admittedly this was a couple of years ago).
  • You will have to release different versions of your app (Intel 32bit, PPC 32bit, Intel 64bit) which is heavily frowned upon and brings up a great deal more debugging issues.

The way I see it, you have only four solutions here.

  1. Get a mac. Yes you can't afford it. I get the idea. Sell something if you have too. If you have a dream or a goal, YOU have to make it happen.
  2. Release only Windows and Linux versions initially until you make a couple of grand to get a mac. Apple hardware is expensive but usually even if your game is a failure you'll make at least the couple of grand you need for a decent mac.
  3. Develop for OS X in a virtual machine. Supposedly VirtualBox can run OSX in the latest beta. I have no idea if hardware acceleration for video is available. If it isn't, you're out of luck with this idea. Keep in mind, you'll need a copy of OS X. Disclaimer: It's against the ToS to use OS X on anything but Apple hardware. You'd also need to BUY a copy of OS X as pirating it to make money is both immoral and illegal.
  4. Give the Unity game engine a shot. It can produce binaries for both Windows and OS X on either platform. While you'll be unable to debug the OS X version without a Mac you're much more likely to to have fewer issues taking this route than cross compiling C++ via Darwin.
Brent Taylor
An extension of #2 is to release your code into the world and let some nice person with a Mac compile it for you :)
George Edison
+1  A: 

You know, if you want to make games for Mac, but don't want to buy a Mac, try using the Unity 3D engine. You'll have to use C#, JavaScript, or Boo (Python), but it's a great game engine and it builds executables for Windows, Mac, and the Web. Give it a shot. Best part is it's free for the basic version. http://www.unity3d.com I use it all the time for my game development.

You should still invest in a Mac, though since it's kinda hard to debug Mac only issues w/o one.

Ernesto Rojo Jr
+1  A: 

Install iATKOS V7 for Mac OS X 10.5.x and iATKOS S3 V2 for Snow Leopard Hackintosh on a PC. It's illegal and immoral and a lot of fun after you get it to work. You can do Mac and iPhone development, on the V7 you can even get the Nvidia video driver to work so you can use OpenGL and work on your game. Best of luck! Make your money, then buy a Mac; everyone deserves a chance, not only the ones who can afford it.

luvieere
Oooh...I will take a look :)
speeder