Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411656 Posts in 69395 Topics- by 58451 Members - Latest Member: Monkey Nuts

May 15, 2024, 03:08:33 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Game Creation App for Mac
Pages: [1]
Print
Author Topic: Game Creation App for Mac  (Read 2072 times)
AusGat
Guest
« on: May 26, 2010, 09:36:27 PM »

I haven't been posting here as often as I had originally intended, and I probably never will. I guess it's because these forums are just too big for me, but I still like it here for some reason.

Anyway, on to what this post is really about! I'm looking to develop an application for Mac that is similar to Game Maker, but smaller and simpler. Basically, it's going to be an IDE of sorts that manages projects, objects, resources, and levels visually and allows most of the game to be scripted with Lua.

I'm not entirely sure of how I would do this, but I would assume that I should develop a game engine first and build the IDE on top of it. My main problems are figuring out whether I should build the game engine in Objective-C (the language the IDE would be written in) or Lua, and I don't know how I would connect the engine to the IDE and "hide" the more complex parts from the user.

I won't be starting on this project quite yet, because I'm busy with other projects at the moment, but any help or suggestions would be greatly appreciated.

P.S. It was late at the time of writing this post, so please forgive me for any mistakes in this post or if, for example, there was already a post similar to this… Maybe I didn't really have to say that. Hmm…
Logged
MrGando
Level 0
***



View Profile WWW
« Reply #1 on: May 26, 2010, 09:58:13 PM »

Hello!, I would advice you against coding a real game engine in Objective-C , it can be done , but greatly reduces portability an has some impact on performance.

I would make the GUI in Obj-C/Cocoa , Engine Obj-C++ , and scripting in Lua :-) , that should work better IMHO.

About connect the engine to the IDE, you will have to go 100% data driven, so the user creates data with the IDE that get's loaded by your engine later and transformed in Game Entities, etc.



Logged

Lead Programmer
Gando Games
Twitter
Average Software
Level 10
*****

Fleeing all W'rkncacnter


View Profile WWW
« Reply #2 on: May 27, 2010, 04:39:02 AM »

Hello!, I would advice you against coding a real game engine in Objective-C , it can be done , but greatly reduces portability an has some impact on performance.

There nothing non-portable whatsoever about Objective-C.  GCC includes an Objective-C compiler, and you can get that for damn near everything.  The Apple sponsored Clang compiler suite also supports it, and that's cross platform as well.
Logged



What would John Carmack do?
oahda
Level 10
*****



View Profile
« Reply #3 on: May 27, 2010, 04:43:26 AM »

Make a GUI in Visual Basic, so that you can track the killer's IP.
Logged

slembcke
Level 3
***



View Profile WWW
« Reply #4 on: May 27, 2010, 05:35:14 AM »

As to the OP, if you don't plan on porting to anything other than the Mac, Objective-C is fine and will probably make your life easier. While GCC and Clang do have a cross platform Objective-C compiler, there isn't a cross platform standard library of sorts that you can use. As for "performance issues", I saw lua mentioned in the next sentence :p. Objective-C is as fast as C except for the dynamic method calls, avoid them in tight loops like the renderer and you'll be just fine.

There are plenty of decent scripting choices on OS X, and some are even built in. I think my first choice would be MacRuby for scripting as you wouldn't need to make any bindings. MacRuby is built on top of Objective-C so you just need to make Objective-C classes and they will just work in both the engine and scripted code. The reverse is true as well I think, Ruby created classes can be used by Objective-C code. There are plenty of (free) Ruby IDEs, so you could just build around one of those and save yourself some work. That's my 2 cents anyway.
« Last Edit: May 27, 2010, 05:45:18 AM by slembcke » Logged

Scott - Howling Moon Software Chipmunk Physics Library - A fast and lightweight 2D physics engine.
Average Software
Level 10
*****

Fleeing all W'rkncacnter


View Profile WWW
« Reply #5 on: May 27, 2010, 05:48:17 AM »

As to the OP, if you don't plan on porting to anything other than the Mac, Objective-C is fine and will probably make your life easier. While GCC and Clang do have a cross platform Objective-C compiler, there isn't a cross platform standard library of sorts that you can use.

Yes there is.
Logged



What would John Carmack do?
muku
Level 10
*****


View Profile
« Reply #6 on: May 27, 2010, 06:07:47 AM »

As for "performance issues", I saw lua mentioned in the next sentence :p.

Have you seen LuaJIT? It's pretty damn impressive.

As for the topic, I'd really like an open-source, cross-platform, heavily scriptable 2D engine with a good editor. Gamemaker is too closed, has a technically near-obsolete implementation and is not cross-platform. Construct is not cross-platform and de-emphasizes scripting. LOVE is a nice start, but is too low-level for many things (no editor, no entity system etc) [maybe build your system on top of that??]. So I think my point is if you can meet these requirements, you'd have a genuine niche.
Logged
MrGando
Level 0
***



View Profile WWW
« Reply #7 on: May 27, 2010, 09:29:28 AM »

