[Updated August 4, 2020]
Right before last Christmas Electronic Arts dropped the price on more than 50 games in the App Store. Instead of $4.99, $5.99 and up, they were all just 99 cents.
The idea was to drive the EA apps to the top of the charts just before Apple froze the list for their Christmas break. Then when people opened their new iPod touches and iPads on Christmas morning, those EA games would be what they first saw on their initial visit to the App Store.
Interesting marketing tactic, but what does that have to do with Solar2D? Does EA use Solar2D? Not that I know of (and I think if they did the devs behind the Solar2D scenes would be trumpeting it to the heavens), but that sale caused me to buy some games I wouldn’t have otherwise purchased…
…and I made a cool discovery.
There’s a game called Cause of Death that I may never have found if it hadn’t been for the sale, and I love it. I’ll admit it’s not for everyone, but if you like reading detective novels or watching detective shows on TV it may be right up your alley.
(Still nothing tying it to Solar2D — I know. I’m getting there.)
The app is kind of a cross between a game and a novel, with some “choose your own adventure” elements mixed in. Let’s look at a few screen shots to see what it’s like:
In a nutshell, you read the mystery and at certain points you have to choose what the detective will do. Or the criminal, because a unique feature of the app is the story switches points of view. Usually you’re playing as one of the detectives, but sometimes you’ll find yourself as one of the supporting characters, the villain, and you’ll even take a turn as a victim who bites the dust.
And here’s where I finally bring this around to Solar2D. As I was playing/reading Cause of Death I realized that Solar2D would be the perfect framework to create that type of game.
There’s nothing in the game that could be considered rocket science:
- No animation other than menus appearing.
- No fancy audio tricks, just background music.
- No multiplayer or networking (other than downloading new episodes on demand).
- No 3D models or fancy artwork.
Even in the scenes where there’s some real action happening, such as a car wreck where the victim has blood dripping from him, the scene shows a “generic street scene” and the text is what gives you the description.
That means from an artwork standpoint it would be (relatively) cheap to create. (I always look for that angle because as an artist I’m a good programmer.)
As far as the coding goes, you need to be able to display text in speech bubbles and flip from one screen to another. You also need to be able to keep track of some internal variables, such as what choices the player (detective) makes throughout the game. Those choices determine which options are available later in the story.
(Sidebar: Actually, you wouldn’t even need to be able to display text — you could actually create every screen in Photoshop — including the text — and just flip from screen to screen. But that would take up far more memory than a single background with multiple text boxes that can be displayed on top of it.)
Like I said, no rocket science involved. However, one thing you would need is a compelling story and if you’re not a “writer” you may think you’re out of luck.
But there are a ton of writers out there looking for freelance work or even a chance to be a part of something in return for a cut of the proceeds. (There are fewer hassles if you can just outsource it, however.)
If you want to team up with someone to try an app like this, I’d recommend looking for a local writer. Even though this could be done remotely, I always find hashing things out easier of you can get together at least some times. (Unless you’re in the middle of a global pandemic, then just find someone anywhere because you won’t be meeting in person anyway.)
No matter how large or small the area you live in, I guarantee there are writers near you who are looking for an opportunity. Do a search online for your area + writers and see what comes up.
Just like the writing, the artwork could be outsourced or you can do it yourself. And there’s nothing stopping you from using a different style for your story/game.
For example, maybe instead of drawn art you’ll use photos. Maybe even black and white photos for a certain look.
Or if you’re a whiz at 3D modeling tools maybe you’ll create your story screens with some depth. Again, the backgrounds don’t animate, so you’d just be using a static shot of a 3D scene.
Maybe your story takes place in an office building. Sneak into the place where you work after hours and take a bunch of pictures that you can match up to your story. Or take a walk on a wooded trail and keep your camera shooting.
Wherever your story happens you may be able to take actual photos and use those. Or, take photos of what you want and pass them off to an artist who can create drawn versions of them. That’s kind of like storyboarding a movie before it’s shot.
While some coding is needed there’s nothing required that would be considered rocket science. In fact, the bulk of your code could consist of code right from Solar2D’s Composer library.
The other big piece you need is a way to store the story pieces themselves. While a flat text file would work fine, I’m a big fan of storing data in databases. And since Solar2D makes working with SQLite databases almost brain dead easy, there’s no reason not to do it that way.
Check out the info for using a database with Solar2D here: https://docs.coronalabs.com/api/library/sqlite3/index.html
In general, when the game starts you’ll load the game data to see which screen you start with, display that screen and then the text that goes on it. And wait for a tap from the user. Then go on to the next screen, etc.
I’m not a big fan of “cloning” games, but doing a game similar to Cause of Death wouldn’t be out of line, in my opinion. That type of game has been around for umpteen years and there are many different examples. What I think is especially cool is that a neat game can be created without needing to be a master programmer. And that’s as much thanks to Solar2D as well as this style of game.
This post originally written February 9, 2011 about Corona SDK which is now called Solar2D — but is still the best way to get started with 2D game development!