I'm trying to make a 2d shooter game with 3d background.
The player and enemies are essentially just quads with textures.
The background will be simple 3d polygons with textures and some fog and light.
Therefore, I don't need a really powerful 3d library.
I tried Unity3D and Torque2D, but I don't like to use their GUI editors. I prefer to work with code.
So, is there a cross platform (mainly windows and iPhone) 3d / 2.5d game library, commercial or open source?
I assume it will be only limited to c, c++, and object-c due to apple's new ToS.
Cocos2D works on iPhone.
I recall that there is an Ogre3D port to iPhone, but I don't remember its name just now.
If you just want some simple images you can just use OpenGL ES. I've heard it's quite nice to program with it on iPhone. Also, take a look at parallax. If you want to do 2.5D games I think it's a must.
Good luck
Related
I am going to make a 2D iPad game today, but I do not want to use a game framework. I am more interested in how the framework is created, how to program the physics, and other low level topics.
So, if I'm not using a framework, how do I start? Is the first step to create an OpenGL based app in XCode?
OpenGL would be a place to start, but i would look through the cocos2d source, and see how various things are being done in that.
To program a 2D game from the ground up, especially if you're new to iOS, I don't see any reason to use anything other than the CoreGraphics and CoreAnimation APIs. Any bitmap-based imaging is typically done via OpenGL behind the scenes.
I want to start as a 3d game developer . But I am not getting from where to start.
Should I work on some game engine or should I work to learn openGL which is the core of any game engine.
I am working as an application developer (iPHone) and I have worked on Cocos2d game engine for iPhone.
Any guide lines. Please help.
How about cocos3d?
cocos3d is a significant extension to cocos2d
that adds a full 3D modelling space,
including 3D mesh models, perspective
projection cameras, materials, and
lighting.
Do you want to emphasize the "3D" or the "Game" in "3D Game Developer"?
If you emphasize the 3D, you can dig deep into OpenGL, and all the concepts behind 3D graphics, and develop the low level drawing code for your game. See HG's response for a good start. 3D graphics programming is a huge subject. Just OpenGL ES, which is available in two incompatible versions under iOS, is a huge subject that could take many months to learn. Plus if you're writing the rendering code for your game, you'll probably be writing the rest of the game subsystems code such as AI and physics.
If you want to emphasize the Game, you can learn 3D game engines such as cocos3d (as Kazuki Sakamoto mentions). There are lots of such game engines. In addition to offering rendering code, these engines may offer other game subsystems. You'll be working on your game content more than reinventing the game subsystems.
It just depends upon which is more interesting to you.
I want to develop 2d game through Cocos2d.but i could not find
any tutorial based on the following.I want one game loop and one draw screen.can I do Multiple sprite animations within one scene..(translating World etc).where can i find tutorial how to use those classes which are coccos2d?
-(void)gameloop
{
calculation();
drawImage();
drawImage1();
}
It is quite simple, you do not have to know opengl essentials to use cocos2d. cocos2d is quite simple yet awesome!. Just download the cocos2d 0.99.5 and it comes with sample tests. You will be able to find almost all of the things you want to do in a game i.e. animations, touches, moving sprites, particle system etc etc
so just go to:
http://www.cocos2d-iphone.org/
How to learn OpenGL by example, say, building a rotating globe?
What I mean is, do animators work on an animation in say Flash (or some other kind
of key frame animation program) and then export it to the iphone somehow?
For example, say I am an animator and I want to create a person waving for an iphone
game. What type of external program would I use and then what libraries on the iphone
sdk would I use to load them in?
I think it all depends on how in depth you want to get. Making a 2D game is a broad statement. For example, to make what you ask. You would just make a series of PNG images for a cell based animation of the wave. wave1.png, wave2.png, waveN.png...
Then load the PNG images in and then play them in sequence. You can do this with UIImageView, Core Animations classes, or manually your self with UIImages and UIViews.
There a lot of great game engines you can check out too. Here is a link for an example of what is available. Game Engines
For the best performance, most companies/developers use OpenGL to do both 2D and 3D style games. You can utilize a lot of tricks for the textures used in your games.
The iPhone natively supports key frame animation with the CAKeyframeAnimation class.
I think the most popular framework for 2D games is Cocos2D: http://cocos2d.org/
I want to develop this game for the iPhone. Which framework would be best to use (e.g., Cocoa, Cocoa2d, OPENGLES)?
I would look at
http://code.google.com/p/cocos2d-iphone/
You get a whole engine to help with your app and getting some pretty tricky stuff working.
Cocos2d does the following.
Scene management (workflow)
Transitions between scenes Sprites
and Sprite Sheets Effects: Lens,
Ripple, Waves, Liquid, Twirl, etc.
Actions (behaviors): Trasformation
Actions: Move, Rotate, Scale, Jump,
etc. Composable actions: Sequence,
Spawn, Repeat, Reverse Ease Actions:
Exp, Sin, Cubic, etc. Misc actions:
CallFunc, OrbitCamera Basic menus and
buttons Integrated Chipmunk 2d
physics engine Particle system Text
rendering support Texture Atlas
support Tile Map support Parallax
scrolling support High Score server
(Cocos Live) Touch/Accelerometer
support Portrait and Landscape mode
Integrated Pause/Resume Supports
PowerVR Texture Compression (PVRTC)
format Language: objective-c Open
Source: Compatible with open and
closed source projects OpenGL ES 1.1 based
Cocoa2D is using OpenGL ES, and given the game you are looking to do is a simple sprite based game, I think this would be a fine tool kit to use.
On the other hand, for performance you might find that Quartz 2D is significantly faster and provides you for free useful things such as key frame animation. The reason you'll find it's faster is that OpenGL needs to handle at all times the possibility of 3D rendering and all the various possible interactions your polygons could have with the image space: projections, zordering along vertices, etc. Quartz 2D however is fixed in 2D space so provides a good 2D space management tool kit. Additionally all the additional overhead OpenGL can encompass is stripped out.
I've done both, and I've found Quartz 2D to be a simple and fast toolkit to learn and definitely easy to program in. In the future when I do simple 2D sprite based apps I myself will be using Quartz 2D.
I would go with OpenGLEs. It would allow you to have 3d and do some cool stuff later on if you wanted.