I’ve been working on a major feature of Outlaw that will make using storyboard in Corona SDK as easy as it should be.
How easy? You almost shouldn’t have to freakin’ think about it, that’s how easy. 🙂
As I was getting close to pulling the trigger on this new feature for Outlaw I realized that for it to work the way I want, I’d need to make a couple more big changes. And realized that some people who use Outlaw as a (normal) code editor won’t like the new changes.
My first thought was to make the new features optional. Code the old way if you want, or do things in the new style. In fact, you could even mix and match old and new.
The big problem with that? More coding under the hood to make old/new play nicely together and the more lines of code you write, the more bugs you have. Plus, some parts of the new system would need to assume some things have happened in another part of the system and if the person decided to use old-style on that other part, bad things would happen.
In order to make the new features as powerful as possible — while still making it easier than it is now — I’d need to “force” a certain way of working on the code. And some people will hate that.
I get it, and I’m not offended. And because of that I’ve decided Outlaw should NOT get the new features. There are people who depend on that IDE to write their code and I don’t want to mess with that.
Outlaw will continue as-is, with bug fixes and (possibly) minor additions in the future. I say possibly, because most of my focus will be on…
Think of Desperado as Outlaw that’s been taken over by schoolmarms. Schoolmarms with robots who will handle lots of boring stuff behind the scenes.
Here’s a peek at how Desperado handles a storyboard scene:
The variables have their own place, each function has a separate spot (and shows you the parameter types you’re passing in), and the special scene events are each separate code chunks.
You never have to include the storyboard library, that’s done behind the scenes.
You don’t have to swap functions around because something is out of scope, that’s handled behind the scenes.
When you launch the project (or do a device build) Desperado pulls everything together and generates a “normal” Corona SDK Lua file.
A Desperado project won’t have a build.settings or config.lua file. Well, it will auto generate those when the program is launched or built, but when you’re working on your game the options in those files are better handled with checkboxes, lists, etc.
Code doesn’t go away in Desperado, but it’s managed in such a way that you don’t have to think about it as much.
Face it, there’s a lot of housekeeping code in every project you do that in some cases is copy/pasted verbatim. How about we ditch that stuff? Throw it under the hood where you don’t have to see it or think about it (but it’s there if you really do need to dink with it).
A visual editor won’t be included in Desperado (I don’t think). But while creating a game with Corona SDK in Desperado will still require coding, the goal is to have to write fewer lines of code to get the same result.
I believe using Desperado will mean beginners will be able to crank out games faster. I also think the workflow will help make things easier for pro developers, but I expect fewer of those folks to take to Desperado. Mainly because they already have a workflow they’ve created and inertia has a way of winning in a lot of cases.
But the plan is to make it easier for beginners to make a game — and at the same time, give professionals a “different” way to make game dev faster.
Since Desperado is being built on the Outlaw code base, my intention is to have it in beta by January 1, 2014. Less than two months from now. [UPDATE DEC 14, 2013 — I was being a little too ambitious there. I’d forgotten how much time Thanksgiving-Christmas takes up. I’ll have a better timeframe after Jan 1.]
If you want to be notified when it’s available, use the sign up form on the home page of this site to join the Outlaw email list. I’ll announce the availability of the beta version there.
PS – For those of you who have heard me talk about Renegade, this isn’t it. That’s based around a visual editor and I’m not ready to dive into that. But what Desperado does is build most of the pieces that live around that visual piece. Which means once Desperado is out the door there’s just one more step to having a really cool Corona SDK IDE (that’s not a throwback to the 90s).