Zynga
Appears to have hand registered the domain names ZyngaCocos.com and ZyngaCocos2D.com
It’s from a DotWeekly Discoveries post which was reported by reader indy on my last blog post Zynga and Open Source.
According to WhoIs the domain was registered by MarktMonitor, a company that protects brands and manages domains for large companies, effectively hiding who truly registered the domain. But it’s hard to imagine that anyone but Zynga would register such a domain name.
What does that tell us?
Not much at the moment. People and companies register domains all the time. However, if this domain was indeed registered by Zynga, it at least expresses intent to establish a website or even a brand labelled ZyngaCocos respectively ZyngaCocos2D.
We know that Ricardo is the trademark owner of “Cocos2D” and there has been a registration certificate issued on April 12th, 2011:
Zynga acquired “certain assets of SapusMedia”, that could mean they also acquired the trademark. If so, that means they could exert control over all ports of Cocos2D - either the developers agree to certain terms in order to continue using the trademark, or they will have to remove all trademarks of Cocos2D and rebrand their engines. Which I don’t think they’ll do because a behavior like that would create lots of negative responses and bad PR.
Rebranding Cocos2D?
Given the new domain registration, I believe it is more likely that they simply plan to re-brand Cocos2D (for iPhone) as their own: ZyngaCocos(2D).
I’m sure that some of you will immediately suspect this to become a commercial version of Cocos2D for iPhone but unless they get permission from all contributors, they can’t change the license or would have to remove the code from all contributors who don’t permit them to use their code under a new license. If they do plan to make a commercial version of Cocos2D they would have to essentially rewrite the engine. Or buy out the contributors as well. But it’s not very likely because it would be a difficult process and selling a game engine is not very lucrative - in relation to Zynga’s cash flow of course.
If it is going to be just a simple rebranding of the cocos2d-iphone engine, I’m a bit confused by what they said in the initial announcement after having hired Ricardo and Rolando. They ascertained that the cocos2d-iphone.org website and community will remain independent and administered by Ricardo as he’s done in the past. So that leads me to believe that if there’s a ZyngaCocos2D, it’ll be somehow different and independent from cocos2d-iphone. Unless that was only said to avoid a negative first reaction from the community, and to keep us in the dark.
But I find it hard to imagine that Ricardo would give up his baby only to see it slowly die or let go of it entirely. Now, if you consider Ricardo’s strong connection with cocos2d-iphone and the open source movement and his integrity, I don’t expect a commercial version but one that is open source. And I don’t expect a slowly rotting public version of the cocos2d-iphone engine either, unless ZyngaCocos2D is somehow different from cocos2d-iphone.
I’m really interested now what they’re planning to do. There’s been very little information (in fact: none) revealed about what the future of cocos2d-iphone will look like, and I don’t expect any answers (not even from Ricardo & Rolando) until Zynga make another press release. This leads me to believe there’s only two options:
- Something big will happen, and they want to make sure it’s going to be a big bang announcement. Eg Zynga indeed making a commitment to open source game engine development.
- We won’t like the news, or there really aren’t any, so they’d rather not stir up a fuzz or create false expectations.
I think I’m going with #1 for the time being while expecting the worst. What do you think is going to happen?
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?
My Cocos2D Xcode project is now on Github. Open-source, free, properly MIT Licensed, includes the rootViewController and supports Cocos2D v0.99.5 rc0.
I’m also working on (with) a greatly enhanced version of the Xcode project. It integrates wax (Lua) and a Game Object Component System that i termed “gocos”. Also comes with a lot more useful convenience classes.
But the big idea is to actually upload (or link within github, if I can figure out if and how that works) all dependent projects into one repository, so that you can download everything at once and it works out of the box. Currently there are 3 projects referenced by cocos2d-project: gocos (let’s call it a library of convenience and gameplay code for Cocos2D), wax (Lua support) and obviously cocos2d-iphone. So everything that’s needed is going to be bundled in one big package, which voids all of the version incompatibility issues.
You can still experiment with different versions of these libraries but in that case I think you know what you’re doing and that issues are to be expected. But being a github repository, you can of course clone and commit changes.
Appetizer
Here’s what I’ve done with Lua. I’m currently using it only as a better plist replacement for settings. It’s better than plist because you can comment on each item, you can sort them easily, you can run functions and algorithms to generate values or load additional data, and in general it’s a lot easier to work with than the plist editor. Here’s a reduced config.lua that is loaded at runtime into a hierarchy of NSDictionary objects:
[cc lang=”lua”]
local config =
{
AccelerometerControls =
{
UpdatesPerSecond = 60, — 60 Hz
Responsiveness = 0.997,
SensitivityX = -2,
SensitivityY = 2,
MaxVelocity = 100,
},
}
return config
[/cc]
And this line of code loads these values and assigns them to the correspondingly named properties of the target class:
[cc lang=”objc”]
[Config loadPropertiesFromKeyPath:@”AccelerometerControls” target:self];
[/cc]
That’s all you need to do to transfer the values from config.lua into a class instance. Huge timesaver! The only drawback is that it currently can’t differentiate between float, int and bool (due to NSNumber), so it currently only supports float properties.
AccSim written by Otto Chrons is an App (download on iTunes) that allows you to control your game running in the Simulator with your iOS device. Meaning, the game plays in the Simulator but accelerometer input is actually coming from your device! You can learn more about it on the Built.By.Me website, which includes a sample video:
Hmmm … somehow this game seems strangely familiar. 😀
AccSim doesn’t pack the same punch as iSimulate does, which can also be used for sending multi-touch input, GPS and Compass events to the Simulator, plus a lot more. But the good thing about AccSim is that it’s not just free but the AccSim source code is open source!
I stumbled across this AppBoy Blog Post about Android and its Market. And it reminded me of what i think when i hear people swearing by the Android: the Android is not going to rule the world. Period.
The reasons are not many but they are crucial. First, Open Source is not a Feature! I hear that very often. “Yeah but Android is Open Source, you can’t compete with that!”. Uh-huh. As a matter of fact, i do not want to compete with Open Source if that means low-quality crap. There is no quality control on the Android Market. For some this spells freedom of choice and what not. And yes, Apple has made some decisions to pull apps from the App Store that a lot of people didn’t like. But let’s not forget that 99% of iPhone OS users just don’t care. There’s still enough diversity, and it’s not like Apple has pulled the Facebook App, Twitterific, Doodle Jump or Angry Birds. Apps that people really use and like. Keep in mind that whenever Apple decides to pull an App, recently that was because of mature content while allowing a big player in that market to keep his Apps online, people talk about that because (a) they like to get upset and (b) the blogosphere and news outlets need something to talk about. In the end it’s just hot air.
Let’s get back to Android though. So it’s open source. What does that even mean? The OS itself is open source. Great for the companies who build their own devices on that software. Bad for the consumer: you still have the same problem all mobile phones have. It’s like switching from Nokia and it’s hundreds of different devices united by the Ovi Store to Android, with its hundred and more and more diverging devices and a united App Store. Where does that lead us? A huge pile of free choice no one really wants if you so will. For developers it gets increasingly harder to develop Apps that run on all Android devices and what’s more, even if you manage to support 99% of all devices right now, tomorrow there will be a new device coming out that won’t run your app. As an independent developer this is hell. You have no way of telling whether supporting a specific line of Android devices will get you a significant sales boost. So how do you calculate how much time you’ll spend on each? It’s pure guesswork. I pity Android developers.
The iPhone market itself is hard but there’s one thing you can and should put all your efforts in: Marketing. You develop for one device (well, ok make that 3) while in the meantime you figure out which websites to target, what to blog, which communities to join, where to apply for App reviews, what Press Releases to send out, etc. The code is already done, Marketing your App is the hard part. It’s the same with the Android, except that the code part with its diverging devices is just as hard to do. And it’s just not fun adapting the same app to different devices. It’s one of the things i wouldn’t mind not doing.
Most of the outspoken people who choose Android choose it because they don’t like Apple (fair enough), or they don’t like closed ecosystems and enjoy (really?) everything that has the label “Open Source” attached to it. However, they’re a minority on the Android market. Most Android users just got what they needed: a working mobile phone. They have no idea, and no clue and don’t care about Open Source. For them, the label “Open Source” has no meaning.