Switching To Mac - Printable Version
+- iDevGames Forums (http://www.idevgames.com/forums)
+-- Forum: Community Zone (/forum-4.html)
+--- Forum: Assembly Room (/forum-13.html)
+--- Thread: Switching To Mac (/thread-991.html)
Switching To Mac - Nobody - Jul 18, 2009 08:35 AM
Alright, here goes nothing.
I'm new to the Mac scene. For the longest time (forever up until like, three days ago), I wouldn't touch an Apple product - just because it was Apple. I didn't really have a reason - I just refused to like it. Three days ago, however, I was looking up the latest news on Torque 3D (I'm a big GarageGames fan), and I was looking into its features, and I decided that my project (a role-playing game currently in hush-hush concept/design-phase) would do well to be cross-platform. Apple, I have to admit, even from a gamer's standpoint, is starting to take steps in the right direction, and is drawing in more developers within the past few years. Ran the idea through the skeleton of a team I have, and they're good with it.
So, after this decision, I realized that none of us have a Mac. Being that I'm deployed to Afghanistan right now, and I'm being paid tax-free (and all that extra combat pay), I could afford to buy a Mac when I return to the States later this year. And so I started looking through all of the fancy Apple stuff and noticed, aside from the fact that it still costs an arm and a leg, it really is better than I'd given it credit for.
Now, onto the subject of this topic.
I've been programming games as a hobby since I was twelve years old - that's eight and a half years, now. I'm used to Windows - it's what I've been on for those eight years as a programmer. I've programmed in a good number of languages, but the ones I still use regularly are C++ and C# (.NET was a good idea on the part of Microsoft) - with my libraries ranging from Irrlicht to DirectX and XNA. Point is, I'm not new to programming, and I pick things up fast.
Can anybody give me any suggestions and start pointing me in the right direction towards what a good Mac system would be, in terms of gaming? I'm already planning on it being a Mac Pro with two Quad-core processors (just the thought of that is enough to make me giddy), but I'm not all that sure about all the pieces of the puzzle with regards to what is what in the Apple world, so I'd appreciate any advice/suggestions. Especially with regards to things to look into for my transition from Windows game programming to Apple game programming - though I prefer to keep things cross-platform. Oh, and I'm going to be going with OS X Snow Leopard, since it (should) be out by the time I get back to the States.
Switching To Mac - AnotherJake - Jul 18, 2009 11:43 AM
Looks like you have things pretty well covered. That Mac you're looking at is a very powerful machine from what I've heard. In fact, I happen to know that there is one installed at one of the companies that happens to make some of your armor, and they say that out of all the PC's they have, that one runs Windows faster than any of them (Thanks for serving BTW)
Heh... Interestingly, I've been a long-time Mac developer and have dabbled with XNA, but haven't done much Windows development beyond that, and now I'm looking into learning more about Windows development because I too think cross-platform between Mac and Windows makes a good deal of sense.
Anyway, when you get your Mac you can head over to developer.apple.com and sign up for the free developer account and download the developer tools, which are free. You can sign up there now and start reading through some of their introductory documentation if you're curious, and maybe some videos if you want. You can build on the Mac using the UNIX shell in a program called Terminal, and even piece together your own development tools that way, but most of us wind up using Apple's graphical front-end, called Xcode. Xcode is the Mac equivalent (if you can call it that) to Visual Studio. It is frustrating and irritating to use at times -- much like Visual Studio Actually, it's not really as good as Visual Studio IMHO, but it'll get you by. Development on the Mac is quite a bit different than development in Windows, so there's no doubt you'll find it frustrating at first while trying to get your bearing.
Since you'll be developing with Torque there won't be any need to deal with the OS API's, but just as a quick intro, in case you're curious: There are two main OS APIs -- Carbon and Cocoa. Carbon is like the old Win32 stuff and Cocoa is sort of like .NET in that it's Apple's modern API and uses a special language (like .NET is MS's modern API and uses a special language). One thing I often see Windows developers do when they hit the Mac is head straight to Carbon, since it seems more familiar, but it's not the best API to be developing new apps with. Cocoa is the best one, but it uses a language called Objective-C, which looks really funky, but is actually one of the best languages I've ever used. C# is a very close second in my book, but only because it runs through a virtual machine, otherwise I'd easily consider it the best. Objective-C runs directly on the processor, so it has the performance advantage there. Besides the two OS API's, the accelerated graphics API is OpenGL, which you are no doubt already familiar with, since that's what Torque uses on the Mac. Beyond that, the languages you can develop with on the Mac are many (C, C++, Objective-C, Python, etc, etc), but one that you unfortunately won't see on the Mac much is C#. Unity3D, another cross-platform gaming engine, has support for C#, last I recall. There is also Mono available on the Mac.
Switching To Mac - Nobody - Jul 18, 2009 12:07 PM
Actually, I've already signed up on the Apple Developer site; not that I can do anything about it but read. With our internet service out here, the videos are out of the question; but that's fine, since I'm a better textbook-style learner anyways.
As far as development goes, I'm already used to UNIX systems; I've done development for various Linux distributions, as well as web services with FreeBSD. I already expected XCode to take a good bit of getting used to. I've been using Visual Studio since I started developing games with Visual Studio 6. I didn't play too much with the WinAPI, beyond what was needed to get my windows up to screw around with Direct3D. I've played around a little with Objective-C; it's not too bad, but it will take a bit of getting used to.
Thanks for the welcome, and for the tips
Switching To Mac - AnotherJake - Jul 18, 2009 12:21 PM
Your UNIX experience is going to help out tremendously with development on the Mac. Very good that you already have that under the belt.
You won't have to touch Objective-C unless you want to play with Cocoa (which I recommend, but like I mentioned earlier, if you're just doing Torque then it's a non-issue). If you do plan on playing with Cocoa, you could look at GNUstep on Windows to get a running start I suppose. I'm guessing you may have already done that if you've messed with Objective-C.
Switching To Mac - EvolPenguin - Jul 18, 2009 09:14 PM
Most importantly of all, welcome! Apple stuff quickly becomes an addiction , so when you get that shiny mac pro, you know what you're getting into . I don't have too much to share that other people haven't already/will share better, but just welcoming you to the Mac, and these forums.