PDA

View Full Version : Looking for Game Development Tools for Mac




gumbyx84
Mar 6, 2009, 09:56 AM
Hey all. I have gotten myself into a slight problem and I'm hoping you guys can help me out. I am trying to become a budding game programmer and have recently gotten serious about trying to development a game for my portfolio. After moving to Macs from Linux and Windows last year, I have become very comfortable working in OS X. I like XCode and would prefer to use it for any and all coding I do. My problem is that I can't seem to find many game development tools that work in OS X. They all seem to be Windows only. I have only found two "tools" that are Mac compatible: Unity (http://unity3d.com/unity/) and Torque (http://www.garagegames.com/products/torque-2D). Sadly these cost a fair amount of money and, as this is a pet project, I am not ready to sink $200+ into a piece of software I may not us often.

Basically, does anyone here know of a game development "toolkit" or engine that is compatible with XCode and OSX? I have experience with Microsoft's XNA Toolkit, but would rather not have to force my development to Windows if I don't have to. Cheap (or free) would be nice, but I'll take any recommendations you guys can give me.

Thanks ahead of time for any information you guys can give me.



Cromulent
Mar 6, 2009, 11:10 AM
Ogre 3D (http://www.ogre3d.org/) is a cross platform 3D game engine that works on Mac OS X / Windows and Linux. Open source too :).

gumbyx84
Mar 6, 2009, 11:56 AM
Thanks for the link. Will def look into it.

I should have mentioned that I was looking for 2D stuff though.

BravoBug
Mar 6, 2009, 12:15 PM
My problem is that I can't seem to find many game development tools that work in OS X.

Be sure to do some quick searches at the iDevGames (http://idevgames.com) forums, this question comes up quite often.

autorelease
Mar 6, 2009, 01:06 PM
My answer to this question is always OpenGL and SDL. Writing a game engine from scratch is a much more educational experience than using third-party game libraries.

SDL has a very straightforward API for playing sounds, loading images, and handling keyboard/mouse/joystick input. Its drawing support is fairly limited but it can be used with OpenGL quite effectively to make 2D games. I don't know for sure but I wouldn't be surprised if the learning curve for doing the same things in Cocoa is much steeper.

Plus, if you write in C or C++, pretty much the exact same code will compile and run on Windows, Linux, and Mac OS.

gumbyx84
Mar 6, 2009, 02:22 PM
My answer to this question is always OpenGL and SDL. Writing a game engine from scratch is a much more educational experience than using third-party game libraries.

SDL has a very straightforward API for playing sounds, loading images, and handling keyboard/mouse/joystick input. Its drawing support is fairly limited but it can be used with OpenGL quite effectively to make 2D games. I don't know for sure but I wouldn't be surprised if the learning curve for doing the same things in Cocoa is much steeper.

Plus, if you write in C or C++, pretty much the exact same code will compile and run on Windows, Linux, and Mac OS.

While I do agree with you writing an engine from scratch might be better then using a 3rd party engine, it takes time. I don't have a lot of time to code all that stuff from scratch, nor to learn it. 3rd party engines allow rapid development, which would help out a lot. ATM I want the experience of making a game more then coding it all from scratch.

VPrime
Mar 6, 2009, 04:05 PM
The unity 3D indie version does not cost a lot of money.. 199 USD is not bad for an engine, plus full developing suite!
On windows there are many more cheaper solutions, like A7(3DGame studio) They offer a 99 dollar suite that comes with a levil editor, model editor code editor etc. The code is similar to C(they call it Lite C). They also offer a free version of the engine with out any level editor. Just the engine and the language.

I have used both, and the workflow in unity is pretty nice compared to it, and most others!


As for writing your engine, this is not usually the best solution. Not the fastest or the most efficient. Especially when you dont know what you are doing. Using a 3rd party engine allows you to focus o your game logic rather than dealing with the nitty gritty engine workings.

autorelease
Mar 6, 2009, 07:19 PM
If you wanted to make a 3D game, then I would agree with using an engine like Ogre. Building your own 3D engine is a daunting task and shouldn't be attempted by someone who isn't crazy.

If you're making a 2D game, there isn't much a 2D "game engine" will do for you that you couldn't do yourself. Draw a background, draw sprites, read keypresses, handle collisions and movement. There are libraries that can simplify things like sprite management, loading tile sets, etc., but you might find yourself struggling to shoehorn your idea into someone else's code.

Maybe I'm just disappointed that all the kids now just want to "focus on the game logic" without all the hacking. As much as I want to get into a "back in my day..." rant, I'll just say that if you want to learn how to make games, and third party code will help you, go right ahead and use it. Eventually you'll either a) find yourself restricted by the engine and modify it or make your own, or b) find a friend who likes programming more and get him/her to do the dirty work while you just lay out the concepts :-p

dhcmrlchtdj
Mar 6, 2009, 11:01 PM
I'm not sure exactly what kind of toolkit you're looking for, but if you're at all familiar with Java, check out jMonkeyEngine.com.

gumbyx84
Mar 7, 2009, 12:57 AM
.......
Maybe I'm just disappointed that all the kids now just want to "focus on the game logic" without all the hacking. As much as I want to get into a "back in my day..." rant, .....

I have tried making games "the old way" and its not easy at all. Heck, its one of the reason I stopped trying to make games in my spare time; I just didn't have enough time and experience to do t. I would rather spend the time it would take to "perfect" my own code working on the actual gameplay elements. 2D or 3D, many "real" game companies use game engines to make life simpler. Yes, some of them are coded inernally, but after that they are used over and over to simplify the development provess. Game engines are made for a reason and I for one am not going to take two steps back if I don't have to.

Winni
Mar 7, 2009, 05:14 AM
Try BlitzMax: www.blitzmax.com

gumbyx84
Mar 9, 2009, 10:00 AM
Does anyone else have anything they can recommend for 2D? Preferably for a Platformer?

lazydog
Mar 9, 2009, 10:17 AM
I've not tried it but http://love2d.org/ might be worth looking at if you haven't already.

b e n