High Graphics 3D Game Development for iPhone - iphone

I have good experience with the iPhone development tools and making apps with window based applications and stuff. I am now trying to make an awesome 3D game, which is an area I have never tried out.
I am very interested in learning about the development of "INFINITY BLADE" and I am very curious to know how it was developed and how they were able to develop it with so much detail.
I had already looked at links like iPhone 3D Engines, but it seems outdated.
Where is a good place to start for learning HIGH Performance 3D games for iPhone / iPad ?
Could you share any tips on the development life cycle for the 3D Games ??
Tools used for making high quality 3D images for the creative side of iPhone Development ? And resources on the creative side ?
Could you share the game development life cycle for a particular app , or perhaps your comments on the development of Infinity Blade ?

This isn't a full answer, but I decided to post it anyways.
Infinity blade was written using unreal engine 3, which recently (or not so recently) got an export to iPhone option. Unreal engine is the same engine used for games such as gears of war. I'm assuming that the actual difficulty of getting high quality graphics to run well on the iPhone was handled by unreal engine. As for making the graphics, I'm sure they hired a (bunch of) 3D artists. You can get the UDK for unreal off of their website, which allows you to start learning with it. The only caveat is the cost of the engine when you actually want to release a game.

I've never actually used it so I can't give too much information on it, but you could try looking at cocos2d's lesser known sibling, cocos3d. That would probably be the most cost effective way to learn how to do some 3d game programming in obj-c.
http://brenwill.com/cocos3d/
But if you're looking to bang a game out quickly and learn a good amount about game development, Unity3D might be the best option. They have a few really good hands on tutorials.
http://unity3d.com/support/resources/tutorials/
I might be wrong, but I think Unity might require the use of C# under mono, in which case I'm not sure if that would be something you're looking for.

Related

Making games in iPhone

Can anyone tell me what should i use to make games for iPhone...
Actually i am a simple application programmer ...but never made complicated high graphics games...
i have made some games but only simple one...
Which tool is good for me to start....
i am aware of OPenGL...is it good to start with this ??
I'd say if you're reasonably competent with iOS & Objective-C, then it might be worth taking a peek at the likes of Cocos2D. There's also the iOS port of Flixel (which you can grab with the source to Canabalt which is sitting on Github), but compared to Cocos2D - it's a little less polished due to it only being recently out there.
Unity's great if you're familiar with C# or JavaScript and interested in wanting to do 3D games - and if you're not as interested in going the full-hog with learning OpenGL ES.
Corona is the best thing for you start looking into.
I'd suggest a trip to the bookstore, to find a book which speaks to you, regarding iPhone Game Dev. A quick look at Amazon reveals quite a number.
There's a lot to consider when making games, it's a huge topic.
You should check out Unity 3D.
For someone new to iPhone development and game dev in general, I'd say start with Cocoa Touch as it is simpler than OpenGL and you can create simple games (for example words games) with it. And even if you decide to develop an OpenGL app for the iOs you still need to work with Cocoa so there is no escape from learning it.
Once you get your head around objective-c/cocoa/xcode and iphone development in general, then start looking at OpenGL.

Game engines for iPhone vs. native iPhone sdk development

