Kobold Kit goes Open Source!

On September 5, 2013, in idevblogaday, Kobold Kit, by Steffen Itterheim

With the release of iOS 7 (ETA: Tuesday, Sept. 10th):

Kobold Kit will be available as open source under the MIT License!

We spent a lot of thoughts on how we like to run an open source project. And also why. I’ll start with an executive summary with more (perhaps too many) details in the text.

The Idea: make the project as open and inviting as possible. Let contributors gain control over and take on responsibility for the project based on their contributions. Provide them with ways to promote their work on their own accord.

The Goal: build the Sprite Kit game engine with the help of many developers.

Kobold Kit is supposed to become the “patron project” under whose roof the most valuable Sprite Kit extensions are combined. Website, forum, wiki, blog and store are extended playgrounds shaped by community members. If you’re part of the project, we want you to proudly present and benefit from it.

In essence: we want to get out of the way as much as possible and enable anyone to find their place in the project. Guidance, not dictating, is our guideline.

Continue reading »

Why aren’t YOU contributing to open source projects?

On August 22, 2013, in idevblogaday, by Steffen Itterheim

I got a lot of questions in the past why I’m not contributing my work to the cocos2d-iphone project.

One of the obvious reasons being that what I did is simply too radical technically and I don’t want to compromise. Another reason being a fundamental difference in attitude towards developing and managing open and closed source projects.

These questions made me wonder – in particular because there was often a notion associated with these questions: because I do so much with cocos2d-iphone I should somehow be obliged to contribute back to it. Weird, right? I am contributing a lot already, just not code to the repository.

So if I don’t contribute (code), why don’t you? Or generally speaking, why aren’t we all contributing more (code) to open source projects?

I have been using open source software for as long as I can remember doing programming work. Yet I’ve probably contributed no more than a few dozen lines to all projects together. And realizing this it’s easy to see that this is the case for 99.9% of the developers out there.

So why aren’t we contributing more to open source projects? What is stopping us? I’ll give you some probable causes and ideas how to improve it for your own open source project.

Continue reading »

Measuring Game Engine Popularity

On July 25, 2013, in idevblogaday, by Steffen Itterheim

How do you measure the popularity of a game engine and compare it with others?

Reminded of the TIOBE Programming Language Index and the Transparent Programming Language Popularity Index I couldn’t find a comparable site measuring game engine popularity.

So I sat down and concluded that I can do a simple manual test rather quickly. These are the measurements anyone can take easily:

Popularity of Cocos2D Variants

Let’s begin by comparing the popularity of the various Cocos2D variants. The difficulty here lies in properly excluding all the other cocos2d variants. That cocos2d-iphone is commonly referred to as just “cocos2d” makes it difficult to measure just the cocos2d-iphone popularity and to remove that number from all other engine variants.

I tried to overcome this by including or excluding specific tags in Stackoverflow and Gamedev searches:

  • cocos2d-iphone: [cocos2d-iphone] or [cocos2d] -[python] -[java] -[javascript] -[c++] -[html5]
  • cocos2d-x: [cocos2d-x] or [cocos2d] [c++] -[python] -[java] -[javascript] -[html5]
  • cocos2d-android: [cocos2d-android] or [cocos2d] [android] -[cocos2d-x] -[c++] -[python] -[objective-c] -[html5]
  • cocos2d-javascript: [cocos2d-js] or [cocos2d-javascript] or [cocos2d] [javascript]
  • cocos2d (python): [cocos2d-python] or [cocos2d] [python]
  • cocos2d-xna: [cocos2d-xna] or [cocos2d] [xna]
  • cocos2d-html5: [cocos2d-html5]
  • cocos3d: [cocos3d]
  • kobold2d: [kobold2d]
  • cocosbuilder: [cocosbuilder]

Stackoverflow.com tag search results:

Screen Shot 2013-07-25 at 14.48.31

