Advertise Mobile SDKs Books Events Forum News Social Networking Support Us
Follow @iphonedevsdk on Twitter

Interface 2, Advanced iOS
Mockup & Code Gen
($9.99)

Make your own iPhone apps
and run them live!
(free)

Pic Frame Dynamo: Photo Editing
($0.99)

Abiliator
($1.99)

Want your application or service advertised on iPhone Dev SDK?

Go Back   iPhone Dev SDK Forum > Mac OS X Development Forums > Mac OS X Development

Reply
 
LinkBack Thread Tools Display Modes
Old 11-19-2011, 02:48 PM   #1 (permalink)
Registered Member
 
chrishannah's Avatar
 
Join Date: May 2011
Posts: 102
chrishannah is on a distinguished road
Default New to Mac Dev

I've been developing iOS apps, but I think I may want to get into game development for Mac/PC in the future. I'm just wondering what language to learn, because although I could build for Macs in objective-c I don't think this would be good for a game. I've seen Java be pretty popular for cross-compatible games. But there may be other languages that are easier to get into or just work better.

So if anyone can help, it would be great.
__________________
chrishannah is offline   Reply With Quote
Old 11-23-2011, 10:06 AM   #2 (permalink)
Registered Member
 
Join Date: Jan 2009
Posts: 261
vbovio is on a distinguished road
Default

C and C++ have been the preferred choice from game devs, and probably the language where you can target more platforms (iOS, Android, Mac, Windows, Linux), sure you can use other easier and nicer languages like Java, C# or ObjectiveC, but you will end with totally different codes for each version, and that will just be much more work for each of your games.

I use C++ for my games, right now I only have iOS and Mac available (ObjC use is minimal) but I'm sure I can have them ready in the other platforms without too much effort, it's just a matter of port one, then the others should come quick. The Key here is using the same language (C++), same graphics API (OpenGL), and separate the engine from the actual game code.
Then porting should consist of:
- Program setup (init app, create window, etc, probably in other language).
- Audio, either platform native API or use a 3rd party library.
- Inputs (touches, mouse, keyboard, gamepads)
- File handling (platform native API)
- Graphics performance/optimizations dependent of platform/devices.

Hope it helps.
__________________
BovioSoft Games
vbovio is offline   Reply With Quote
Old 11-29-2011, 04:01 PM   #3 (permalink)
Cocoa Junkie
 
Duncan C's Avatar
 
Join Date: Dec 2008
Location: Northern Virginia
Posts: 6,005
Duncan C has a spectacular aura about
Default

Quote:
Originally Posted by chrishannah View Post
I've been developing iOS apps, but I think I may want to get into game development for Mac/PC in the future. I'm just wondering what language to learn, because although I could build for Macs in objective-c I don't think this would be good for a game. I've seen Java be pretty popular for cross-compatible games. But there may be other languages that are easier to get into or just work better.

So if anyone can help, it would be great.
iOS and Mac OS share a huge amount of common design and code. I'd say about 60 percent of the application frameworks are identical between the two, and Objective C is the native language for development in both.

If you're interacting with the Cocoa frameworks, you will almost have to use Objective C.

It is possible to mix Objective C and C++ in Mac/iOS programs. However, all the native tools are written in Objective C, so you will spend a lot of time and energy writing an abstraction/interface layer that lets your C++ code talk to the Objective C based system frameworks. In fact, it would probably make sense to write all the code that deals with system frameworks in Objective C, and write cross-platform game logic in C++.

I would stay away from Java. The Java runtime is limited and clunky, and apps written in Java are locked into a clunky, Java look. It works, but do you want to limit yourself?

Another option is to write an immersive game in OpenGL and just ignore the native user interface framework like Cocoa or the Windows toolkit. OpenGL is a 3D rendering API that is supported on both platforms. Windows isn't great about supporting it, since Windows uses a proprietary graphics API called DirectX which isn't used anywhere but on Windows. (Microsoft seems to take pleasure in thumbing their noses at standards, and go to great lengths to subvert those standards.) By contrast, OpenGL is supported on Mac, Windows, Unix and Unix work-alike platforms like LINUX, a wide variety of mobile devices, and even some of the game consoles. However, OpenGL is a complex, rather balky API and it has a steep learning curve.
__________________
Regards,

Duncan C
WareTo

Check out our apps in the Apple App store


Check out this password generator app that shows various techniques including using a data container singleton object to share data between objects in your project.

See this tutorial on using UIView animations and layer animations:

See this thread on generating random, non-repeating text

Check out a very cool Macintosh Kaleidoscopes app called ScopeWorks that we released to the Mac App store.
Duncan C is offline   Reply With Quote
Old 01-20-2012, 06:40 AM   #4 (permalink)
Registered Member
 
padsoftware's Avatar
 
