Game engine C++ and objective C/Xcode coding - c++

I'm quite confused.
I want to develop a 3D game app. I have Unreal engine or Unity to choose from.
Both of them are coded in C++.
Where I have to use objective c that is the main language for iOS?
Can I do the app totally in the game engine Unity/UDK, coded there and then send it to the app store without any programing in objective c and straight from the game engine without using Xcode?
I really hope that the 6 month of full immersion in objective C/xcode were a waist of time.
Sorry if this question is very low level
Thank you
Regards
CL

If you are looking into programming for iOS... Yes you will need to know Objective-C (as it is the main language) and Xcode.
If you are looking to develop a 3D game, start looking into OpenGL ES.
You can't just write a game for Unreal/Unity and send it to the app store... doesn't exactly work that way.

With Unity3D, it is not C++ it is C#
Both are great engines, but if you are new to this, suggest going with Unity3D. Its easier to learn, with tons of free or cheap, easily accessible scripts and art.
and yes you can create the whole game in-Unity-engine, submit to apple and have it Live to the world (without knowing or needing any objective C)
You can also upload it to the app store submission with only a few setup steps.
You will need to download and install XCODE, but you don't need to learn any XCODE programming or project setup as unity does it all for you.
You won't need to learn OGL, or shader language (Unity comes with a suite of free, optimized mobile shaders) though it is fun to learn how to make your own later on.
Any native (objective C) stuff you might need, you can all do just by buying cheap plugins for unity that others have written. (usually in the $20 -$50) range.
You will need.. an apple developer account $100 a year.
Unity for iOS... basic or pro version.
a Mac, or a Hackintosh on a PC (mac mini is the easiest / compromise price route to go)
an iOS device would also help. (suggest getting several different ones for testing, or asking friends)
You could also do Droid instead of iOS. You dont need a mac then. But iOS apps make most of the money. something like 70% iOS 30% droid.
have fun!

You will have to create an Objective-C wrapper.
This is a good start point.
TECH TALK: BRIDGING UNITY AND THE IOS SDK

Related

3D and UI toolkit

