So you want to be a game developer. It's not an easy road to travel: You'll generally spend years mastering programming languages, assembling teams of like-minded souls to help create art and sounds for your opus, and work with expensive tools under dwindling budgets to see your dream come to fruition. Or so I've readCoI'm a writer by trade, my developer chops limited to cranking out the occasional Geocities-worthy web atrocity. In short, I'm a perfect guinea pig for testing out game development tools aimed at doing away with programming altogether.
GameSalad and Scirra's Construct 2 are two rather different tools with the same aim: drag-and-drop game development. They've been kicking around for years, promising amateurs the ability to create games for the web and mobile devices without needing to pore over dense programming tomes. Both apps boast an active community of users and have seen many of their wares creep into Apple's App Store and Google's Play Store. And they're also free to try. Developers don't get much more amateur than me, so armed with a copy of Photoshop (though Microsoft Paint would've probably sufficed) and plenty of ideas, I got to work.
I knew I wanted to start with something simple. After wading through tutorials, cranking out countless prototypes, and ultimately coming to terms with my woefully inadequate art skills, I settled on a shoot-'em-up I've dubbed Survival Rocket (working title). The premise is simple. Your rocket is exploring space, ferrying scientists who need food and water to survive. The ship's power core generates energy which can be converted into food (through science, I guess), but you'll need to acquire water by shooting ice asteroids. But danger abounds! Rocky asteroids are hurtling through space and threaten your vessel, though you can spend some of your ship's energy to repair the damage (also through science). The goal is to juggle keeping your colonists fed and watered, keeping your ship repaired, and surviving for as long as possible.
So it's not exactly Mass Effect, and it's likely not fun in the traditional sense to anyone else. I dreamed up most of the rules to see how complicated I could make things in free drag-and-drop game design tools without being overwhelmed, and I'll admit I'm pleasantly surprised with (and I dare say, a bit proud of) the results.
These tools are designed to make the arcane art of game development accessible to the masses, so they've got to be user-friendly and approachable. They both do a decent job, embracing a drag-and-drop approach to the craft that is invitingly simple, but which offers enough depth for plenty of complex ideas to take shape.
Getting Around: Construct 2
Construct 2's interface is split into tabs: The layout tabs host preview windows of your game, and the event sheets host all the commands. Layers sit on the right side of the screen and function much like they do in your image editor of choice, breaking up your game's layout into separate chunks. All of the objects you've imported into your game sit right below it; they're imported by tapping on the main window, or dragging and dropping images from anywhere on your PC into the app. The left side of the screen hosts a Properties window that lists details on all of the objects and layers you're working with. You can also drag the elements into whatever positions you find best, but I found the default layout worked just fineCoit's satisfyingly reminiscent of Photoshop, and if you've spent some time tinkering in the popular image editor you'll be right at home.
Creating a Construct 2 game consists of assigning behaviors to the assets you've created and imported into the tool. The app is equipped with a number of predefined behaviors modeled after traditional gaming scenarios to help you get started. My inexperience is showing, but these behaviors feel like a stroke of genius: I was experimenting with control schemes within seconds of firing up the app. Assigning the "bullet" behavior, for example, caused the rocket to fire off at a set speed, or accelerate and decelerate when I held and released the spacebar. That proved a little unwieldy. Selecting the "8-direction" behavior will give an object freedom to move in all of the cardinal directions and on diagonals. It feels traditional, but the high maneuverability felt a bit unrealisticCothis is supposed to be a spaceship, after all. I settled on the car behavior, which implements steering, acceleration, and deceleration, and added a modicum of challenge to dodging flying boulders and scooping up resources.
If you'd like to fine tune things further, the custom movement behavior will let you dream up your own control schemesCofrom assigning different levels of acceleration based on key presses or events to creating faux joysticks right in your game and controlling objects with them. You can also add any input methods you'd like, including touchscreens and gamepads. Testing your work is also simpleCojust hit the Play button on the menu bar, or hit F5. If you'd like to preview over Wi-Fi to test your app on a mobile device, you can dive into Construct 2's settings and input your PC's IP address, then point your device's browser in the right direction.
The Event sheets are the heart of the Construct 2 development process. It's essentially an image-driven logic table: If condition X is met, do Y. Double-click on the sheet (or click "add event") and a dialog window will pop up with images of all the objects you've added to the game. Just pick one, select a condition, and then add a result. These can be simple: When laser collides with asteroid, destroy asteroid. Or they can be complex: When asteroid is created, set angle toward the player's coordinates with a speed of 100 pixels per second. That complexity is key, as you can seemingly create whatever your mind desiresComore so if you're equipped with some rudimentary programming knowledge and are handy with calculus.
Most importantly, to my untrained eye it all makes sense. My event sheets always flowed logically (in part because I designed them that way), which makes understanding why things work (and why they don't) decidedly less painful. That freedom is refreshing, and arguably the reason apps like this exist in the first place: In my time dabbling with programming languages and HTML, I've never been able to understand a chunk of code quite as easily as I can the list of commands Construct 2 serves up.
Getting Around: GameSalad
While Construct 2 brings Photoshop to mind, GameSalad is vaguely reminiscent of iMovie or Final Cut Pro, and behaves like nothing I've ever used before. Which isn't to say it's unintuitiveCoonce I'd puzzled out the app's byzantine collection of tabs, scrolling windows, and nested dialog boxes I found it to be a decidedly fluid experience.
GameSalad shares much of the same general ideas as Construct 2. The app's objects are called actors, and are imported in the same drag-and-drop fashion. In the default layout, the inspector window on the left side of the screen hosts all of the information you'll need: You can modify an actor's behaviors, adjust your scene's size, or tweak layers as you see fit. When you start a new project in GameSalad, you have the option of choosing what device you're developing for. This is solely used for determining your layout's initial dimensions and can be changed at any time, but I loved having a solid idea of my workspace.
The bulk of the interface is taken up by the Scene, which is where all of the action takes place. Drop objects onto it and drag them into place, and it's a facsimile of the device you chose. GameSalad adds the concept of the camera, or window in which all of the game's action takes place. Construct 2 handles this by letting you define the size of a scene's layout, but I found controlling the camera and its behavior to be quite a bit more intuitive.
GameSalad's take on behavior-planning for actors was decidedly less appealing than Construct 2's solution. It's all in the presentation: While revolving around the same logic table concept (if X, then Y), GameSalad's rules system relies on a series of collapsible dialog boxes. It's ostensibly cleaner and more informative, with drop-down menus driving most of the actionCothough there are expression editors if you'd like to get technical. It's simply less elegant than Construct 2's event sheets. Instead of seeing a list of icons and actions and piecing the events together at a glance, I've got to rely on parsing through text and doing a whole lot of scrolling.
The lack of preset behaviors also proved a bit frustrating. Getting my rocket ship moving about in Construct 2 was as simple as selecting a behavior that fits my needs. In GameSalad, every action needs to be configured manually: Making my rocket move meant creating a rule that caused it to accelerate in every direction. I also needed to have an image to represent every change in direction. I'd fortunately already created all of those assets while experimenting with control schemes earlier, but Construct 2's behaviors will elegantly change an object's orientation for you, eliminating much of the extra work.
Previewing your work in process is at once simple and far more complex with GameSalad. You can hit the preview button on the main interface window and play your game right on your PC or Mac. If you'd like to test it on an iOS device, you'll need to have a paid membership to the Apple Developer's program and install the GameSalad viewer tool. To preview on an Android device, you'll need to install and configure the Android SDK on your PC. That's quite a few hoops to jump through if you'd just like to take a peek at how your game will handle in the real world, but probably worth the effort once you're serious about getting a pet project off the ground.
Of note: Before you can even download GameSalad, you'll need to register for a free account. When you run the application, you're encouraged to sign in to ease the process of publishing your work to the GameSalad arcade, or take advantage of your Pro subscription (if you pony up the $299 a year). When working with GameSalad I bounced between my Mac and my PC (the beauty of cross-platform compatibility) and rarely remembered to sign in, but as I wasn't publishing anything or using a Professional license, I never felt the need to.
Would You Like to Know More?
Tutorials are the lifeblood of many amateur endeavors, and both Construct 2 and GameSalad go to great lengths to help fledgling game developers get their feet wet.
Both apps offer web sites and tutorials to get you started, but Construct 2's disjointed presentation leaves much to be desired. The "manual" is more like a dictionary than a proper guide, with entries on most of the app's tools laid out in reverse chronological order from the date they were created. You'll essentially need to know what specific function you're looking for (or having trouble with) before you get there. The tutorials suffer from the same lack of disorganization, but are decidedly more useful: The app's developers and users have provided detailed guides explaining how core functions work, and offer step-by-step instructions on developing complete games, often including assets.
I've always appreciated the learn-by-doing approach, and step-by-step guides to creating a basic platformer or 'shoot-em-up go a long way toward helping neophytes really learn the tools they're working with. The app also includes a lot of example projects, so you can inspect the layouts and codes of games similar to whatever designs you had in mind.
The Construct 2 forum community is at once a blessing and a curseCoand I mean that in the best possible way. When experimenting with control schemes for my prototype, I followed some suggestions from one post and developed a rather convoluted control method (from a development perspective) to implement basic mouse-driven navigation, only to peek into Scirra's official examplesCoprovided with the appCoto find a much more elegant solution staring me in the face. It's clear we're all learning together in the forums, but it's immensely helpful to have both the Construct 2 developers and power users jump in to explain core features or craft examples out of whole cloth that the rest of us can download and tinker with.
GameSalad's manual offers far more structureCoit's a PDF manual in the most traditional sense, offering a table of contents, lots of annotated pictures, and a guide that walks you through creating a simple shooter. It's a bit long (what good manuals aren't?), but well worth perusing. The same goes for GameSalad's Cookbook, a web resource that lays out all of the app's functions and major concepts as a series of tutorials. Every tutorial you complete will earn you a few points, which can unlock titles for your profile.
Like Construct 2, GameSalad's forums are a great resource to get questions answered, or simply peruse what's already been posted (Google is your friend here, though). It's a bit better organized than Construct's implementation, divided into far more categories than your typical web forum, which makes casual browsing a bit easier.
Keep in mind that the official user communities and tutorials aren't the only resources available. Many of the users of both apps have comprehensive YouTube channels, where they delve into most every topic you can imagine.
Which Is Best for You?
Construct 2 is a Windows-only application, which will likely put it out of the running immediately for many. That said, it's also relatively cheap: The $119 Personal Edition unlocks the application's full potential for individual users. If you make more than $5,000 on your game (lucky you!), you'll need to upgrade to a business license, which requires a one-time payment of $399. The free version bars you from making any money from your creations, and from publishing to iOS and Android devices at all. You will be able to publish your work to your own web site, as a Windows 8 Metro app, a Facebook game, or the Chrome web store. The free version also includes limits on the number of events, layouts, and effects you can include in your gamesCono doubt some incentive to pony up for a license.
At $299 a year, GameSalad is a bit more of an investment. But it's arguably worth the extra scratch (particularly if your magnum opus sees some success), as the GameSalad Pro subscription opens up access to Apple's Game Center, iAds, and in-app purchasingComonetization options Construct 2 is sorely lacking. You'll also get the ability to publish to Android and Windows 8 devicesCothe free version only supports Mac, web, and iOS publishing.
Both apps also offer stores where you can purchase assets like sound files and animated images to spruce up your game (or supplement your lackluster artistic abilities). GameSalad's implementation is far more robust as it accepts user submissions. Neither store is as comprehensive as something like Unity's asset store, but if you're as artistically challenged as I am and want to spruce up your project a tad, it doesn't hurt to take a peek.
Eat Your GameSalad
GameSalad is arguably the superior choice here. Once I'd come to terms with all of the nested windows and grown familiar with the nigh-endless scrolling lists, pulling together my own project was easy, and even fun. Your ideas can take shape rather quickly, and the overall simplicity belies powerful, responsive tools. Sure, the price tag might seem a bit steep. But if you're serious about striking out into the wide world of game development and want to lean on tools to get you in on the ground floor, GameSalad will offer the tools to realize your visionCoprovided said vision is simple, and skews toward browsers or mobile devices. Think of it as an investment: Like it or not, free-to-play games buoyed by in-app purchases thrive, and a solid experience coupled with smart business decisions could see your license paying for itself.
Don't count Construct 2 out just yet, however. Truth be told, I actually preferred working with it. The vaguely familiar interface made the approach comfortable, but I simply found it easier to find what I was looking forCowhether I needed to resize my project, or make some changes to a layer. Pre-set behaviors make experimenting wondrously simple, though you're still free to craft things manually if you like the hands-on approach GameSalad requires. The colorful, image-laden event sheet system was decidedly easier to parse, particularly as my prototypes became increasingly unwieldy. And naive as this may sound, clicking through a few menus and then tapping out commands feels a bit closer to the "real thing."
And therein lies the rub. Both of these tools are great for anyone who wants to get an idea off the ground and perhaps even get paid, but they're ultimately a crutch. Of course, there's a case to be made for not reinventing the wheel: Why spend months or years learning to code when you could instead hit the ground running and make your dream a reality? I'm no purist, but throughout my time with both of these tools I couldn't help but think that, wonderful as it was to see ideas take form, I'd be all the more impressed if I actually understood how all of this wizardry actually worked.
But if you're just looking to prototype an idea or scratch that development itch, there's no harm in popping over to either app's web site and taking them for a spin.
[Nate Ralph is an aspiring wordsmith fascinated by games, hardware, and most everything in between. You can find more of musings in 140-character chunks at @nateralph.]