Cross-platform object-oriented tools for mobile game development - oop

can anyone suggest any tools for 2d mobile game development? I'm interested in tools that use object oriented languages.

There are many tools for creating 2D games. I would consider unity 3D. You can find more detailed discussion here.

Related

Development frameworks for 2D game?

I wanted to start working on a simple game concept I have, just as a side project/hobby/learning experience.
Pygames or Pyglet came immediately to mind, but it looks like they aren't being actively developed. Or perhaps they are, but extreeemely slowly.
I want a high-level programming language, multi-OS support, 2D focus (or suitable for 2D stuff, anyway), and active development. What are my options?
I use Pygame and think it is a great option. The community is fairly active, I see a new or updated project posted about every other day on Pygame's homepage.
Another good option would be the Love2d framework, which you can find here: http://love2d.org/. Love2d uses the language Lua, which is a high level, beginner-friendly language like Python.
Pygame and Pyglet are indeed excellent choices. If the level of activity concerns you, just take a look at the Google Code page for Pyglet, seems it's fairly active to me.
If you prefer more actively developed engine (less documentation, but more up-to-date approaches), check out the Monacle Engine:
http://monoclepowered.org/
If want to get your hands dirty and take a more Do-It-Yourself approach, projects like
SDL, SFML and Allegro may provide a good foundation for a cross-platform 2D engine.
Another, more recent project that provides a very useful set of 2D primitives is the Clutter framework:
http://www.clutter-project.org/
Add a sound library like FMOD or BASS and physics engine like Box2D or Chipmunk and you may build pretty much everything.
The PopCap (a.k.a. SexyApp) engine was a popular choice in the past.
http://sourceforge.net/projects/popcapframework/
For real-world example, check out the acclaimed indie game World of Goo, which is using it.
http://en.wikipedia.org/wiki/World_of_Goo
If python API is preferred, there seems to be an effort to provide one here:
http://www.farbs.org/pycap.html

GameSalad like tools for PC

Anyone knows of a tool like GameSalad for PC in which you don't have to write scripts or anything but just use the existing behaviors and events to create custom game logic?
Thanks
If you are looking for a cross platform game constructor you might want to try Flowlab, which runs in a web browser.
Construct from Scirra is a free, open-source, drag and drop, game engine. There is however talk of them making a paid version of Construct in the future.
I've only used Construct once, so I don't know that much about it, but i do know a lot about GameMaker.
As long as your not trying to do something complicated like a 3D or MMO game, (both of which GameMaker supports, but with major limitarions) I would recommend you use it, especially if your just starting out. GameMaker is one of the easiest if not the easiest programming language to learn. It also teaches good programming skills. As I mentioned before GameMaker uses drag and drop so you can easily transition from the D&D to the progeamming aspect of GameMaker.
As mentioned in the above posts RPG Maker is another popular tool , but it's limited to RPG games, and doesn't allow you to easily transition to an actual programming language. It's also very restrictive in what you can do.
When you feel like getting into some more advanced gaming engines, Blender is a great tool to use for creating 3D games. It can also be used to create 3D modules and has the ability to create animated movies.
I've never used PyGames before, but Python is a easy language to learn, and would probably be the best way to transition from a D&D program to a programming language.
*GameMaker can be extended in functionality with DLLs and Blender can be extended with Python.
So to summarize, GameMaker is a great tool for creating Games. RPG Maker and Construct are other possibilities, but from my view there not as good as GameMaker. when your ready to get out of Drag&Drop gaming engines Blender, PyGames, and GML(Game Maker Language - the advanced part of the GameMaker product) are all great resources.
PlayBits has an interface similar to GameSalad and makes games for Windows Phone 7, using your PC. Here's the link: http://www.playbits.com/?page_id=171
RPG maker here you can find it is a light weight game engine but if you are clever you can make really good apps
In terms of game development for iOS and Mobile development using the Windows platforms you might want to have a look at these two:
http://www.giderosmobile.com
and
http://www.stencyl.com/
Although I haven't, yet, used the Gideros solution, it's targeted specifically for Mobile platform development and has what looks to be a tidy UI with code folding and syntax coloring if you're comfortable with a traditional coding approach.
Stencyl is an interesting product, it sits beyond the capabilities of Gamesalad and uses a blocks metaphor for programming which works well.
Personally, I wouldn't use any tool that has a single platform for output, which is why I stopped using Gamemaker (I'm aware it now has a Macintosh client, but the quality of the application has been terrible and their player isn't much good either.)
If you're looking for GameSalad for Windows you might want to check out our HTML5 game engine Construct 2 which functions in a similar way.
It's also got an event based system with no programming required, and there's an extensive free edition available for you to try out as well.
You can use Yoyo Game's GameMaker:Studio also.
GameMaker is one such tool.
There is also The 3d Gamemaker, by the same people who make other rapid-game-development tools like DarkBasic.