Okay, let’s try that again with cocos2d-iphone removed so the other variants can be compared in relation to each other:

Continue reading »

Cocos2D Developer Survey Results

On November 16, 2012, in idevblogaday, by Steffen Itterheim

For the past two weeks I’ve been running a Cocos2D Developer Survey. As of today, 236 developers started the survey and 189 finished it completely. That’s 80% despite the many questions they had to answer.

Here are the results with my observations. I started the survey also to see if I was on track with KoboldTouch, and whether certain assumptions hold true. Specifically I had a hunch that cross-platform development is only perceived to have great value or appeal. Let’s see if I was right.

Click on each image for full resolution.

Who are you?

I was very curious how many cocos2d developers consider themselves to be hobbyists and indies compared to professionals, who either work for a mobile developer or are taking on freelance jobs as one.

Almost half of those who answered the survey are hobbyists. Nearly 30% consider themselves indies who make a living making mobile games. This is great!

Continue reading »

A Teaser

On February 22, 2011, in Announcements, by Steffen Itterheim

I’m sorry for having been so absent lately. It just so happened that a couple events lead to taking some time off away from my computer, and then I realized how much I actually enjoyed not being at my computer all day long. Respectively how little motivation I had to go back to what I was used to doing because something was off, didn’t feel quite right. So I took some time off away from almost everything computer-ish, and started recreating and pondering.

Eventually I realized I was missing something:

  • a bigger-than-life goal
  • an actual, meaningful, worthwhile project that serves this goal

Once I had this realization, finding the right goal was easy:

The Goal

I want to create something new that will have a lasting impact on how we make games.

Nothing less. I could be more specific but I’m not willing to give that away yet.

The Project

I know exactly what I’m going to have to do but you’ll have to bear with me on the details – I’m just starting. Everything seems to have fallen in place and became so obvious. In fact, I’ve done it many times over in my professional career. What I’m now working on will enable you to make games faster and with fewer technical issues. It will trade performance and complexity for rapid development and ease of use.

I can’t stand it anymore

Quite frankly, I die a little every day I see nothing done to improve the miserable state new and inexperienced game developers face when they are starting out with Cocos2D. I am furious when I see that something as essential as the API reference isn’t even complete, and either no one but me notices or no one cares to mention it. Cocos2D is neglected in areas that I consider to be more important than the source code itself.

Cocos2D will soon support OpenGL ES 2.0 and shaders. That’s fine for some people and great news for a select few who actually know how to leverage the GL ES 2.0 features. However, I know in my heart this will only cause more headaches and frustration for the majority of users because for them more options only means they’re going to face more issues they don’t understand fully, which they can’t solve by themselves. Yet they’ll be tinkering with it because new technical toys are just too damn cool. But in the end it will only keep them from finishing their games. I’m much more concerned with fixing the recurring issues the majority of users are having. And helping them getting their games finished and out there.

I can’t change how Cocos2D is developed and how decisions are made. So I’m starting my own project to change the landscape, to raise the bar and set expectations to a level that satisfies the professional software engineer in me. I’ll stop trying to crack tough coconuts for you, instead I’ll lead you to new and greener pastures where the fruits are hanging low and have much softer shells. Poetically speaking. :)

My project will not be for everyone, but even for the seasoned developers there’s going to be something worthwhile in it. And you won’t have to give up on Cocos2D completely because even I will only slowly transition away from it.

When? What? Where? Etc.

The specifics of this project will be announced in due time. Just like I did with the book I’ll write a weekly, Friday-ish update post about recent developments and revealing new features. Also I will share with you my insights and thought processes and my approach to software development and what I’ve learned.

These posts serve an important purpose: by making public announcements, by writing down my goals and committing to them publicly, and by recording achievements my motivation will remain high, and I will keep enjoying what I’m doing. It also allows me to kick myself in the butt if I have to because I can’t possibly let you down. This will keep me going and will have me striving for nothing but excellence.

In the coming weeks and at least during the initial development phase I will focus almost all of my time on either project development, or recreation away from my computer. I will also try my best to avoid any and all distractions like forums, Twitter, email, unnecessary research, funny videos and generally just wasting time. If the past few weeks were any indication I will be harder to reach and even slower to communicate with. I will not be able to respond to every personal message because I need to focus my attention on the task at hand, or living my life as a crucial counter-weight. I will focus my attention more on speaking to the overall community via my Blog, Twitter and the planned Cocos2D Podcast with Mohammad Azam.

Watch this space for more info, and definitely join my Newsletter and follow me on Twitter.

I would like to preemptively thank you for your outstanding display of collaborative patience!

I’m off to building a better future! :)

Why I chose IP.Board for Cocos2D Central

On January 10, 2011, in support, tools, by Steffen Itterheim

One of my book readers, Jim, asked me an interesting question. Not about the book but about the Cocos2D Central community website that I’ve installed a few weeks ago. I thought the answers to his questions are of interest to others even though it doesn’t exactly fit the Cocos2D theme of this website. Jim was asking:

(1) Why did you choose IP.Board over something like phpbb or vBulletin and (2) after having it for a while, would you recommend it to others?

(1) Why I chose IP.Board

The initial starting point of my search was the fact that bbPress sucks. That’s my professional assessment, believe it or not. Well, no, don’t believe that, it’s actually a quite nice forum if you are already hosting a WordPress website and you want a forum that integrates well and won’t be receiving much traffic. But as I’m sure many can relate, the bbPress forum software doesn’t scale very well.

But more importantly I wanted a forum that is able to factor in popularity and relevance of posts in searches, and searches over all the content (eg. the wiki area) not just posts. One that allows users to subscribe to threads and forums and receive email notifications. One that makes embedding code and media easy using the most common forum syntax bbCode. One that allows to extract the helpful and relevant articles from threads so they don’t become buried in the thread. One that allows attachments and signatures, which users could use to promote their Website, App, Product, themselves and what not. One that integrates well with social networks, one that let’s you like things, tweet posts and allow users to sign up with their existing Twitter, Facebook or OpenID accounts.

The usual candidates

Primary candidates were of course vBulletin and phpBB which I’ve both used in the past. Especially vBulletin was the first one I looked at but then I learned two things: for one it’s a rather expensive one-time payment of $285 for the full publishing suite, and $195 still for only the forum. And then at least two or three users mentioned that their support or the stability of the software recently went south with version 4. That was enough to let me look around for possible alternatives. I can’t say if version 4 is really that bad and the rumors are true, but I haven’t looked back since.

Beginning my search I quickly came across the Forum Software Reviews website. This was initially very helpful to find out about all the various options that exist – and wow, the forum software market is crowded indeed. It was also clear that there was almost no “free” option I could seriously consider. The free forums fell off the grid in two or three categories: they either lacked critical features or they had an impressive feature set but oh boy was it ugly to look at and confusing to use. The third category was when “free” wasn’t really free and there was a strong upsell to the commercial version, respectively on the downside having to rely on voluntary support.

The phpBB software was my second choice in line. Oh yes, it’s free and rather complete but, like I said, I worried about support. I also wasn’t impressed by its look and feel at all. It’s hard to tell but … I don’t know, it simply looks cheap and noisy to me. I would certainly prefer the admittedly clean and noiseless look of bbPress. I then came across FreeForums.org which are offering a polished version of phpBB and they also host it for you for a small fee. But ultimately I was turned off by the fact that it was still phpBB and still ugly, and they are charging for features I don’t feel comfortable paying for. $10 per year for the removal of the Copyright notice in the footer? $5 per month to remove the ads? $30 per year to allow me to use the recovery console? Some features I pay monthly, some every 6 months and the rest yearly? Come on. Give it to me straight. And I want to pay for features I’m getting, not to disable “features” I don’t want and quite honestly, are nothing but a checkbox in their customer database. If that’s the attitude of the company when it comes to selling, how is their attitude towards supporting me going to be? I decided I didn’t want to find out.

