Sign in to follow this  

Mac OS X Game Engine "OpenGL"

This topic is 1966 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello GameDev community,

My name is Kevin and I'm currently studying game design at Full Sail University. We are still early in our courses only about 4 months in. The reason I come here today is that I want to make a game engine using C++ that runs native in Mac OS X using OpenGL API's and create games using the same engine to port the games to all platforms if possible similar to Unity. I know it requires a lot of time and dedication but I'm willing to put in the work if someone could point me in the right direction or provide me with great resources to work with. I do want to let you all know what kind of computer I'm working on of course.

Macbook Pro 15" (Late 2011)
Intel Core i7 2.4 GHz Quad (Sandy Bridge)
8GB 1333MHz Memory
ATI Radeon HD 6770M
Mac OS X 10.8 Mountain Lion GM

I also have...

Macbook Pro 15" (Mid 2012)
Intel Core i7 2.6 GHz Quad (Ivy Bridge)
8GB Memory
Nvidia GeForce GT 650M
Mac OS X 10.8 Mountain Lion GM

I have a few projects already planned for development which will mainly focus on FPS and RPG elements. The key thing to me making this engine is that I want to be able to create a game from the ground up and turn around and release it on multiple platforms such as Windows and Linux. I'm a huge indie game development fan hence the reason I joined this school and community. You can reach me at [url="http://www.twitter.com/87kevo"]http://www.twitter.com/87kevo[/url] for immediate responses if you would like to contact me. Any useful information other then "Hey start somewhere else because this is tough", would be awesome. I'm glad to be part of a great community and can't wait to show you guys what I'm currently working on in the Unity engine soon.

Thanks,
Kevin Edited by Kevo

Share this post


Link to post
Share on other sites
Sounds like good advice:

First thing to do to make a game engine, is make a game.

You now have an engine you wrote for that game, although it's pretty heavily integrated.

Make another game. Re-use common code from the first game, adapted for this game.

You have a second, more polished engine.

Do this a few more times and you should have a library of common code you can start turning into an engine.

And don't do what I've been doing, including getting sleep apnia. You start having funny notions, like making the engine first. :P :D

Share this post


Link to post
Share on other sites
Hello Kevin, my name is Kevin too.

I am in exactly the same boat as you essentially. I want to make a game on OS X using OpenGL without using a premade engine, just like you. And just like you, I've been looking for directions to get started. Good luck! I know people do this, and yet it would appear no one talks about it. Allow me to share what I've learned through countless hours of scraping through the internet:

The most up-to-date version of OpenGL on Mac offers the most power and performance but seems to have a very steep learning curve. Version 3.3 (current on OS X Lion), requires you to write all shaders yourself, which implement camera transformations, texture mapping, all of it. You need to write your own matrix math routines. You need to define the format used to describe your vertex data, which includes color and material properties.

Basically, a very large amount of work has to be done and there are a lot of ideas to be grasped to even get a single triangle on the screen. There is a demo or two out there which gets something on the screen, but the translation of those techniques to a real-time graphics system for a game is anything but obvious. I do not recommend that you instead decide to learn one of the deprecated older versions of OpenGL. While easier, this is not the way games are going to be made in the real world, so it may not be worthwhile.

The previous poster was making a point, shrouded in a joke (I think), that is pretty salient. To create a game engine from scratch is a pretty daunting task, which will take a long, long time before reaching a level of sophistication that will allow you to make a prototype of a game. The dearth of information for doing this on our chosen platform only increases the difficulty.

However, people have done it! A pretty good example of a game engine for the Mac platform is Gosu ([url="http://www.libgosu.org/"]http://www.libgosu.org/[/url]), which supports all major platforms including iOS and Mac. Digging through the C++ side of the code is pretty informative, using a lot of Modern C++ techniques. However the OpenGL code uses the old, deprecated style for the desktop, while using the latest API for the iOS code. Pretty disappointing. However, it seems to have pretty good performance.

So here's what a sane person might do: let's use a library like Gosu or similar, prototype some stuff, and very importantly, figure out what we want out of a library. Do you catch my drift? How do we know what the API should look like in our library until we start using it. It would help if we could use another library and see what we love about it and where its shortcomings are. But do we care more about making games or figuring out how they work behind the scenes?

For me it goes back and forth, so I would rather not be put off with simplistic answers that sweep the complexity of this topic under the rug. I found your question while looking for the same resources you're asking for. The tact I'm taking right now is to read The OpenGL Shading Language, Third Edition. I've been told it helps get a person started with OpenGL 3.x much better than the SuperBible or other recent OpenGL books (which all use some sort of library to hide the complexity of the subject, the exact thing that you bought the book to learn about).

I hope that you will talk to your instructors and see if they can give you some concrete references to study, and then please let me know. I would also hope that someone on this forum who is not as confused as we are would help us out.

P.S. Integrating joysticks into OS X games seems very difficult. Does anyone know of a good resource (tutorial or library) to help with this task?

Share this post


Link to post
Share on other sites
[quote name='Kevo' timestamp='1343075695' post='4962357']
Some more information on that would be great. Directions to get started which direction should I head?
[/quote]
Ah, good point.

http://www.gamedev.net/page/resources/_/technical/game-programming/how-do-i-make-games-a-path-to-game-development-r892 - Start small, and build. :)

Share this post


Link to post
Share on other sites

This topic is 1966 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this