What are the most valuable parts of Computer Science studies for Cocoa developers?

What are the most valuable parts of Computer Science studies for Cocoa developers?
Another way I might word this question is:
If I’m not going to go to school for Computer Science but want to be a developer working primarily with Cocoa, what are the things I should make sure I learn that I otherwise might miss by being self-taught, and be worse off for it.
Update: Replaced the term "professional Cocoa developer" with "developer primarily working with Cocoa", in hopes that the intent of my question is somehow clearer.
To be clear, I've been working with Cocoa for two years and am comfortable with Objective-C and the Cocoa frameworks, as well as Cocoa design patterns and the developer toolset, and thus am for the most part fluent with the Mac and iPhone platforms. But I have wondered whether I'm missing important CS or SE elements due to being self taught/no formal training, and not coming from other languages or platforms.
This question is for Cocoa developers.
There are many, but things that come to mind imediatly
-Design Patterns (the Cocoa framework relies on many Design Patterns, if you follow them it will make your life very easy, most obvious example is MVC)
-Algorithms and Data structures(this applies to any framework really)
-Memory Management (No garbage collection on the iphone!)
I would question whether there's really such a thing as a "professional Cocoa developer" (from a philosophical standpoint), or if you would want to be one. There's "professional developer", who may work with Cocoa primarily. A professional developer is language-agnostic and as such has a solid career ahead of him/her. A language- or platform-specific hacker has very limited usefulness.
The question to ask is do you want to be a developer or not? If there aren't any good Cocoa jobs available at the moment, or Cocoa is replaced by something newer and better and very different, a professional developer changes gears and follows. Are you OK with that?
If so, a computer science degree definitely cannot hurt. If not, you should probably not put all your eggs in the Cocoa basket and pursue a non-CS degree.
In addition to what's been pointed out already, I highly recommend reading "The Pragmatic Programmer". It contains a wealth of information on how to write software, how to manage projects, and how to develop your career, advice that goes well beyond the documentation you look at every day in Xcode. Some of the topics they cover are ones that you might have been exposed to during a standard computer science degree.
"Professional" is a relative term.. but anyways, this is what i had to go through so that i could easily learn a new language anytime i want and also master it:
started by learning a simple console language (pascal or c++, but i consider pascal being simpler than c/c++), then learned another language just to see if i can do it (c++)
i learned a lot of algorithms and data structures, until i was able to recreate them and even create my own
i moved to a visual approach on programming with Visual Basic 6 (another simple one to start with), and tried to copy lots of apps just to see if i can do it
i learned about Object-Oriented Programming and finished by mastering it
from this step on, learning a new language was like a hobby, like playing!
then i wanted to learn some different topics, like design patterns, multithreading, and so on..
moved from windows to mac, and started learning objective-c: because i already knew lots of languages, it took me 5 days to learn objective-c, and yes, i took breaks like any human being :P
after i learned obj-c, i now had to learn cocoa... this one took me a lot of time to learn, and i still don't know it all.. but i do know most of it :D
What are the most valuable parts of Computer Science studies for Cocoa developers?
Learn that it's important to understand the differences between languages, not learning a particular language.
Are you writing numerical method solvers with a Cocoa frontend? You'll want to take numerical methods. Writing a 3-D plugin with a Cocoa UI? Better learn about Catmull-Rom splines.
A good understanding of computer graphics is required if you want to make some good looking animations :)

