The History and Future of Video Game Distribution

On December 29, 2011, in idevblogaday, Technology, by Steffen Itterheim

It seems like a no-brainer to most computer-affiniados and gamers: eventually, all video games will be distributed online. The question is only, when?

To retailers this seems to be a whole different story. Most of them are in denial, as I can tell from occasionally reading retail game publishing magazines. They’ll be in for quite the surprise in about 10 years, when it will be obvious even to the blind-folded that boxed retail games will soon be a thing of the past. Alongside Blu-ray movies. It is inevitable, as video games and movies alike are moving towards their most natural distribution media format: instant digital home delivery.

Not only will this reduce inventory risks for publishers, it also cuts out the retail middle-man, allowing direct to consumer sales with full control over pricing and availability. With all the advantages of tracking each user’s usage and profile information for marketing purposes. At the same time conveniently disallowing or at least automating the consumer’s rights to re-sell or lend digital products or issue refunds. Neither Floppy Disks nor Optical Media have offered such compelling advantages to media producers.

But first, let’s consult the history of video game distribution before analyzing what it can tell us about the future. One thing I can say with conviction in advance: retail stores selling physical games and movies will be as commonplace in the 2030s as are Vinyl record stores today.

Continue reading »

Cocos2D Podcast Introduction online!

On April 4, 2011, in book, cocos2d, podcast, by Steffen Itterheim

The first Cocos2D Podcast with Mohammad Azam (@azamsharp) from HighOnCoding.com and me is now online. Refer to the Cocos2D Podcast website for show notes and web links.

Listen to the Cocos2D Podcast (36 minutes).

And here’s the iTunes link for the Cocos2D Podcast.

Addendums

… to be laid off is kind of cool.

No, that’s not a freudian slip but not the whole story either. 😀

As the layoffs hit EA Phenomic and it was disclosed to us that we’ll never be working on 3D games for PC and consoles anymore, and instead we’ll be focusing on making webgames, you’d be either in the position where you would have to be laid off (eg 3D Artists) - which admittedly wasn’t “cool”. But if you were in a position like me where you could expect to stay with the company, but you simply had no interest in making webgames, you could volunteer to be put on the layoff list. The “cool” thing about that is that you wouldn’t have to quit, which makes a big difference in terms of compensation and treatment you reveice from the company as well as getting state support for unemployment. And you could save someone else’s job who actually wanted to stay with the company. So that was just a nice way to handle an otherwise difficult situation.

Also, as far as I know almost everyone who was laid off quickly got a new job or started new careers as freelancers. Some even moved abroad to the UK and Canada to work for Ubisoft. Most went on to work for Crytek and Blue Byte. And even those who I expected were going to have a hard time getting a new job in the game industry, mostly due to lack of experience and achievements, found new employment in other game studios small and big. I find this noteworthy because whenever situations like EA Spouse, the Red Dead Redemption crunch or the layoffs and shutdowns in 2008/2009, there’s going to be a huge amount of worry expressed by employees that they don’t want to be fired because there’s no one else hiring. This couldn’t be further from the truth!

The game industry was and still is an industry where it is ridiculously easy to get a job - even with little qualification and experience - but at the same time notorious for those who “made it” to sustain the worst working conditions. This probably goes hand in hand. I know that those who landed their first game development job were very eager to keep it (me included), and they know or (even worse) suspect that there are likely better hires out there than oneself. Which in fact is sometimes reinforced by management, but my experiences trying to hire qualified staff tells a different story: it’s really, really hard to find qualified game developers which is why it’s so easy to get in because you often have no other choice but to hire from those who applied, not necessarily from those you wish would have applied. So game developers maybe trying to prove themselves harder and are more concerned about their job safety than they need to be.

Celsius / Fahrenheit

Turns out I wasn’t too far off with my guess: 25 ºC = 77 ºF

Not as hot as Texas of course, but relatively speaking a hot day for spring in germany.

Stressful

