I used Cocos2d for several games now and quite like it. The code is well put together and supported, and it's really light so you can easily customize the engine or optimize things at the OpenGL level when you need to. Personally, I'd prefer to be working in just about any language but Objective C. Most of what Objective C tries to solve it does so poorly (IMO), and XCode is a horrible development environment compared to Visual Studio with Visual Assist (c++) or Eclipse (for Java or AS3). But when I decided to do iPhone stuff I figured why fight the tide.
I'm curious what aspects you found buggy about it. I don't have a huge well of experience with it yet, but so far it seems pretty good. I guess it depends on the type of project you're working on?
Well you know what they say about a good workman never blaming his tools In my experience any crashes and memory leaks in cocos2d have been my own fault. I suspect this would be the case with any of the engines.
Ha ha, I agree. Objective C is still quite strange to me, though I love working with cocos2d. I really like the layout of the engine... using the Director to display and switch between scenes, with each scene composed of layers... it all just makes sense for creating game worlds. However, I really would like the option of coding in Visual Studio with C++... maybe someday I'll follow the dark side and try out Unity or SIO2.
What version did you use? cocos2d evolves fast, with 1000+ people using it and looking at the code bugs tend to get found and fixed quickly. Some big name games using cocos2d include Stick Wars, Moonlights, Kryzer and iYamato. Here is an interesting blog post by someone who owns Unity but ended up using cocos2d for a game: http://marraboy.blogspot.com/2009/05/unity-for-iphone-my-thoughts.html
Hmm, not very impressive blog post I'm afraid. A simple setting would take care of the 90 degree thing (the editor does what you tell it to do, so expecting it to read your mind is not very realistic), and you don't have to use texture compression if you simply use 32-bit or 16-bit uncompressed for the textures. The graphics when using Unity Remote are indeed bad, because it's streaming compressed video in real time, but it's sufficient to see what you're doing, and being able to instantly test on the device at any time without having to build and deploy is fantastic. Oh yeah, I use Unity. --Eric
I've used a highly customized iTGB (Torque Game Builder) for Ninja Rally I used Shiva for CastleGuard, CastleGuard2, Alien Buddy, and for my new game Arcana: Spell Duel. I like Torque for it's source code access, tried and true network library, and huge GUI control library. I like Shiva for absolutely every other reason.
OpenGL with a little UIKit for keyboard access. Audio uses AudioQueue. Programmed using C++. Obj-C only used where necessary.
C++, OpenGL, and OpenAL here... plus some other C/C++ open source libraries as needed. Objective C only in the areas that require it, for now - I'm not opposed to using it, I just haven't had the time to pick up all the new APIs yet. I've got everything set up so that I can develop cross platform on Win32 through Visual Studio, and VNC into my mac mini to build/test/profile the iPhone version, so I'm happy
Embargo (http://www.zenyes.com for video) uses a custom built engine called Yarra. Yarra is custom built 3D game engine which is composed of the following: OpenGL for graphics, OpenAL for sound, Tremor for Vorbis streamed music, a custom physics engine and/or Bullet (optional), FreeType for fonts, SOIL for images, NetLib++ for networking, and my own C++ middleware. ALl up around 430 files for engine, and 80 C++ files for the actual game. 99% of development is done under Visual Studio, and the end compiled game runs under Windows, OSX, iPhone (obviously), and even obscure Operating Systems like Haiku. The Yarra engine also has a mini 3D modeller inside it which is great for low detail models sharing a texture atlas(the ships in Embargo were built with it, only 120 polygons for hull, and 30*13 polygons per sail), but can also import OBJ and Milkshape3D files (obviously, you dont want models with more than 500 or so polygons, otherwise say goodbye to your framerate). Embargo took 2 months to develop, with an additional month on extending the Yarra engine. My current project is Desert Combat, a 3D game where you pilot an attack chopper and blow crap up. This game actually uses Bullet physics, so when you destroy a moving vehicle or hit a non-stationary object (eg. barrels, crates etc.), they will bounce around the screen using real physics. Should be fun. We've just finished the prototype (flight model and controls, plus physics) and we've done the object detail stress test (so that we know how many objects we can display on screen at once). This week we'll start with actual graphics, a game HUD , missions, game menu, special effects etc. We've already invested a month in the project, and we expect to finish in 2 months. All up this will be a 3 month project total.
- game: Kittys Adventure - language: C# - IDE: Visual Studio Express - 3D engine: Unity3D Pro And thanks to vmWare I have not touched my MAC Mini for a month now, the complete development is done on Windows 7 with MacOS virtualized in vmWare. I took me weeks to get it running but it was worth the effort. Visual Studio cant be beat as an IDE and - thanks to Unity and its Asset Server - all stuff (beside the final compilation for the iPhone) can be done native under Windows without MacOS. I love it...