iPhone game programming: Framework for this game?

For something like this app http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=323242790&mt=8, what sort of game framework is needed? It's all 2D and I've read how popular Cocos is. The problem is I'm not a game programmer and there aren't any good Cocos tutorials out there. Would Cocos be able to create a game like the one linked above?
If someone uses CoreAnimation (Quartz 2D), do they have to create the physics from scratch?
I don't see any games with the Unity 3D logo on startup, which must display if you use the Indie license. What is the style of game Unity works best with?
For a beginner, should they start with Cocos or something such as Unity, which has lots of free resources (images, sounds, etc).
I'm no expert in iPhone development but have been studying it, and will try to chip in my 2 cents.
Yes, it seems that Cocos would be very suitable for what you are planning to do, and it would most definitely be able to make something like that Cartoon Wars. Plus it also gives you two choices of integrated physics engines to choose from. Streaming Colour's Owen Goss is developing a game using Cocos and vlogging the experience, he occasionally comments about physics-engine related issues http://www.streamingcolour.com/blog/ .
You can also pick CoreAnimation, but then you are on your own to do the physics. If I'm not mistaken, the NimbleBit http://www.nimblebit.com/ guys developed their games (Scoops, Moon Drop) directly in Quartz.
Unity, despite being a 3D engine, is also suitable for the job. Zombieville USA was developed using it (more details here http://www.thecareergamer.com/?p=513 ) and has a cutout animated feel that resembles the link you shared. I guess all those games that don't display the indie Unity logo simply were made using the full version. It seems that using Unity allowed them to develop Zombieville in a very small amount of time. Also, in Unity you are not stuck with Objective C and allowed to use C# as well.
Good luck!
Don't code it from scatch. Use Unity.
Depending on which version of Unity you buy you can exclude the Unity logo on startup.
http://unity3d.com/unity/licenses
Start with Unity. It's a solution that can target users of all levels since it supports very advanced enhancements.
My impression of the games I've seen with Unity is that they are slow to start. That's OK if there's a big game experience but not for something I want to play within a few seconds.
Based on my research, I've decided to use Cocos for simple 2D games. There are a lot of good postings in the forum, even though there are no explicit tutorials
I also asked a question a while back about 3D engines - Oolong vs SIO2, got some useful answers and when I get time will be trying SIO2, although that won't be until next year at this rate (non-gaming projects in the way and I'm going to walk with 2D before flying in 3D).

What are good cross-platform Game API?

I am in the process of designing/building a cross-platform game engine in C++. I would like to use an game API that has 2D/3D graphics, input, networking, audio, etc. One API I found that meets many of these requirements except for Audio is Amaltheia. Can anyone suggest an API that meets all my requirements or one that meets most of the requirements that is better than Amaltheia.
You could look at SDL, it's a popular cross-platform multimedia library used in many games.
Also the Game Programming Wiki is a good source for lists of game programming libraries and engines
Lots of people are using SFML these days, which is a bit more up to date than SDL.
(Answer edited as SDL finally saw an update since I originally posted this! SFML is still a worthy choice, however.)
Allegro is very popular. There is also a big community site for it here.
In case you get tired of C++, there's also something simpler: BlitzBasic
http://www.blitzbasic.com/
Check out Unity Engine if your authoring is done in OSX
Ideaworks 3D has a great API that works on more systems than you could shake a stick at (including windows and linux), does networking, sound and 3d. It's a bit expensive though...