Following the recent release of SpriteBuilder and cocos2d-iphone v3 I’m sure some of you are itching to use SpriteBuilder by building the github version in Xcode rather than downloading it from the Mac App Store. Here’s how!
This is a post for developers who want to compile the SpriteBuilder code from github. To customize it, to debug issues, to add or gain access to new features; be it for their own use or to help the project, or both.
Previous experience with Xcode, Objective-C, cocos2d-iphone, git and github is assumed.
Download SpriteBuilder from github
The download and first-time compilation procedure is also detailed on the SpriteBuilder github page. You need to clone the project, then initialize the cocos2d-iphone submodule. The necessary Terminal commands are as follows:
This is a guest post by Nat Weiss, author of the cocos2d-iphone RPG Game Engine and the cocos2d-x Paralaxer Game Kit. Today he shares his experience working with the two most popular cocos2d game engines, and explains how and where they’re different.
He also needs more beta-testers for his latest game: Awesome Heroes Arena.
Over the last year, my bro Kristopher Horton and I have been developing a realtime Multiplayer-Online Battle Arena (MOBA) game for tablets with cocos2d-x. The game’s called Awesome Heroes Arena and we are finally at the point of taking on beta testers: here’s the beta sign up if you are interested.
Steffen thought it would be interesting if I shared some thoughts on switching from cocos2d-iphone to cocos2d-x. What’s it like? What things do I miss?
Why did we choose cocos2d-x?
It isn’t piracy! … Not even close.
I have a problem with terms that are not clearly defined. Words like “much”, “a lot” or as in this case: “unbelievably high”. If you argue that the problem with Android is its high piracy rate based on one developer’s subjective statement and general hearsay, it’s not an argument.
Before I get to debunk why piracy can’t be that big an issue for Android developers, allow me to restate which developers regularly complain about piracy to begin with. There always seems to be the issue that low selling apps see a much larger percentage of pirated copies being used than high volume apps. This is because some pirates download and try out almost everything that’s available just because they can.
Interestingly, the badly selling app developers seem to be those who complain the most about piracy. Because it’s so easy to blame a failure to sell on piracy. See this fictive graph:
I frequently see questions like Should I use game engine A or game engine B? Sometimes the question is slightly more specific like Is game engine A right for this game?
These questions are not unlike giving a list of features or requirements and then asking Is potential partner A better for me than potential partner B? And some are closer to asking the general public a very subjective question that requires intimate knowledge about the person who is asking: With whom will I have better sex, A or B?
Well … while there’s a checklist of features that A and B may or may not have that might have some influence on the decision, more often than not your choice depends a whole lot more on whether it just feels right.
You may feel attracted to A because A is so reasonable and the support is responsive and helpful, or you may simply find yourself attracted to how B is open to everything and free of charge. You may also find that despite A or B lacking a specific feature you crave, other aspects that you didn’t even think of more than make up for it. Features aren’t everything, more important is the spirit and ease of use.
Not uncommonly a fully featured game engine (or partner) with all bells and whistles may turn out to have a really steep learning curve, many restrictions, limitations, policies, quirks while “free” may cost you a lot more than you bargained for.
Following is my game engine dating advice that you can take to places like MobileGameEngines.com to make your pick. These are the things that I consider the most important when choosing a game engine for small projects, and that is irregardless of the type of game I might want to develop.
Scheduled for release on November 7th, 2011. Continue reading »
The latest episode of the Cocos2D Podcast has a special guest: Nate Weiss, developer of the commercial iPhone (RPG) Game Kit.
Nate is one of the most enthusiastic game developers I know, his true love being RPG games. When not making games he loves to help others learn game development and makes a living off of that.
And he does all that from the confines of his floating apartment: he lives on a boat!
To top all that the Cocos2D Podcast now has an intro music provided by Marco Neumann aka @marcotronic. Thanks Marco, rock on!
Cocos2D Podcast: Nathanael Weiss (iPhone Game Kit Developer)
PS: I actually forgot to publish this post after I was done writing it. It was sitting here as draft for a week. I’m sorry for the delay!
I did a little research to figure out more about Zynga’s involvements in open source projects. The research is not comprehensive nor conclusive but provides a little more insight. At least as much as is possible from a corporation with PR departments.
Membase
This article reports on Zynga’s involvement as follows:
Casual-game provider Zynga found that its efforts to manage the load of its database operations dovetailed with work being done at NorthScale and NHN and decided to contribute research findings and to the open-source community, as well as sponsoring continuing efforts to maintain and enhance the software.
Sponsoring efforts to maintain and enhance. Sponsoring means there’s money or manpower going into the project. Zynga looks forward to advancing Cocos2D. Notice the difference.
Another article on the same subject quotes Zynga’s CTO Cadir Lee:
“Zynga’s objective was simple: we needed a database that could keep up with the challenging demands of our games while minimizing our average, fully-loaded cost per database operation — including capital equipment, management costs and developer productivity. We evaluated many NoSQL database technologies but all fell short of our stringent requirements. Our membase development efforts dovetailed with work being done at NorthScale and NHN and we’re delighted to contribute our code to the open source community and to sponsor continuing efforts to maintain and enhance the software.”
All except one project on Zynga’s github repository are related to Membase: moxi (forked from membase), zstored, mcmux and pecl-memcached.
In an interview, the Zynga country manager for India Shan Kadavil, refers to Moxi:
Our developers have been involved in various open source projects, including development of open source tools to bug fixes. An example is the Moxi project–when we were looking at scaling our infrastructure, we needed a technology that could help us scale horizontally, add new Web servers as when needed without being bottlenecked at the storage layer. Having examined and scrutinised all the proprietary options, we looked towards open source and found the Moxi project, which worked like a load balancer for the caching layer. We helped scale the Moxi project specifically by adding modifications to handle large cloud computing environments.
This statement did make me wonder what those other open source projects are that Zynga has been involved in? It’s hard to find anything because submitting a code change rarely causes a press release to be issued.
FontLabel
The FontLabel project was released as open source by Zynga. It enables you to render any truetype (ttf) font on the iPhone, not just the built-in fonts provided by Apple. It’s not to be confused with bitmap-font rendering, instead it behaves like UIFont but allows you to use non-system fonts.
FontLabel was added to cocos2d-iphone in September 2009.
To be honest, FontLabel is not the kind of project that would have stopped the world from spinning. But it’s a kind of project that benefits from many developers using, and thus testing it. So making it open source makes sense.
Others OS projects?
It’s hard to find references of Zynga contributing to open source projects, because usually there won’t be a press release issued when a coder submits a fix to a more or less obscure open source project.
I was only aware of one other OS project, that was FontLabel which was actually started by Zynga. If you know an open source project that Zynga contributed to and that I missed, please mention it in a comment, thank you!
But if that is the entire involvement Zynga has with Open Source, then it doesn’t give me the impression that they’re open-source friendly. They support it when it makes sense, for PR, for free beta-testing, or if they need open source technology and want to play nice. In that regard they are no different than any other big company.
Zynga’s view on Open Source
The interview with Zynga’s country manager for India published over a year ago provides some clues.
We think of open source as a movement and not as a particular project. The success of the projects using open source is possible only when multiple people contribute and when the industry endorses them.
Which means that without industry support (read: finances, manpower, marketing) open source projects can not be successful. At least not by their definition of success.
The next statement makes one hopeful:
We have multiple models to involve the community. We have had members from the open source projects work commercially for us to build a platform or tool for us. To that end, we gave the entire output back to the community.
This is practically identical to hiring Ricardo and Rolando. However, I think this statement refers more to contracting agreements rather than employment.
I suspect that Ricardo and Rolando were already working as contractors for Zynga for the past months. From Ricardo’s commits to the cocos2d-iphone project over the past months I always wondered what kind of secret project he was working on. To me the commits looked like by-products of a different, bigger projects. Some commit phases included many smaller changes, not something that you’ll spend your entire day working on.
Before actually moving from continent to continent you almost certainly have to have worked together in some way or another, if only just to get to know each other. So I can imagine something already being developed in secret on a contract basis. The question is, if this is true, what it is and when or if we’ll be seeing it.
The statement following the last one:
Second model is the non-commercial model that involves us getting into open source threads, sharing ideas and work collaboratively with the community with our code fixes.
Ok, so that “model” is basically what any developer does at some point in time. Making code fixes is definitely the easiest way to get something contributed to an open source project, and we all share ideas and collaborate (speak: posting in forums). That sentence made me laugh. Because you can’t really call it a model - it’s what we all do.
How Zynga Germany came to be
By chance I came across another acquisition Zynga made in September 2010. They bought german startup Dextrose (at the time located less than 20 km from where I live) to get ahold of their Aves HTML5 engine and have them become Zynga Germany. Paul Bakaus is co-founder of Dextrose and a jQuery core team member (jQuery UI creator), and now CTO of Zynga Germany.
The interesting aspect here is the Aves engine. It was supposed to be licensed as middleware to other game developers and publishers. But after Zynga’s acquisition it became a proprietary engine and won’t be licensed. All websites of Dextrose and Aves as well as their social networking accounts have since been removed, and Zynga Germany relocated by 80 km to Frankfurt/Main: the city with one of Europe’s busiest airports and many direct flights to overseas. Obviously to make Zynga Germany more accessible for corporate.
Have a look what the engine is capable of and you’ll understand why Zynga had to have it. And why they wanted no one else to have it.
Meaning?
I don’t want to read too much into this, but I’m skeptical. For most corporations, doing good for the community is just not in their program - except of course their PR department. I haven’t found any indication that Zynga is any different. Although they like to be the “google of games”, they’re a far cry from google when it comes to open source projects it seems.
It’s clear that hiring Ricardo and Rolando is providing value for Zynga first and foremost. If it were any other way, the two would not be moving to San Francisco but would be working on a contract basis. Zynga could not possibly buy cocos2d-iphone, so they simply “acquired” the next best thing, which means hiring its key contributors. The cocos2d-iphone project remains untouched, but I worry the emphasis is on remains.
On the other hand, Zynga apparently registered the domain ZyngaCocos2D.com … so maybe there do have bigger plans for cocos2d-iphone?