I have to develop a basic inventory system, and my client wants to see all the objects in the inventory in 3D and their positions in the warehouse. The thing is that I have to develop this as soon as possible, delivery time is my priority here. So I came to the conclusion that I would need a powerful 3D graphics engine and an UI toolkit that can be easily integrated with it. I've plenty of experience with C++, Qt, OpenGL, VTK, C# and WinForms. In my experience, VTK is not so good with textures and it would involve more work to add the eye candy my client wants (like animations, visual effects, etc). I've tried Axiom with WinForms. I went through hell making a sample load and run (framework incompatibilities, rendering engines not found, codec native dependencies missing, etc).
I have been evaluating different options:
Qt + Ogre (C++)
WinForms + Axiom (.NET)
Qt + Irrlicht (C++)
Which do you think would be the best option? Could you recommend me some other possibility?
Thanks in advance!
I spent a heap of time developing with Mogre (a C# wrapper around Ogre) and WinForms. In my opinion it's a good combination because you can develop the GUI much faster in C# WinForms than any of the C++ options.
If you don't mind using a C# wrapper around the C++ Ogre library I recommend using Mogre rather than Axiom. It is very stable, has some good maintainers and keeps up with the latest version of Ogre pretty well. Any code on the Ogre forums can easily be ported to C# because most of the API is identical.
Axiom is a pure .NET port of Ogre, although it lags a few versions behind and may have some missing features. I haven't spent a lot of time with it but I believe it's main strength is that it's all managed code, if that's important to you.
There's an open source project called Glue Editor that I started a while ago. It's no longer maintained but it has a lot of code you can use to get Mogre working with WinForms. You should be able to download the repository and compile it out of the box. You're welcome to take the code and use it however you like.
https://bitbucket.org/glue/glueeditor/src
If you decide to go down the Qt + Ogre path there's a project called Ogitor you might want to check out.
https://bitbucket.org/jacmoe/ogitor/src
You might also want to check out XNA and MonoGame. XNA is Microsofts framework for making games in C#. It is fairly bare bones but it has a much lower learning curve than Ogre, Mogre or Axiom. MonoGame is an open source implementation of the XNA framework that works on non-Microsoft platforms (e.g. Android, iOS, Linux).
http://monogame.codeplex.com/
I recommend Qt + Ogre (C++), although I have to confess this is the only combination from your list I have much experience with. The good thing about Ogre is the amount of documentation and the active community. So many questions are answered and documented. The graphics itself can probably be created in all library combinations. However, I like the easy intergration of object interaction in Ogre. The standard is based on bounding boxes, however there is code available for triangle intersection as well. Wish you luck!

flash builder vs coscos2d for iOS

I am considering launching a somewhat larger game project for mobile devices (mainly iOS) that uses box2d and am considering using Flash Builder. There are lots of games with great performance built on coscos2d and our staff is fluent both in coscos2d and flash builder.
What apps are out that to look at developed with flash builder?
It seems like flash builder might be kind of new to have a lot of solid games so if you are developing a game with Flash Builder how is it going?
thanks
I feel I have by far much more control with cocos2d than Flash Builder. I don't know much about Flash anyway. However, I can at least tell you that I have a rather large cocos2d game project, and so far, we never had an issue regarding features.
Cocos2d supports all Apple platforms, and there are some nice ports for Android and such too.
Anyway, I think this depends too much on your actual game project. What key features it has?

Choosing A Suitable Mobile Game Engine

So after weeks of research I still cannot make up my mind as to which Game Engine to use, so here I am.
My question is which Game Engine will give me maximum productivity seeing that I:
Want to program in C++, Java, or a Scripting Language
Want to deploy the game first to the iPad, then other mobile devices if possible
Want to make a 2D game
Do not need physics
Don't have money [ Yes sad truth :'( ]
Want to make a game quickly and don't care much about the inner workings of the Engine
Want a Tile Based / Multiplayer / Turn Based Action Game
Don't have a Mac or XCode
Cross-Platform for Mobile Devices
I am not looking for a subjective answer I want to know which Game Engine allows me to do this or be closest to being able to do it.
Try Gideros Studio. It's free, has an IDE, runs on Windows, has tilemap support and cross-platform (iOS & Android). I've gone through your requirements and the only thing you might consider is that Gideros Studio uses Lua, a simple language which is powerful enough to be in thousands of mobile and desktop games today.
Disclaimer: I personally know the founder of Gideros Mobile.
You're overthinking this!
How do I know?
… after weeks of research ...
Want to make a game quickly ...
The only real requirements from your list are:
must be free
must run on Windows
(ideally) tilemap support
All the other points are mostly irrelevant. You want to develop an iPad game, then limit your search to the few available engines which allow development of iOS apps on Windows. Here's for hoping one of them is free, I would be surprised. Corona SDK might fit your bill besides not being free. So maybe use that (you can use it for free but not publish), then make a game quickly, and stop thinking about which engine is the best.
In other words, the time it took you to research all the engines was the time it took someone else to create and publish a game. You can always switch engines for your next project if you want to, but unless you have some experience picking an engine and knowing what's important even thinking about other engines is pretty much a waste of time.

Scripting languages on iOS games

First of all, there are other topics covering this subject but they were posted before Apple made the latest changes in its licenses this year.
I'm quite confused with Apple's iOS developer agreement license. Does it completely forbid scripting languages on game programming? Even if I don't compile it at runtime and provide all the code within the game package?
I have a game engine written in C++ which provides a scripting layer based on AngelScript used to ease the game logic programming. Is it true that I can't ever publish a game made with it as long as I use AngelScript for game event scripting?
Many game developers put an abstraction layer over their C++ library/engine/framework to ease game development, which doesn't change the fact the the games were actually written in C/C++.
You can use a scripting language as long as it doesn't download any code. It's not the scripting language apple has a problem with Angry birds for instance uses (lots) of Lua code.
If though you try downloading code and executing it then Apple will reject your app. Although even this is a gray area. For instance 'when does something become code?'. As an example you can download a new level pack for your game if then level's are defined in XML files.
But say for instance you use your own custom file format rather then XML for greater functionality. At what point does your code stop simply define parts of the game and become code?
Like many regulations there are gray areas even with things apple forbids (downloading code), however you shouldn't have a problem using a scripting language.
With Unity out and about on iOS, I have a hard time believing that Apple will enforce this, if they can...

compatibility of native code C++ and openGL in Windows Phone 7

We have a windows mobile 6.5 gaming application which uses openGL . Now we planned to port it to WP7 (windows phone 7).
When I check the compatibility of native code C++ and openGL in WP7, they are telling that there is no support in the WP7. WP7 support only Silverlight, XNA and the .NET Framework.
So what we thought of use XNA.Is it is the right to use this?
Please let me know how to proceed with this. And which is the best way to go about it.
well I am doing exactly the same thing now.
I'm currently going through the painstaking process of just manually converting all the code to c#. there is no little saviour like the Android NDK here with winmo7, you HAVE to use c#
if I had my time I would and WILL definitely look into something that converts from c++ to c#, it is completely unrealistic to try and manage a multi platform project across multiple languages.
depending on your app: silverlight I believe is meant for the more 'Applicationy' type apps, where XNA is meant for games (or 3D apps), but I think both are coded in c#
EDIT: lol, sorry skipped over the part about how you were porting an openGL game, definitely use XNA, converting from openGL to XNA(directX like) will be the least of your worries, its fairly strait forward. its converting the code that's the pain. XNA is meant for n00bs writing stuff from scratch, and for them, it is awesome. to that end, it is good if you still have all your asset's source: hopefully still having your max or maya model files, and tga/bmp/png texture source files. if so, the content pipeline will automatically convert textures, and for models, converts .x or .fbx files exported from max or maya.