views:

2392

answers:

4

I'd like to give Objective-C a try in game programming. The problem is I'd need some tools and libraries for this.

First thing that comes into mind I need is the GUI and graphics library.

What choices do I have?

+2  A: 

I believe you're asking for GNUStep.

Jim Puls
Seems cool. Does it support opengl somehow too?
Cheery
GNUStep includes NSOpenGLView for incorporating OpenGL into the view hierarchy, but the actual graphics programming would just be done in straight OpenGL.
Chuck
+3  A: 

SDL is a C library which is popular for game programming.

If you're looking for Foundation/AppKit stuff you can also look at Cocotron. I've never tried it though.

robottobor
+5  A: 

There are Four non Mac implementations of OpenStep/Cocoa type Objective C platforms:

  1. OpenStep/NextStep : Openstep/NeXT support machines only - Discontinued.
  2. p..... can remember name or find it on web - it's out there somewhere ! - Linux
  3. Cocotron - Windows only
  4. GNUStep Linux/Windows

GNUSTep is the way to go for Linux... I mention there others because 2 and 3 are available in source and they can be used to patch holes in code the GNUStep doesn't have and they might.

When it comes to Graphics library - you may have problems because Apple moved away from the old OpenStep APIs and has kept evolving their APIs far faster than the GNUStep people can play catch up. There is no support for the latest graphics libraries such as Core Animation.

As Objective C is C and C++ friendly you can use any of these libraries as is, or by making the Objective C friendly by making a wrapper.

You may or may not want to be Mac compatible and do versions for that so it may not be important.

If you do you might want to do a Linux Wrapper for something like OpenGL if it is missing, which I think it is but have a check yourself....

There are Linux development tools including a project IDE and GUI builder for GNUStep on Linux.

Tony

Tony Lambert
+1  A: 

Supporting SDL there are Objective-C bindings here. However since Objective-C is a thin OO layer on top of C you can use most of the existing C libs for game development, SDL, Clanlib, etc...

Paulo Lopes