Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

Developing Games on Mac OS X Using Third-Party Game Engines

Have you ever considering creating your own game? It's not as hard as you might think, thanks to some powerful and easy-to-learn game engines that run on Mac OS X. And with the explosion of casual and online gaming, you have new and broader access and distribution options so it's easier than ever to get your game into the hands of your customers, even if you aren't a professional developer.

In this article, you'll learn about four powerful but easy-to-use game engines that will handle the heavy lifting for you, freeing you to concentrate on the fun parts of game development. You don't need a large budget, big teams, or awe-inspiring artistic and programming skills. All you need is a Mac running Mac OS X, a game engine, and a willingness to jump in and try out some ideas to see if they can gel into a fun and exciting game. With these tools, you're closer than you think.

Apple provides a strong foundation for building games: Mac OS X includes the advanced graphics capabilities of Quartz and OpenGL, and the new Intel-based Macs offer tremendous performance. And there are millions of loyal Mac users who make potential game players. The game engines provide you with a big head start and the tools you need to bring your game to life. All of the engines have demo versions available, so take a look at the descriptions below, download an engine, and create your own ideal game.

In this article, we'll focus on four commercial game engines: Torque Game Engine (TGE) and Torque Game Builder (TGB) from GarageGames, Unity from Over the Edge, and PTK from Phelios. We'll look at each engine from several different angles and, at the end of the article, we'll show the features of the four engines in a chart to help you compare the engines head-to-head. All come at nominal costs; some provide low indie pricing, and some have tiered pricing depending on the kind of development you are doing. See the website for each engine for their latest pricing information.

Torque Game Engine

The Torque Game Engine (TGE) is a true cross-platform, commercial-quality game engine in the same category as the Source and Unreal engines—but with a very reasonable price tag. In fact, as the original technology behind Dynamix/Sierra's Tribes, Starsiege and Tribes 2, TGE is industry-proven and is now an integral part of some of today's hottest indie hits, such as Marble Blast, Orbz and ThinkTanks. It is a future-proofed development platform that will support you well into the technology of tomorrow.

Currently on version 1.4, TGE supports both development and deployment on Mac OS X, Windows, and Linux with XBox 360 available under a separate license. TGE comes with industrial-strength networking built in (TorqueNet) and provides its own powerful, C-like scripting language called Torque Script that you can use to adjust the behavior of your game. If that doesn't give you enough control, however, TGE comes with complete C++ source code to the entire engine so developers can dive in and change the inner workings of the underlying engine itself.

TGE ships with several powerful editors, including world, GUI, and terrain editors, and also includes exporters for popular 3D modeling tools so that you can import your artistic creations straight into the game engine. For those that aren't so artistically inclined, TGE comes with a selection of pre-made models by expert artists to help you get up and running. In addition, if you're making a first-person shooter or racing game, you're in luck. TGE ships with starter kits for both popular genres and you can purchase a separate RTS starter kit if that's more your speed.

Once you start using TGE, you're going to want to talk to other developers, ask questions, and share solutions. The TGE website has extensive message boards full of over sixty thousand active developers trading ideas, sample code, and tutorials.

If you qualify as an indie developer (read their licensing terms available on their website to make sure), you can purchase a Torque license at a minimal cost. See the GarageGames website for details on the Torque Game Engine.

Figures 1-3: The Torque Game Builder Editor


Figures 4-5: Sample Torque In-game Screen Shots


Torque Game Builder

If you've got a great idea for a 2D game but don't want the hassle of coercing a 3D engine into behaving like a 2D engine, Torque Game Builder is an excellent choice. The developers at GarageGames have already done the hard work of taking their 3D Torque engine and simplifying it into a 2D game engine. You just have to supply the 2D content and behavior that makes your game unique.

Built upon the power of GarageGames' Torque Game Engine, Torque Game Builder (TGB) takes advantage of powerful new hardware and software development techniques to allow massive numbers of sprites, parallax scrolling backgrounds, intermixed 3D objects, TorqueNET Lite networking, swept polygon rigid body physics, and ultra-fast collision detection.

Torque Game Builder, currently available as an early-adopter version, is focused on 2D game development: side scrollers, board games, platformers, and top-down tile-based games. Because of their shared heritage, the Torque Game Engine and Torque Game Builder have many features in common, including development and deployment on multiple platforms, scripting with Torque Script, a vibrant online community, and a modest indie price tag (source code available for an extra fee). See the GarageGames website for details on Torque 2D Game Builder.

