flash builder vs coscos2d for iOS - cocos2d-iphone

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?

Related

Game engine C++ and objective C/Xcode coding

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

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 game for desktop + mobile using starling/stage3d

It has been a nice run of about 7 or 8 years now that we have developed Flash browser based games for the web exclusively. Of course with the ubiquity of mobile devices, things have changed. Clients are starting to demand, almost assume, that games will work in the browser - on the desktop and on their tablets.
Putting aside the whole discussion of using an HTML5/JS solution instead, we're sticking with Flash for the next project and need to figure out the best way to get it to run on the desktop browser and on the iPad, while maximizing code re-use.
Given the current state of technologies today, what is the best path? This game will be a 2D side-scroller type game with some physics, and development will be done mainly with bitmap graphics (as opposed to vector) and spritesheets.
Here are what I understand to be my options:
Option 1: Develop the game targeting the 'standard' flash player for web (11 or higher), then port to an iOS AIR 3.2 app, doing appropriate optimizations like the ones outlined here.
Option 2: Use Starling/Stage3D for desktop, and then port to an iPad app. Just wondering if starling is ready for primetime making production quality games for mobile + desktop. Does Stage3D still work well enough in software mode on older machines?
Option 3: The new feature in CS6 that lets us publish to HTML5. Is this even close to mature enough to publish a full game? The benefit of this solution is that it could run in the browser on the iPad instead of being a separate app.
Thianks so much for any guidance.. I'm also wondering about pitfalls, and optimization techniques involved in any of these. But it seems the underlying question in all this is should we use Starling/Stage3D or not?
Definitely Option 2.
You could go with Option 1, but performance on mobile would likely suffer without Stage3D hardware rendering.
Option 3 is only a good choice if you're designing/porting ad banners with basic animation, should be avoided for game development.
More here: Adobe Gaming SDK

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.

Windows phone 7 native code support

2 questions:
Can someone tell me if unmanaged c++ code will
be supported in future versions of Phone 7 OS for all developers?
What are MS reasons for not
supporting unmanaged c++ code?
This answer is purely speculative, but I feel that most others who have answered this question miss the point by a long shot. Let's for a moment assume that this is not a vindictive decision by Microsoft, but instead actually a very well thought out engineering decision that has absolutely nothing to do with content restrictions or otherwise. Those issues are just a bonus for MS
Microsoft is entering into the mobile market, this time for real it seems. Pretty soon there will be tens of millions of Nokia phone being shipped using Windows Phone and whatever they get on top of that will just be gravy. Windows Phone though still hasn't really found its home.
In the next year or two, phones, tablets and laptops will finally start converging into a single device. People will carry their phone in their pockets, but that phone will also be the CPU unit of their PC. That means that by simply sitting near a wireless HDMI monitor and connecting a keyboard and mouse via wireless USB (or bluetooth if we're all unlucky), the user will have their entire PC with them at all times. Tablets will become just a battery powered touch screen which interfaces to the PC in your pocket.
So, all software written for Windows Phone should be able to run unmodified on a PC, a tablet and/or a phone. This is because there's a huge chance that the PC you're running will be either x86 or ARM based running Windows 8. When the PC is in your pocket, the user interface you'll see will be the Windows Phone GUI. When you're hooked up to a monitor, you'll see the ribbon interface. But the underlying OS will most likely be Windows 8, not the Windows CE that is currently used.
Based on all this, the only way Microsoft can insure that developers who invest in producing apps for the Windows Mobile market will not be screwed and that users of Windows Mobile devices won't be shorted when the newer platform comes around is to ensure there is a standard system for running apps on all these processors.
Even now, writing for Honeycomb is a nightmare since if you develop native code, you have to support both ARM and x86 and there's no real support mechanism for it. The only solution is to develop, package and ship two versions. Writing apps for iDevices are a little easier since there's no overlap. x86 on desktop, ARM on device. If you have to use native code on device, ARM is all you need. Even then, there is fat binary support on both device and desktop, so this won't be a problem except when optimizing.
In the end, the decision by Microsoft to stick strictly to .NET is probably a good one. Once they have a gazillion Nokia phones on the market and things have settled a bit, native code could be a real possibility.
These answers are for the application development perspective. OEMs can write native code today, as that's how they create drivers, but that's not open or available to most developers and therefore of no use to most.
For #1 Microsoft has made no announcements, so only Microsoft knows the answer and they're not saying.
For #2 it's all about code security and overall platfrom stability It's very tough to sandbox native code and they don't want your app being able to affect other apps or the platform itself. The general idea is that you should be using Silverlight or XNA for application development, so that's what they expose.
Windows phones will go nowhere with native support. Games and other more intensive apps are driving sales. Android was forced to blow the lid off of its NDK to support the games industry. As far as supporting multiple processors, etc., those of us doing this kind of work have been doing it for a long time, so its no problem. Already handling Intel and ARM without a problems with our systems.
EDIT, finally: for WP7 unmanaged code won't ever be supported, but in Windows Phone 8 - yes it will! They've just announced it. Native apps, C/C++, iOS/Android portability and code sharing, DirectX. You'll need Visual Studio 2012 and Windows 8 for WP8 development, though. Looks like VS2010 is not getting the requisite WinRT SDK.
The nongame UI, however, will still be XAML-based. Win32 API will not be supported. They're pushing a model with managed UI layer and a native middleware beneath it.
SDK will be available later this summer.
For the sake of posterity, here's the pre-06/20/2012 answer:
Microsoft probably can.
To ensure platform closeness, as a means for attaining stability and UI consistency. To enforce app isolation. Also, to make jailbreaking/rooting harder.
EDIT: if you want a native SDK on WP7, like I do, please go sign this petition and/or that petition. Thank you!
EDIT: see this.
EDIT: also this. Still not official, but this rumor moves the timeframe for native app support even closer - to the upcoming Tango release.
I believe MS will support native development like C/C++. Really. Seriously.
Because, for end users, one of the killer app is game. And Most of game codes are based on C/C++. JS or C# based codes are exist, but meaningless from industrial perspective. Consider big players in game field like Unreal or EA. They made huge investment on C/C++ codebase. They won't give it up. In other words, MS has no power to force them to spend money for .NET. Even Xbox360 development offers C/C++ development. Because of that.
And leading platforms like iOS/Android all supports native development. WP can't bear up the situation without any game from big players. MS really wants 3rd path games, and offering native code is the only way to get them.
Of course, this can be applied to other apps which are not game, but games are biggest one. When C#/XNA just came out, there's no library. People had to make everything themselves. Now there're a little more, but still meaningless for professional games.
If MS won't offer native environment, just don't go there. MS wants to make developers to use managed .NET code, but .NET has too many limitations can be solved with only unmanaged code.
The only question is just when will MS support native development.