Join Date: Nov 2011
Location: Somewhere over the rainbow
Posts: 101
padsoftware is on a distinguished road
Default

Quote:
Originally Posted by chrishannah View Post
I've been developing iOS apps, but I think I may want to get into game development for Mac/PC in the future. I'm just wondering what language to learn, because although I could build for Macs in objective-c I don't think this would be good for a game. I've seen Java be pretty popular for cross-compatible games. But there may be other languages that are easier to get into or just work better.

So if anyone can help, it would be great.
Just don't use Java. That would be just dumb, and you couldn't sell it on the Mac App Store. I would recommend learning C, then Objective-C/Cocoa.

If you want things to be easy for you, you can try GameSalad, but don't expect to earn a lot of money unless you create a game with great graphics and many levels.

Or just face it: there are way to many games on the App Stores, so just try something else.
padsoftware is online now   Reply With Quote
Old 01-27-2012, 11:18 AM   #5 (permalink)
Registered Member
 
Join Date: Dec 2011
Posts: 112
RoryHarvey is on a distinguished road
Default

Quote:
Originally Posted by Duncan C View Post
s to subvert those standards.) By contrast, OpenGL is supported on Mac, Windows, Unix and Unix work-alike platforms like LINUX, a wide variety of mobile devices, and even some of the game consoles.
Say you wrote a mac game in Objective-C/OpenGL - how much effort would be involved in porting it to OpenGL ES for iPhone? Is it as simple as changing a few calls or would it likely involve extensive re-engineering?
RoryHarvey is offline   Reply With Quote
Old 01-27-2012, 12:55 PM   #6 (permalink)
Registered Member
 
Join Date: Jan 2009
Posts: 261
vbovio is on a distinguished road
Default

Quote:
how much effort would be involved in porting it to OpenGL ES for iPhone? Is it as simple as changing a few calls or would it likely involve extensive re-engineering?
OpenGL ES is a subset of OpenGL, it does not have several of the functions available in standard OpenGL, so it depends on what you used on your existing game.
The most noticeable functions removed on ES is immediate mode API calls: glBegin, glEnd, etc. so you need to use vertex arrays or FBOs.
iOS has OpenGL ES version 1.1 and 2.0, ES 1.1 is similar as 1.5 standard minus removed functions, I would recommend you to get the specification of them from OpenGL.org and see what functions it actually has removed from the standard versions.
__________________
BovioSoft Games
vbovio is offline   Reply With Quote
Old 01-28-2012, 09:56 PM   #7 (permalink)
Cocoa Junkie
 
Duncan C's Avatar
 
Join Date: Dec 2008
Location: Northern Virginia
Posts: 6,005
Duncan C has a spectacular aura about
Default

Quote:
Originally Posted by RoryHarvey View Post
Say you wrote a mac game in Objective-C/OpenGL - how much effort would be involved in porting it to OpenGL ES for iPhone? Is it as simple as changing a few calls or would it likely involve extensive re-engineering?
You can write OpenGL code that works on both Mac and iOS platforms. However, you would need to factor it carefully.

If you just wrote OpenGL for Mac without a deep understanding of the limitations of OpenGL ES, you'd be in for a complete rewrite.

Writing for iOS and then moving to Mac would be easier, since OpenGL ES is a smaller API than desktop OpenGL.

One thing you have to decide is whether to use OpenGL ES 1.1 or 2.0. Version 2.0 removes all the "fixed graphics pipeline" code from the API. You have to do a lot more work yourself using shaders, or use code libraries that provide equivalent functions. OpenGL ES 2.0 offers better performance and more control, but at the cost of being harder to use.
__________________
Regards,

Duncan C
WareTo

Check out our apps in the Apple App store


Check out this password generator app that shows various techniques including using a data container singleton object to share data between objects in your project.

See this tutorial on using UIView animations and layer animations:

See this thread on generating random, non-repeating text

Check out a very cool Macintosh Kaleidoscopes app called ScopeWorks that we released to the Mac App store.
Duncan C is offline   Reply With Quote
Old 03-28-2012, 12:35 AM   #8 (permalink)
Registered Member
 
michal26's Avatar
 
Join Date: Mar 2012
Posts: 10
michal26 is on a distinguished road
Default

Language you must consider are C ,C++ and Java/C#. They are the language that will help you build our own apps.
__________________
PayPal
michal26 is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



» Advertisements
» Online Users: 374
10 members and 364 guests
Creativ, Emy, eski, husthlj, illogical, LegionMD, LunarMoon, padsoftware, stanny, VinceYuan
Most users ever online was 1,387, 04-10-2012 at 04:21 AM.
» Stats
Members: 175,677
Threads: 94,127
Posts: 402,916
Top Poster: BrianSlick (7,990)
Welcome to our newest member, husthlj
Powered by vBadvanced CMPS v3.1.0

All times are GMT -5. The time now is 07:17 AM.
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0