Figures 6-8: The Torque Game Builder Editor


Figures 9-10: Sample Torque In-game Screen Shots


Unity

The Unity game engine (version 1.5 is in Beta as of June 2006) is built around an integrated, extensible editor that handles almost every aspect of your game development. The editor can seamlessly import 3D models and art assets from many major modeling and drawing packages with live updating so you can bring in almost any content you can find or create. The engine itself supports advanced shader technology with full-screen effects and has built-in physics and networking. In addition, the Unity package includes several examples complete with scripts, textures, models, and material settings that you can use royalty-free.

Unity has been used to produce the critically acclaimed game GooBall, and is currently being used for large and small game titles. Unity is also used for architectural visualization and as a more powerful replacement for Director 3D.

While the Torque products offer cross-platform tools, Unity intentionally focuses solely on Mac OS X development. Unity supports both stand-alone application and Dashboard Widget deployment, and you can use the free browser plugin to enable web deployment or upgrade to Unity Pro in order to ship a version on Windows. Unity is based on the philosophy that all the complexities should be handled by the development tool and so Unity doesn't come with source code (available under a separate license). Instead Unity offers extensive scripting support via JavaScript, C#, and Boo (like Python) and the scripts compile down to fast native code.

Unity is based on the philosophy that all the complexities should be done away with by the development tool. Therefore Unity doesn't come with source code, but instead offers extensive and well documented scripting support via JavaScript, C#, and Boo.

Unity has an extensive, active developer community that meets in the Unity online forums. There is also a large documentation, how-to, and scripting library on the Unity website.

There is an Indie version of Unity, while the Pro version adds more graphical effects, Windows deployment, and C/C++ plugin support among other features. See the OverTheEdge website for more details.


Figures 11-13: The Unity Game Engine Editor



Figures 14-16: Sample Unity In-game Screen Shots


PTK

PTK takes a slightly different approach to game development than the other three engines. Rather than providing integrated editors, PTK simply gives you the source code to a game engine framework and you wrap your game around it. PTK handles the complexities of multi-platform development while you write the code that makes your game enjoyable and unique. Develop your PTK game on Mac OS X, Windows, or Linux and deploy on any or all of them. Although PTK doesn't support any scripting languages, you get the C/C++ source code to the entire engine so you can make any changes you require. If you don't want to deal with the engine source code, just link your code with the included, pre-built library. In addition, the PTK API is designed for ease of use by developers of all skill levels.

PTK is designed around 2D games but also includes hardware-accelerated 3D capabilities and is a great way to port existing C/C++ games to Mac OS X.

PTK doesn't include any art assets, but it supports all major image formats so you can use your existing images without modification. PTK's website has a free, full-featured demo you can download, class documentation with usage examples, and the source to a breakout example you can use as a starting point.

Recent commercial games developed using PTK include Atlantis, Universal Boxing Manager, and DoulberGold.

The PTK engine is free for freeware games and very reasonable for multiple shareware and commercial titles. See the PTK website for details on the PTK Game Engine.

Figures 17-22: Sample Unity In-game Screen Shots


Summary Table

The chart below summarizes the features of each tool, to make it easy for you to compare the features of each game engine with the others.

Feature Torque Game Engine Torque Game Builder Unity PTK
Development Language C++ C++ C++ (Engine source available under a separate license) C++
Scripting Languages Torque Script Torque Script JavaScript, C#, Boo, extended with C++ (Unity Pro) None
Universal Binary Tools Yes Yes Yes Not applicable
Universal Binary Products Yes Yes Yes Yes
Development Platforms Mac OS X, Windows, Linux Mac OS X, Windows, Linux Mac OS X only Mac OS X, Windows, Linux
Deployment Platforms Mac OS X, Windows, Linux Mac OS X, Windows, Linux Mac OS X app, Dashboard Widget, Windows (Unity Pro) app, web Mac OS X, Windows, Linux
Included Materials Editors, professional assets, and starter kits Editors, professional assets, and starter kits One integrated editor, documentation, tutorials, first-person shooter assets Just the source code to the engine
Community Support Extensive documentation, active message boards, prolific sample code and tutorials Extensive documentation, active message boards, prolific sample code and tutorials Extensive documentation, active message boards, prolific sample code and tutorials Class documentation with usage examples, one sample game

So now you have what you need to give game creation a try. There's a great idea floating around in your head, it's time to turn it into a real game and show the world what you can do.

For More Information

Posted: 2006-06-05