IP.Board to the rescue

A few people mentioned IP.Board and even though I skipped it at first, and when I checked it out the first time it didn’t seem like a good fit and more likely to be overkill. Still, after coming back to the website several times, I went ahead and tried it. That’s when all the powerful options dawned on me: what if, instead of adding just a forum and integrating it with the Learn Cocos2D website, what if I made something bigger?

That’s also when the idea for the name “Cocos2D Central” and – being prepared for the future – “GameDev Central” came to be. An external community website that eventually would be the backend for the Learn Cocos2D blog. It made me think about moving everything over to IPS, except for the intro and the blog. I would be able to move my store over to IPS. I liked the IP.Downloads product because managing downloads is “blegh” in WordPress. And generally I could do much, much more to build and grow a community with all the neat social features that are built in.

I quickly decided to start with the Standard 25 plan for $20 per month. It was minimal risk because there’s no minimum duration you sign up for. And I quickly added IP.Content and then upgraded to Plus 40 because I wanted to be able to use IP.Nexus, the eCommerce addon. I’m now paying $35 per month to Invision Power and gladly so. I couldn’t be happier with their Hosted Community offer. I could have bought the products, installing and administering them myself, but that task seemed daunting and if I learned anything: services that are good are worth paying for. My time is better spent coding than managing the server, website and forum.

(2) Would I recommend it?

Definitely a resounding yes!

What really blew me away was the level of support given by Invision Power Services Inc. They are the Zappos of community software! Both on their forum and via tickets, they respond fast and I haven’t seen a post that didn’t receive a reply. They do make you feel welcome and supported.

There were a few minor hickups. Shortly after signing up Cocos2D Central experienced frequent downtimes from 10 to 45 minutes each, sometimes several times a day. I asked them about that and they were quite forthcoming to answer this question: communities are hosted on virtual servers, so several communities share the same hardware. If a community gets hacked or attacked or simply flooded with requests (Slashdot effect or a DOS) they are moving the affected community to a new server. As I understood it they were in the general process of splitting communities based on the nature of their content, so that those communities more likely to be receiving attacks will be hosted on different servers, so that communities with “regular content” won’t be affected. The downtimes still happen but are now much less frequent and shorter.

How do I know? I monitor the website via Pingdom, which alerts me via email when Cocos2D Central goes down and when it comes back online, in 5 minute intervals.

So overall, I can certainly recommend the Invision Power Services. And just so you know, I wrote this post without any affiliation, I don’t receive any money or other benefits from them for writing this. I’m simply a fan and hopefully for a long time I will be a very happy customer too.

Tagged with:  

A couple hours ago I’ve opened Cocos2D Central (http://cocos2d-central.com), a forum / website / soon-to-be-community. Initially intended for readers of my Cocos2D book but generally open to everyone.

To be able to handle all the feedback and questions I receive by email while allowing everyone else to benefit from it, the logical next step was to create a forum. And that’s what Cocos2D Central is right now, a forum. But it will be much more (articles, downloads, blogs, store) because I can, but not without seeing actual demand, so I’m starting with the essentials and take things from there. I dubbed it “Cocos2D Central” because I think that with Cocos2D X and Cocos2D Javascript (Web) there are two relatively new Cocos2D engines which have great potential to become quite popular as well, so why not enable the new website to cover the whole Cocos bunch at once?

Next step: slowly growing a community on Cocos2D Central. For that [[UIFingerPointGestureRecognizer alloc] init] I need you!

Please hop on over and join (it’s really convenient with OpenID, Twitter and Facebook login options), then say hello and post your thoughts. I look forward to meeting you on Cocos2D Central! :)

Tagged with:  
Page 1 of 212