At one point I mentioned that the popularity I gained from writing the Learn Cocos2D book, plus the websites I run, can be “stressful”. I’m referring to the obligation and personal responsibility that I feel towards people seeking my help. One of the strongest negative feelings I have is looking at all those requests, knowing I can’t help all of them, and not knowing where to start answering. I don’t even have a good way to measure who needs my help the most.

Some of the questions are easy to answer, but that also means they are already answered if you go look around (google is your friend). Other questions are challenging, and I like that because they pick my brain, but answering those would require at least an hour or more of research and would seriously cut into the time I need for other tasks. And a third class of question is simply those I can’t answer, or at least not by email. That’s either because I lack the knowledge and experience on the subject matter (for example, I barely have any Cocoa Touch programming experience yet), or because it requires a fair amount of understanding of project-specific details, including design goals and the actual source code. Then there’s countless of job inquiries which as a professional I feel I should at least politely decline but even that is eating up quite a bit of time.

I feel a certain responsibility to answer everyone’s inquiries, be it about a specific programming problem or seeking someone to hire in order to get their game project done, which is why it’s so hard for me not to do it. And that in turn causes stress, or anxiety. But as I started receiving more and more of these requests I was lagging behind answering them, up to the point where I had to purposefully ignore most of the requests. I needed to face reality and cut down on the total time I spend communicating while still getting the essential tasks done (client work or the projects I set myself out to do). Though necessary to ignore most requests, to me it still doesn’t feel right, or fair, especially after I promised to be responsive. This is what creates the stress I was referring to. It’s something I have to come to terms with and I can only apologize for it.

I decided to alleviate that situation by monitoring all of these requests and figure out what the most pressing issues are, and then focus on fixing what I call the “big picture issues”, be it by programming or documenting. Kobold2D is one such effort to fix the ongoing issue of getting to work with Cocos2D (template installation, project configuration, setting up libraries). The Xcode 4 Template Documentation is my attempt to fix the information void about Xcode 4 templates, especially since every bit of information about Xcode 3 Templates is null and void due to the significant format changes.

Book Update

The contract is signed, this summer an updated version of the Learn Cocos2D book will be published. It will likely be titled “Learn iPhone 5 and iPad 2 Cocos2D Game Development” and change all the source code to be compatible with v1.0 of Cocos2D. There will also be two new chapters which will be revealed at a later time. And I’ll fix the erratas that have been reported thus far.

One of the things I want to fix is that working entirely from the book will not cause compile errors anymore, this specifically means adding some more source code to chapters 3 and 4 I believe, where I’ve omitted a few lines of code in the first edition. The Game Center chapter will be improved to include the data send/receive example. There will certainly be a couple more changes in regards to iOS 5 (if available at the time) and new devices like iPad 2 and iPhone 5 obviously, and miscellaneous changes here and there.

As usual I’ll keep you posted on the progress.

Marketing for Indies: an excessively long Link List

On October 22, 2010, in Marketing, Mobile Business, by Steffen Itterheim

I’ve been asked to write something about Marketing & PR a lot of times and repeatedly. It seems to be a topic that’s often sought after and mostly misunderstood.

Sometimes, it’s deceivingly complex, as in “How to get my App featured by Apple on the App Store?”. Who the f*ck knows? If you do, be sure to tell everyone about it!

But when you dig deeper, you learn more about the whole “process” and things become a little clearer. I hear you can get lucky if you know the right people at Apple’s PR or App Store department. At least that’s what I was told personally by someone who does PR and knows someone at Apple personally. Ok, not an option for most of us. I also hear that Apple scans certain websites when looking for App Store features, and for games the #1 site to get reviewed by which in turn might lead to an Apple feature is touchArcade. What else, right?

But getting a review on touchArcade is a different matter altogether. From game industry experience, I can tell one thing that almost guarantees to get your game reviewed/featured: it should be looking awesome! And not just the game, you need a trailer that packs a punch or two, one that’s hilarious or one that’s simply exciting and really wets your appetite. Not easy to do, but well worth the money if you can outsource it to someone who knows how to do it well. And if your game doesn’t have the looks, or can’t have them, it must be uniquely interesting. Combine the two, and you got yourself a winner. That ought to be easy, right?