What are people's opinions and/or experiences with game engines such as Unity or Torque Engine? If one were new to iPhone game dev is it worth it to learn one of the engines? What is the performance difference between apps generated by those engines vs a natively built App using the sdk?
Both will equal the performance of what most people could write themselves (i.e. if you're not an experienced game engine developer).
Whether it's worth learning (and buying since both Unity and Torque cost for iPhone development) you'll have to ask yourself two questions:
Is my game idea suited the engine?
Is my passion for programming or game design?
Looking at the range of games made with Unity, it seems very flexible because although it is a 3d engine, lots of 2d games have been made with it. The downside of using Unity for something very simple (say, a match-3 tile game) is that it's a bit over the top in terms of download size.
On the passion issue, some people like programming a lot and will always feel it's better to write the engine themselves. And that's OK. But if you have a great idea for a game and just want to 'bring it to market' as soon as possible, and it requires 3d rendering, character animation, that sort of thing, using Torque or Unity is going to get you there a lot faster.
If you want to do 2d development you should have a look at cocos2d iphone it is implemented in cocoa free open source and very easy to pick up
I think time to market is important to consider - if your going to burn out after a short time and of the engines mentioned above will allow you to build and launch a game quickly compared to writing the engine & game from scratch.
Like U62 said, where is your passion?
Currently I'm building a framework/engine and a game. Its a great learning experience, but we had to understand that it would take a long time (we have day jobs) and that we have to just keep chipping away at it. So far, the experience has been an eye opener and I've learned a great deal ... however, would I do it again? Probably not - I think I prefer designing the game and coding game specific logic - not engine specific.
I've done a lot of research on the platforms and I personally really like Unity. You can email them and request the iphone trial license.
Anyways, good luck!

Iphone Game Development

What are people using mostly to build iPhone games with? I'm learning iPhone programming. Currently I'm watching all the stanford vidcast, doing the assigments and going through the beginning iphone development apress book. I want to get into building games and want to know if developers are buidling everything with opengl es or are they using pre-existing game engines?
Depends how graphic-intensive the app is.
If it needs a lot of graphics, go with a pre-existing engine.
If not, many use OpenGL ES
I believe most people are simply using Apple's APIs. Other than that, I think cocos2d is pretty popular.
You can find a bunch of suggestions here:
learning iphone game development
Which technologies/concepts do you suggest I learn before creating an iPhone game?
I used Unity. There's been a lot of great games (even in the top 10) that used it. You don't even need to know objective-C. The code is written in scripting languages using C#, Javascript or boo and then compiled. It is expensive. It will cost you a minimum $600 for an indie license to do iPhone apps. unity3d.com
It's tough to get up to speed writing a game with all the APIs to learn and few good game examples (especially if you are new to Objective-C). I ended up tracking down the old crashlander source, which is notoriously hard to find since Apple pulled it.
There are probably half a dozen iPhone game programming books in the pipeline. Until then, the learning curve is pretty steep.
I'd suggest starting with an OpenGL 2D sprite-based game. Start by learning OpenGL ES, the touch system, then the audio system.

Quartz 2D vs OpenGL ES Learning Curve

I have been developing iPhone Applications for a couple of months. I would like to know your views about the Quartz vs OpenGL ES 1.x or 2.0 learning curve. You can tell your perspective. My Questions are
*I am a wannabe game developer, So is it a good idea to first develop in quartz , then move
on to OpenGL ES or does it not make an difference
*Can you please tell your experiences when you were having the similar question
Thanks :)
Quartz 2D is not applicable for game development IMHO. It is a software rendering API. It won't give you realtime rendering speed. It's good for drawing charts or vector text with shadows, or for blending several images together. Just not for games. Unless you want to make a game where few images are moving against a monochrome background and even in that case I doubt it will be really smooth on older devices. I've seen some games obviously coded with Quartz. A pitiful sight.
Sooner or later you'll end up using Open GL ES or a game framework build on top of it. I recommend you to check cocos2D, SIO2 engine, or examples from SDK.
With careful programming it is possible to make an Open GL ES game with parallax scrolling and relatively small amount of objects work at 60 FPS even on 2nd gen devices. Tiny Wings is an example of such game. And maintaining stable 30 FPS is not a problem at all.
I skipped Quartz and went right to OpenGL ES. I started with a 2D sprite based game. Thought it was pretty easy.
The key is having a good example to look at. I used the Lunar Lander clone (Crash Lander), but I don't think that's easy to find anymore. Maybe someone who has done it recently knows of a better, newer example that uses current best practices.
I'm in the same boat as you describe, although I have no programming background. (Although I don't know what your background is either) Currently, I am in the process of learning to code as I learn the various API's that are available. I'm an objective-c guy going backwards to the c-based Quartz API, and it's a little bit of a challenge. Luckily, Programming in Objective-C 2.0 by S. Kochan has a great chapter on underlying C features to keep you afloat.
I have taken a couple of stabs # OpenGLES, and I have to say, that from a conceptual standpoint, I'm not ready for it. The Quartz2d API is a bit easier to learn conceptually because it's very easy to get up & running with a few commands. Right now, I'm at the point where I can define shapes and point to point images with out too much trouble.
OpenGLES is going to be something in my future, but it takes such an enormous amount of code to configure the drawing view, set up buffers, etc. If you are familiar with everything the code is doing, then it's a bit easier. However, from a learning perspective, Quartz is an easier way to get going, quickly.
Resources I'm using: The aforementioned book, and an anemic amount of blogs containing tutorials, which are limited # best. At this point, make an appointment with the apple docs and get cozy, because it's about the best (free) stuff that's out there (& exhaustive) With that said, I'd love for someone to prove me wrong on this site by posting a great resource for learning, but that's about it. Good Luck.
I have been looking for the fundamental differences so I can decide between OpenGL (ES) or Quartz or a hybrid. The good news is that the hybrid is an option. Clearly Quartz is easier to master for O-O programming and the answer from Apple appears to be that OpenGL, "...is ideal for immersive types of applications..."
http://developer.apple.com/library/ios/#DOCUMENTATION/General/Conceptual/Devpedia-CocoaApp/DrawingModel.html
I don't want to limit the category to games as I believe any game UX can be applied to a business App, a productivity App, entertainment viewing, etc. By the same token, I fully expect the technology (both h/w and s/w) to advance to make either a choice.

3D gaming WYSIWYGs for iPhone

I'm not a graphics or game designer but would like to build more interactivity into my iPhone apps and eventually start developing gaming apps. Tools such as Blender seem for out into the future for anything I'll produce useful from them. I need something similar to a FrontPage for game developers. For 300 bucks, Torgue for the iPhone seems like a nice all in one package: http://www.garagegames.com/products/torque-3D. Has anyone used this or something similar and can comment about how good it is?
One of the coolest end-to-end solutions that I've seen to date is Unity3D, which now allows you to publish your game directly as an iPhone application. It's not exactly cheap, but you can get an indie license for $598. There's good support and plenty of community examples and stuff to get you going.
Torque and Blender aren't really comparable: Torque is primarily a game engine and Blender is primarily a 3D modelling application. You'd use the latter to create content for the former.