As to the OP, if you don't plan on porting to anything other than the Mac, Objective-C is fine and will probably make your life easier. While GCC and Clang do have a cross platform Objective-C compiler, there isn't a cross platform standard library of sorts that you can use. As for "performance issues", I saw lua mentioned in the next sentence :p. Objective-C is as fast as C except for the dynamic method calls, avoid them in tight loops like the renderer and you'll be just fine.

There are plenty of decent scripting choices on OS X, and some are even built in. I think my first choice would be MacRuby for scripting as you wouldn't need to make any bindings. MacRuby is built on top of Objective-C so you just need to make Objective-C classes and they will just work in both the engine and scripted code. The reverse is true as well I think, Ruby created classes can be used by Objective-C code. There are plenty of (free) Ruby IDEs, so you could just build around one of those and save yourself some work. That's my 2 cents anyway.

Nice point on the ruby idea. I also like Lua, and as mentioned LuaJIT is quite impressive in terms of performance.

About C and Obj-C, according yo my benchmarks, over-using the Objective-C runtime is a common cause of slow-downs. That's why it's very common to see a mix between Obj-C and inline C functions between those using Obj-C to program games.

Typical objc call graph looks like this :



Obj-C is a super set of C, so everything get's translated into C and then compiled. But still, the usage of a run-time can really slow things down for games, still you can go with Obj-C plus inlining. For portability I would say Ruby/Lua + C++ . It's a personal opinion though.

Cheers!  Coffee
« Last Edit: May 27, 2010, 09:49:25 AM by MrGando » Logged

Lead Programmer
Gando Games
Twitter
oahda
Level 10
*****



View Profile
« Reply #8 on: May 27, 2010, 09:35:16 AM »

What... the... hell... is... that... monster?

Also, I saw the image before you scaled it dooown~
Logged

Hideous
That's cool.
Level 10
*****


3D models are the best


View Profile WWW
« Reply #9 on: May 27, 2010, 09:46:26 AM »

Make a GUI in Visual Basic, so that you can track the killer's IP.

You mean a Graphical GUI Interface. Don't want them to have to use a simple GUI now would we.
Logged

MrGando
Level 0
***



View Profile WWW
« Reply #10 on: May 27, 2010, 09:49:59 AM »

What... the... hell... is... that... monster?

Also, I saw the image before you scaled it dooown~

Shows the calls made to the objc runtime ( it's mostly message passing in obj-c )
Logged

Lead Programmer
Gando Games
Twitter
AusGat
Guest
« Reply #11 on: May 27, 2010, 10:08:33 AM »

As to the OP, if you don't plan on porting to anything other than the Mac, Objective-C is fine and will probably make your life easier. While GCC and Clang do have a cross platform Objective-C compiler, there isn't a cross platform standard library of sorts that you can use. As for "performance issues", I saw lua mentioned in the next sentence :p. Objective-C is as fast as C except for the dynamic method calls, avoid them in tight loops like the renderer and you'll be just fine.

There are plenty of decent scripting choices on OS X, and some are even built in. I think my first choice would be MacRuby for scripting as you wouldn't need to make any bindings. MacRuby is built on top of Objective-C so you just need to make Objective-C classes and they will just work in both the engine and scripted code. The reverse is true as well I think, Ruby created classes can be used by Objective-C code. There are plenty of (free) Ruby IDEs, so you could just build around one of those and save yourself some work. That's my 2 cents anyway.

Well, I was thinking of making it cross-platform later, but I wasn't sure. I guess I'll just write the engine in Objective-C with some C.

You just gave me another reason to relearn Ruby…

I'd rather write the IDE myself, as I already have a simple UI and most of the IDE planned. A full IDE may be a bit too much.

As for "performance issues", I saw lua mentioned in the next sentence :p.

Have you seen LuaJIT? It's pretty damn impressive.

As for the topic, I'd really like an open-source, cross-platform, heavily scriptable 2D engine with a good editor. Gamemaker is too closed, has a technically near-obsolete implementation and is not cross-platform. Construct is not cross-platform and de-emphasizes scripting. LOVE is a nice start, but is too low-level for many things (no editor, no entity system etc) [maybe build your system on top of that??]. So I think my point is if you can meet these requirements, you'd have a genuine niche.

I hope to make it open source, heavily scriptable, 2D, and with a good editor. I'm just not sure about the cross-platform part.
Logged
KM
Level 9
****


KM "Shilling for CASH!"


View Profile WWW
« Reply #12 on: May 27, 2010, 10:19:39 AM »

What... the... hell... is... that... monster?

Also, I saw the image before you scaled it dooown~

Final Boss from Geometry Wars?  Shrug
Logged

oahda
Level 10
*****



View Profile
« Reply #13 on: May 27, 2010, 11:52:29 AM »

Make a GUI in Visual Basic, so that you can track the killer's IP.

You mean a Graphical GUI Interface. Don't want them to have to use a simple GUI now would we.
Quite right.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic