Check out this new gameplay video from the official YETIPIPI website:
Get the game here. Note: it’s only available in Germany & Austria for now, worldwide release will hopefully be in January.
You can find more details about the game including a technical postmortem in an earlier blog post.
Also for the german speaking crowd (and those who are really quick to learn a new language): Game One posted a video interview with cartoonist Joscha Sauer about the game. Game demo starts at 11:30.
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.
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!
You may have heard about the Appvent Calendar by Blacksmith Games, creators of Floop and Plushed. From that idea emerged the popular Free App A Day website.
I thought, maybe I can take this idea and transform it into something slightly different: the Cocos2D Linkvent Calendar 2010. The idea being that I publish a blog post every day in December 2010 - you know, the month that ends after 24 days in that culminating event that will crash the App Store and end humanity’s existence. Or so I’ve heard. Each blog post will link to your website, blog post, tutorial, product, open source project or whatever else that might be of interest specifically to Cocos2D for iPhone developers, as long as it is “your thing”.
As my blog is closing in on 5,000 visits a week and my Twitter account is followed by over 1,400 hummingbirds and more and more of my book readers will come here and check out the site, I think that would be a nice gift to anyone who is interested in receiving some traffic from me. What you do to deserve a link is up to you. This is your chance to make your blog better known, or even kickstart it. The better and more relevant the content is to Cocos2D developers, the better your chances are that some of this traffic will stick, in form of return visits.
What you can do
Just to give you a few ideas:
- write a postmortem of your game, and your game will surely get a few extra sales as well
- open source your previous game’s source code, and in turn announce your new project
- lower the price of your commercial product on that day
- receive more attention for your technical essay about some aspect(s) of Cocos2D
- write an awesome tutorial, for example about integrating UIKit controls in a Cocos2D project
The only thing that’s important is that the article, website, product, game, etc. is somehow relevant and of interest to Cocos2D developers. So if you “only” have a game made with Cocos2D, you should spice that up by, for example, talking about your development experience or explaining how you solved some tricky aspects of the game’s source code, including examples.
Accepting Offers Now!
I’m accepting offers now and until all 24 slots are filled, while holding a few reserve slots just in case. Please send all link requests by email to linkvent (at) learn-cocos2d.com - you don’t want to spoil the fun by posting it as a comment!
Also, you can reserve a slot by letting me know what you have in mind and are going to do, without actually having to have something to link to right now. You should be able to prepare and publish your content by early to mid December though.
I probably can’t answer all request, but if I do include yours then you’ll get a notice when I’ll publish it. Keep in mind that I will publish posts on midnight Central European Time (CET) (UTC+1), so you may have to factor in time zone differences.
Note: this is all about helping individual developers and products receive the attention they deserve while giving Cocos2D developers some useful information to digest. For that reason, I won’t link to posts on forums, wikis or other aggregating sites, to Apps on iTunes or to a code repository with just some files in it. There ought to be something to read, a little guidance if you will, and it should come from you, and it should be connected to you by putting that up on your blog or website. You can then of course link from your post to wherever you like.
I’m back from Macoun, and it was nice meeting you all! Well, actually since that conference was just a 90 minute ride away, so I wasn’t really gone, except mentally. I spent a lot of time last week to prepare my presentation (in german), and fighting a cold. The subject was a game component system that I wrote on top of cocos2d, to encapsulate most of the cocos2d CCNode stuff and allowing me to focus on writing re-usable gameplay components. The system works but it’s not production tested. Still it’s proven very promising from my initial tests and opens some interesting opportunities, for example the re-use of components is a huge timesaver, and you can totally get rid of any class hierarchy and remain flexible throughout development. Due to writing the book and other things I hadn’t had the time to develop it as much as I wanted to. I’ll release it eventually but for the moment, I have a different focus.
For one, I’m late with the Game Center chapter due to the Macoun conference preparations, an upcoming wedding and an apartment renovation of the soon-to-be-wed as their wedding gift. So I’ll try to cram writing both the Game Center chapter and the final chapter in this week, before turning my attention to updating the Line-Drawing Starterkit and Xcode project. I did not intend to support non-beta versions of cocos2d, but given how long the recent betas last and how many developers actually use the latest beta (probably due to HD support) and how significant the breaking changes are this time, I’m going to update the starterkit and Xcode project with HD support while keeping the old project for those who would rather use the stable 0.99.4 version of cocos2d. Once that’s done, it’ll be mid of October and another project, only partly concerning cocos2d, kicks in full speed. No time to lose.
Speaking of the Starterkit, September went by and I made 10 sales, without advertising it or anything, so those numbers are at the lower end of the “potential sales” spectrum. That’s a sum (over $1,500) that I can live with. Well, actually, that’s a sum that I can live off of. On a related matter, I recently found a page detailling the traffic stats of the cocos2d-iphone.org website. If those stats are correct, the unique visits are over ten times that of my site. Now, frankly speaking, every time I get those little facts and stats from here and there over the past couple months, and then added up the numbers, compared them with mine, applied reasonably pessimistic estimations and caution, I do wonder: why the hell isn’t cocos2d run like a business?
If you ask me, with those traffic stats and a reasonable conversion rate of 0.1% per unique visitor (mine is over 0.2%), one could easily pay 3 people to develop cocos2d, test it, write documentation, moderate the forum, and in general adding more business value. Which in turn grows the business, speeds up the development of the engine, tools and by-products and will make everyone benefit from that. I don’t get it. Because at this point, it’s either going to be that, or a slow decline to a niche product over the next couple years due to the increasingly strong competition from other iOS engines. Especially those that offer cross-platform support, since that’s what contractors are asking for, or even demanding, more and more.
Anyhow, for my part, I decided that now would be a good time to start doing the Indie thing full-time, still accepting contract work but I’m able to be a lot pickier about it. I have a goal set out for myself, and it’s not a simple one. I’ve always enjoyed most to help my colleagues, to fix their problems, to support them and in general, to help them achieve excellence. I know, that sounds like something you’d find in EA’s job matrix - and in fact, you do. Helping others achieve excellence, throughout my professional career, that’s what I’ve been doing and enjoying the most. Now I find myself doing that for cocos2d developers, enjoying it and being able to support myself in the process. Well, I think I’ll have to thank you, my dear readers, for that.
As a thank you back, I’ve started working on a bigger project about 3 months ago that will be useful and helpful to many indie game developers, regardless of the engine you may be using. Hence it deserves its own website and a cool name (darn, that is hard!). I’m looking forward to really getting into high gear with it after I’ve submitted the remaining book chapters. Stay tuned.
Coconut College is a new cocos2d Tutorial website that looks really promising. Right now there seem to be only 3 tutorials online but I really like the writing and the layout (albeit the layout is a bit too wide/big for my taste). Kudos to whoever made it. Don’t forget, you remain elusive until you add a “About me” page. Comments would also be nice. Hint, hint. 😉
I noticed that most of my recent posts revolve around the cocos2d book. It’s so very easy to forget one’s online presence while you’re frantically working on projects. I’ve seen it countless times and I don’t want to fall into the same trap. That is: create, create, create and then: announce. Boom. No one’s interested anymore. Everyone moved on. You lost your share of the Internet attention span. That certainly would be a shame because besides the book, I was working on other things over the past two months and I’m looking forward to making an announcement in the coming months. I think it will strike a similar nerve than the cocos2d book did. But it’s not limited to cocos2d, so it’ll get its own website, that much I can say. And yes, I love to tease.
I think programmers are especially prone to making the mistake of neglecting their online presence, their virtual alter ego that lives on the Internet 24/7. It’s all too easy to become deeply engrossed with what you’re working on, particularly if it’s a very technical thing. Once you’re done you get a burst of satisfaction and then you’re looking for the next fix which of course is spending more time on the project. In the meantime everyone else around you, and on the Internet that means blog readers, are wondering what you’re up to. If it goes on for a while without actually producing something, readers will stop wondering and start not caring anymore.
Numerous times have I read that you need to start marketing as soon as you start creating. At least that’s true for Indie developers. And how many times have I seen people fail at this? All too frequently. Typical scenario: our game is done, now how do we go about the marketing? Your blog should be your marketing instrument from day one. The other negligence for marketing simply stems from a deeply rooted repulsion for promoting one’s efforts and products. I certainly feel that too but I manage to live with it because it helps me strike a balance. I could only make a sales pitch like this one if I was primarily in it for the money (sorry Matt, that’s the impression the site is giving me because it’s too close for comfort to Internet marketer sites).
Most blogs die before they have even started. It’s hard to get readers attention in the first place but I think it’s much harder not to lose them over time. I learned it’s finding the right mixture of blog posts that will create the most interest and attention to readers, a careful balance that one needs to strike. Let me explain the categories of blog posts which I think are valuable but, if not mixed in with other categories, may be too niche to keep readers coming back more often. Unless you explicitly target a tiny niche, in that case a focused approach works quite well.
Concrete Learning Posts
Bloggers who provide sample source code and solutions for a particular platform fall into this category. You write a small tutorial or just a quick fix for a particular technology issue. The good side is that it shows off skill (sometimes) and that you’re being helpful. The downside of these posts is that, especially in the case of Tutorials, they attract a great number of readers but few will stay or come back. Smaller code solutions and quick fixes often get reader’s attention only through google, they copy the code and are gone. The blogosphere is saturated with information everyone needs to learn, because most of us are still learning. What’s often missing are the really hardcore ideas. Take that example and it makes me wonder, could this work to get cocos2d nodes to support NSCoding just by applying this concept? I’d love to try but I don’t have any need for that and it’s on the roadmap anyway.
The problem with the smaller code snippet posts, as I see it, is that they are often only losely related. You may find just the right piece of information but the rest may be too straightforward and already known to you that you don’t give it much value. Posts like these better fit on Q&A sites like stackoverflow.com. Also, before posting those bits of wisdom it may be wise to check if that information isn’t ubiquitious. Chances are someone else came to the same solution months before you. Posting what others have posted numerous times before does devalue your blog. In that case prefer a post that sums up all the other great posts on the topic. That works so much better since you’ll be sharing your own research.
And definitely share your current development status. I love those work-in-progress posts. I’ll be writing more of these in the future.
Concrete Experience Posts
You may be surprised how interesting your (development) life’s experiences can be. About a year ago I started a german Spieleentwicklerveteranen (Game Development Veterans) Podcast, in which I simply told my experiences within the game industry. How games come to be, what life is like as a game developer, why people start working for a games company and which kind of experiences they may be going through, from good to bad. Just a very hands-on, personal opinion approach with a couple anecdotal stories. I only produced two episodes though, mostly due to lack of planning and because it’s not really that much fun to do a podcast without a regular, reliable partner. Yet to this day I frequently get emails asking me for the next podcast.
Readers love to read and hear about experiences for two reasons: either they are less experienced than you are, and get a glimpse at what it must be like to be at your level. Or they actually are at the same level than you are, and they can relate. Suddenly they’re not so alone anymore.
Recently I spoke to a former colleague of mine who set out to write his own game, I think he has all the necessary skills and he certainly had the motivation and drive to go through with it. But as time passes by, and he kept working all by himself and more often than he wanted to, faced serious technological challenges that hindered his game’s progress. Not being able to actually talk to like-minded people and getting tips from a range of professions, as we were both used to during our time at game development studios, can be a serious motivation killer. And you guessed it, he has no blog and not even a Twitter account.
For me, one thing to fight off incoming demotivational phases is to converse with the people out there and blog my experiences, at least once in a while. I like helping others answer their question because I know how it sucks to be stuck, I also learn valuable lessons from it and I feel good to be able to help or at least nudge developers in the right direction. It also leads me to think in different directions and helps connecting the dots, so that’s where the interesting experience stories are actually born. Wait a second, I was in the exact same spot back then …
I believe experiences, if they provide a meaningful resolution are the most valuable blog posts anyone could write. But those don’t come natural to most developers (or people in general - but I’m not saying that developers != people). So that’s a conundrum. We programmers love the DRY principle (if you don’t you’re not a programmer yet), but that doesn’t translate to blogging and even less to marketing. Like my Starterkit, I know I should mention it more often to make a decent number of sales over the coming months yet the programmer in me tells me that, oh well, those who’ll like it will find it regardless. Trust me, they don’t. I am tempted to mention it more often, at least on Twitter, and maybe give away some promo codes or get someone to write a review. But what to say about it? Look, it’s here. The same thing from last week. Oh great. Yeah, I think you get the picture. It’s really hard to REPEAT YOURSELF without becoming obnoxious. We all know the kind. Personally, I don’t follow Twitter accounts whose tweets mention their own product(s) about 50% of the time or more, unless they provide interesting insights into their work.
Ramblings aka Opinion Pieces
Everyone loves to have an opinion. It’s very easy, tempting and almost natural to start blogging with a lot of opinion pieces. I started in 2007 with my gaminghorror.net blog and almost all early posts were opinion pieces. I think that, unless you know exactly what you’re talking about and can construct a careful argument, that those kind of posts can easily backfire. Either you’re an expert and a critical thinker and you are able to dissect your thoughts into constructive opinion, or else you risk being regarded as a loudmouthed idiot who doesn’t know squat. There’s a fine line to walk. Certainly no one cares about whether you like a certain product or technology more than another, or yet another opinion on the same issue unless you can provide a new, fresh argument. But if you have an actual pet-peeve, something that comes from your heart and that just totally goes against everything you believe in, that’s what should become a great insightful blog post.
For example, one of my pet peeves is to fight off the Piracy Problem by saying it doesn’t really exist. Except in our minds. We don’t have a piracy problem, we have a perception problem. We just make ourselves believe that most of the time piracy is bad for business. There is a real threat but it has a much less impact than the piracy numbers lead us to believe once you factor in human behavior. For App developers it’s widely understood and appreciated that, once their App is free for a day, the downloads jump through the roof. Ten or even 100 times more downloads for free than at the $.79 price point. Yet when we consider piracy, we see great numbers exactly because the software is free yet we forget to consider that, if any pirated software would cost just $.79 the piracy numbers would drop at least ten-fold. I can’t prove it, but I sure as hell believe it because that’s how software piracy works. It’s not a market, it’s a movement that exists only because there is no money involved, set aside a few scrupulous industrial pirates.
Paul Graham puts it best in his essay What you can’t say. It’s the things that might (or will) get you in trouble which perhaps should, or must, be said. The ideas that people fear might be true. Like Galileo’s moving earth theory. Ridiculous, isn’t it?
Conclusion
So what am I saying, I forgot to market myself? Not quite, I’d rather see it as an invitation. By writing more blog posts and allowing anyone who is interested to literally “read my mind” I invite you to take part. And dozens of developers have taken this offer so far.
I get a lot of emails and I answer all of them, even if it takes me a couple days to get to each and every one of them. There are valuable exchanges of information and knowledge and some of that would be of a general interest. But because I spend the time writing to a single person I tend to write less blog posts to a greater audience. I make observations and find solutions all the time and learn from them. Some of that actually goes into the book as I’m writing it. But what I should do more is to let everyone in on more of my insights or simply what I’m up to.
When I look at this website from an outsider’s point of view, I see too much focus on the book right now. A few valuable posts in between but not enough for my taste. I have a tendency that, once I start writing, I write a lot. This is bad because it costs a lot of time and effort. So I avoid it too often. Yet, often times it’s the tiny pieces that can be just as important. Because your time is valuable, too!
Going forward I vouch to write at least one blog post per week that’s not about the cocos2d book, and may not even be about cocos2d specifically, like this post, but still generally interesting to iOS game developers of course.
I also need to write shorter posts. The sun is setting … again?!?! 😮