Well, yes and no. If you know what you’re doing, it can be easy. And it certainly feels easy in such a case. After all, all the work to set yourself up for success has already been done. But if you don’t happen to be working with world-class artists, programmers, designers - what do you do? You can pour everything you have in being creatively unique. To my mind, that’s one of the reasons why the Indie space has become so successful. It’s not just that being unique and innovative is what the developers want their games to be, it’s actually helping them a lot to get coverage in the first place - it’s even a necessity, and a way to success!

The excessively long Marketing Link List

But back on topic, I actually just wanted to share a link list with you. It’s called:

The Big List Of Indie Marketing And Business Tips

Here’s the index … as you can see, it contains a lot more than just links about marketing alone:

  1. Marketing
  2. Press Release Sites
  3. Business
  4. Piracy
  5. Interviews
  6. Game Revenue And Sales
  7. Advertising
  8. E-Mail Marketing
  9. Jobs
  10. Indie Funding
  11. Merchandise
  12. E-Commerce Payment Processors

And one link you should not miss: a free eBook about Videogame Marketing & PR!

Tagged with:  

A marketing oversight on my part …

On August 26, 2010, in Marketing, Speaking From Experience, by Steffen Itterheim

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?!?! 😮

About

On April 17, 2010, in , by Steffen Itterheim

Steffen in bullet points:

The long story, shortened a bit …

At the beginning, I was merely a Cocos2D developer just starting out with this fine game engine. I started working with Cocos2D in May 2009. Despite many years of game development experience, I struggled many times over - there was so much to learn and specifically for Cocos2D there wasn’t much documentation to go on.

Learn & Master Cocos2D Blog

A year later, I was well aware that besides growing in popularity, the basic issues of getting started with Cocos2D essentially stayed the same. Consequently, beginner’s tutorials got rampant visits from aspiring Cocos2D game developers. So I decided to start this Learn & Master Cocos2D website and blog to help you get started and answer pressing questions while trying to earn a living selling source code products like the Line-Drawing Game Starterkit.

Learn iPhone and iPad Cocos2D Game Development Book

Within hours of going live with this website in early May 2010, I was contacted by Jack Nutting, author of Learn Cocoa on the Mac. He got me in contact with Apress and a short but intense proposal period for a Cocos2D book followed. Then I blogged about the book’s progress every week. What followed were five months of writing and learning more about Cocos2D and writing books than I ever imagined. The book was finally completed and released in December 2010: Learn iPhone and iPad Cocos2D Game Development: The Leading Framework for Building 2D Graphical and Interactive Applications.

Cocos2D Central

During the time I wrote the book, this website had to take a backseat, so I did not grow the tutorials and other content as I had initially planned. With the book finished, I knew I was going to do lots of Q&A and it should be done publicly, so that everyone can benefit from it. The result is the Cocos2D Central forum and community website.

Kobold2D: Cocos2D on Steroids

Another result from my extensive work with Cocos2D is Kobold2D. It is designed to make Cocos2D developers more productive and making it easier to get started. I use it for all of my own work.

Kobold2D originated from the idea to build a consistent framework for all of my Cocos2D projects, instead of inadvertently dispersing the reusable code over multiple projects. If you’re serious with Cocos2D development or just getting started you should really check out Kobold2D.

My Leitmotif

I have always been a nutcracker and firefighter in my previous game industry jobs. I have always been sitting between chairs, as I did not fit a proper, established job description. I’m a jack of many trades, master of some. I program, I design, I write, I market, I sell, I help, I teach, I moderate, I network and I do what I think needs to be done. But most of all, I’ve always been helping other developers - that was always present in every job I did, and when I worked with the right people, those were the best times I ever had. Give me a problem and (most of the time) I’ll want to solve it. I’m happy when I can help others grow and excel. That’s my leitmotif, that’s what I’m doing now for Cocos2D developers.