Remote Game Editing

Remote Game Editing

I’ve long been a fan of minimal game runtimes. Anything that can be done offline or in a separate tool, should be out of the runtime. That leaves the game architecture and code very lean and simple. One of the things you potentially give up by keeping the game runtime to a minimum is an editor built in the game itself. But that’s one of those things that sounds a lot better than it really is. From a technical point of view, having an editor in the game usually complicates the code a huge amount. All of a sudden you need to deal with objects being created and destroyed randomly (instead of through clearly defined events in the game), and you have to deal with all sorts of crazy inputs and configurations. ...

July 22, 2010 · 10 min · Noel Llopis
Nitty Gritty Unit Testing

Nitty Gritty Unit Testing

It’s one thing to see someone drive a car and have a theoretical understanding of what the pedals do and how to change gears. It’s is a completely different thing to be able to drive a car safely on the street. There are some activities that require many small details and some hands-on experience to be able to execute them successfully. The good news is that unit testing is a lot simpler than driving a standard shift, but there are a lot of small details you need to get right to do it successfully. Even after reading about unit testing and being convinced of its benefits, programmers are often not sure how to get started. This month’s column is not going to try to convince you of the many benefits of unit testing (I hope you are already convinced), but rather, describe some very concrete tips to help you get started right away. ...

July 18, 2010 · 13 min · Noel Llopis
The Const Nazi

The Const Nazi

Anybody who worked with me or saw any of my code, would know right away why they call me the Const Nazi. That’s because in my coding style, I make use of the keyword const everywhere. But instead of going on about how const is so great, I’m going to let Hitler tell us how he really feels about it. No Flash? Try the QuickTime video version. Let me get one thing out of the way to stop all the trigger-happy, const-bashing, would-be-commenters: const doesn’t make any guarantees that values don’t change. ...

July 15, 2010 · 5 min · Noel Llopis
The Power of Free (aka The Numbers Post #3)

The Power of Free (aka The Numbers Post #3)

It has been two months since the last “numbers post”. It covered the Valentine’s Day promotion, spike in sales, and subsequent settling out at a very nice level. Here’s a recap of what things looked like at the beginning of May (revenue was about $1500 per week): The Plan Mother’s Day happens at the beginning of May (in the US and Canada anyway, I’m afraid I was too busy in April and I missed Mother’s Day in a lot of European countries). I figured it would be the perfect time to do another push. ...

July 8, 2010 · 8 min · Noel Llopis
When Is It OK Not To TDD?

When Is It OK Not To TDD?

The basic principles of Test-Driven Development (TDD) are very simple and easy to understand. Every programmer quickly grasps those and is able to apply them to simple cases and low level libraries (math libraries seem to be everybody’s favorite TDD proving ground [1]). What becomes significantly more difficult is learning to effectively apply TDD to code with more dependencies. A question that I’m often asked from people trying to use TDD for the first time is “How can you possibly use TDD for high-level game code? It’s impossible!”. ...

July 1, 2010 · 7 min · Noel Llopis
Paying Off: The Story Behind Unearthed

Paying Off: The Story Behind Unearthed

Today I have the pleasure to introduce the first-ever guest post in Games From Within, Joey Chang. Like me, Joey worked for many years in the game industry, and finally took the plunge last October to become an independent game developer. Unearthed is his first iPhone project and it’s a very unique free to play, augmented reality (AR) game with an X-Files-like theme. Joey was kind enough to share the story behind Unearthed, some of the decisions leading up to the final game, and the initial reception and sales numbers. Thanks Joey! ...

June 30, 2010 · 8 min · Noel Llopis
Managing Data Relationships

Managing Data Relationships

_I’ve been meaning to put up the rest of the Inner Product columns I wrote for Game Developer Magazine, but I wasn’t finding the time. With all the recent discussion on data-oriented design, I figured it was time to dust some of them off. This was one of the first columns I wrote. At first glance it might seem a completely introductory topic, not worth spending that much time on it. After all, all experience programmers know about pointers and indices, right? True, but I don’t think all programmers really take the time to think about the advantages and disadvantages of each approach, and how it affects architecture decisions, data organization, and memory traversal. ...

June 27, 2010 · 13 min · Noel Llopis
The Always-Evolving Coding Style

The Always-Evolving Coding Style

This is my first entry into #iDevBlogADay. It all started very innocently with a suggestion from Miguel, but the ball got rolling pretty quickly. The idea is to have one independent iPhone game developer write a blog entry each day of the week. At first we thought we would be hard-pressed to get 7 developers, but it’s starting to seem we might have multiples per day! Check out the new sidebar with all the #iDevBlogADay blogs. We’re also putting together a common RSS feed if you want to subscribe to that instead. ...

June 25, 2010 · 8 min · Noel Llopis
Increase Your App Ratings On The App Store

Increase Your App Ratings On The App Store

Every iPhone developer fears the one-star-on-uninstall rating. I understand Apple’s reasoning for adding the prompt for rating on uninstall, but since that’s the only time users are prompted, it becomes a very biased, negative rating. There may be hundreds of users happy with your app who never rate it on iTunes, but everybody who uninstalls it gets asked to give it a review. That’s quite unfair from the developer point of view. ...

June 14, 2010 · 6 min · Noel Llopis
Flower Garden Selected As An Apple Staff Favorite Across Europe

Flower Garden Selected As An Apple Staff Favorite Across Europe

Right on the heels of the Mother’s Day promotion, Flower Garden just got its second ever App Store feature. This time it was selected as a Staff Favorite across most of Europe (UK, Spain, Ireland, Denmark, Finland, Greece, Netherlands, Norway, Portugal, Switzerland, and Sweden!). And if you haven’t picked up your free copy of Flower Garden, make sure to do it now. It will probably go back to full price after this weekend. ...

May 14, 2010 · 1 min · Noel Llopis
Making A Living (Comfortably) On The App Store (aka The Numbers Post #2)

Making A Living (Comfortably) On The App Store (aka The Numbers Post #2)

A few months ago, I wrote a post analyzing how Flower Garden had done since it was released. It was a story with lots of ups and downs, tales of trials and failure, but ending on a positive, optimistic note. It went on to become one of the most read posts in this blog, and the comments were all very encouraging. Clearly, people, and especially other developers, are hungry for this kind of data. ...

May 14, 2010 · 5 min · Noel Llopis
Going The iPad Way: All You Wanted to Know About Creating Universal Apps

Going The iPad Way: All You Wanted to Know About Creating Universal Apps

It’s one thing to go on record saying I wouldn’t be creating an iPad-specific version of Flower Garden, and another seeing the iPhone version running on an iPad with all the ugly jaggies and huge, pixelated text. So when it came time to do a new update, I decided to at least take advantage of the iPad capabilities to make the existing app prettier by making Flower Garden into a universal app. It’s now available on the App Store, so go get it and check it out! ...

May 10, 2010 · 10 min · Noel Llopis
Flower Garden Is Free This Weekend To Celebrate Mother's Day!

Flower Garden Is Free This Weekend To Celebrate Mother's Day!

Since this Sunday is Mother’s Day (in the US at least), I’m making Flower Garden FREE for the weekend. Yes, that’s right, completely free! Am I going crazy? Giving away the fruit of my labor for so many months? The App Store will do that to people, but this is a bit more sane. The idea is to encourage many more people to try it out. I’m actually hoping some of them will like it so much, they’ll buy a few of the in-app purchases from the Flower Shop. And even if they don’t, hopefully they’ll spread the (good) word about Flower Garden and they might also sign up for the mailing list. And in this business, expanding your user base is a great strategy that can be leveraged for future projects. ...

May 8, 2010 · 2 min · Noel Llopis
Dr. Seuss Lorax Garden Up The Charts

Dr. Seuss Lorax Garden Up The Charts

If you follow this blog regularly you’ve probably noticed that there’s been a kind of blackout period. I hardly posted during the last couple of months. What happened? Lorax Garden is what happened. In late February I agreed to collaborate with Oceanhouse Media on a game project. They had the Dr. Seuss license and I had the flowers. Perfect match for a Lorax-themed game! And so the Lorax Garden was born. I was originally hoping to write some entries here on the progress of the game as I worked on it, but I quickly realized that I wouldn’t have any spare time for anything other than the project. We wanted to have the Lorax Garden (and the Lorax book app) on the App Store by Earth Day (April 20th), so that left us with a very aggressive 5-week schedule (and GDC somewhere in the middle!). Fortunately, we managed to hit our deadline, and you can see the results today by yourself by downloading it from the App Store. ...

May 2, 2010 · 2 min · Noel Llopis
OpenGL And UIKit Demo

OpenGL And UIKit Demo

This coming Monday I’ll be giving a presentation at 360iDev titled “All You Wanted To Know About Mixing OpenGL with UIKit (And More)”. It’s an extended version of my talk at this year’s GDC iPhone Summit. It’s going to be 1h 20min long instead of just half an hour. The main difference is that I’m going to go in detail about each of the different cases of mixing OpenGL and UIKit, and what better way to do that than with a live demo. I’ll be switching back and forth between Keynote and XCode and going over the details, which is where a lot of the tricky parts are. ...

April 10, 2010 · 2 min · Noel Llopis