Making games without programming

If you've ever been interested in making games but don't know how to program, then you're in luck. It has never been any easier to make a fully fledged game for today's popular platforms (PC, MAC, and mobile), without needing to delve too deeply into a programming language or api.

For those who don't have the desire to dedicate the time and effort necessary to learn the nuts and bolts of how to program, nor have the need for the most optimal performance or bleeding edge, then there are a variety of very capable tools that will help any passionate artist, game designer, and other non-programmer types out there who has a burning desire to develop games all on their own, all with very little bit of scripting or in some cases, without even producing a single line of code.

We sought out a few local indie games developers who each have taken advantage of various tools available today to pursue their dreams of making their own games without the extra overhead of needing to program or depending on someone else to do the code for it.

Brennan Hatton of Ninja Active

Game Maker Studio, uses GameMaker Language (GML) for scripting although not required

Costs:
GameMaker: Studio™ - FREE (Export to Mac & PC)
Studio™ Standard - $49.99 (Export to Mac, PC, Windows 8)
Studio™ Professional - $99.99 (add-ons include $199 for iOS, $199 Android, $99 Win 8 phone, $99 html5)
Master Collection - $499.99 (Fully featured)

What's your primary profession? (artist, game designer etc)

(Brennan) Game Designer/Coder (I think Game Developer is more suitable, because its more general and I do a lot of the work solo)

Can tell us about your programming attempts in the past? Do you have any prior experience with programming or scripting, and if so, what languages?

(Brennan) I started with Game Maker when I was 15, used it to teach myself how to code via Google. It has its own scripting language called GML (Game Maker Language). Im most experienced with C#, javascript, C++, Lua. But I also know a few other languages such as C, visual basic, Pascal, Objective C.

How long have you been using your game development solution, and how many games have you made with it?

(Brennan) Game Maker - 5 years. Published 3 on the App Store, 18 are available from my website http://brennanhatton.com

Bouncer – physics puzzle game

Growth – strategic turn based tree simulation. From the global game jam 2012 – won best overall game in Wollongong.

Tremor Town – I’m having trouble categorising this one. From the 2013 Global Game Jam, runner up in Sydney.

What are its strengths and how easy is Game Maker Studio to use? Is there any scripting whatsoever involved or can a game be completed without a single line of code/script entered?

(Brennan) Strengths: incredibly quick development, multiple platform support, high level scripting language.

Weaknesses: it has its own scripting languages not used elsewhere. You can dig to deep into how it works and is put together and play around with stuff. Vector art isn’t supported other than the basic shapes.

Scripting is involved, but not necessary to start with. But the sooner you start coding the better games you can make.

How would you rate its support, documentation, community, and forum help etc?

(Brennan) Documentation 9.5/10
Community 9.5/10
Forums 9/10

What things can't you do with your chosen tool? What are its limitations or quirks? Are there issues with memory, speed

(Brennan) You cant uses shaders, or play around with how the GPU works.

The way it handles classes with GUI rather than code means you can just look at your whole class in a single file. It also means you cant use class functions, only global functions.

Vector art isn’t supported other than the basic shapes

What type of games do you think it's best suited for? What kind of games would it struggle with or simply can't do?

(Brennan) I haven’t found 3D to be as easy o0r effective as it could be, but you can do it.

Vector art isn’t supported other than the basic shapes

Do you use any other tools or add-ons in combination with your chosen solution to make developing games even faster/easier?

(Brennan) I use a few different libraries (know as extensions in game maker) which provide extra functions that make development easier and make more possible.

Would you recommend this to others starting out on making their first ever game? Any important hints or tips you could pass on? What would a novice need to know before-hand about this solution?

(Brennan) I teach 6 year olds how to use this software via skype. My first student is a month or two away from publishing his first game onto the App Store.

So Yes.

Need-to-know: How to use Google. There are some good tutorials online, No previous coding experience needed.

Do you think this has helped you understand the idea behind programming more? Do you have any plans on moving on to another solution or get into programming?

(Brennan) Yes, I learnt to code from these software. Depending on how Game Maker is further developed. I will probably more on to something else eventually, I always like to try new things.

Jay Weston of Exbleative

Unity with visual scripting plugin, PlayMaker, no programming required

Unity and Playmaker costs:
Unity - FREE (Export to Mac, PC, Web)
Free version add-ons include $400 for iOS, $400 Android, $400 Flash

Unity Pro - $1500 (Export to Mac, PC, Web)
Pro version add-ons include $1500 for iOS, $1500 Android, $1500 Flash

PlayMaker (usable with Free and Pro versions of Unity) - $93.42, currently on sale for $44.25

What's your primary profession? (artist, game designer etc)

(Jay) I started out in games as a 3D artist, then moved into a game designer role. Since then I got into photography/HDRI for Hyperfocal Design and then recently back into both art and game design!

Can tell us about your programming attempts in the past? Do you have any prior experience with programming or scripting, and if so, what languages?

(Jay) I've done a few bits and pieces including stuff like "How to code in 21 days" type books, part of a free Stanford java programming course on youtube, and numerous online scripting tutorials. This has ranged from c++ to java. I could do some simple things, but I found it extremely difficult to wrap my head around. While I'm sure I could eventually learn it through sheer force of will, I would have had to dedicate everything to it. I prefer to build my creative skills rather than programming/maths type of stuff.

How long have you been using Unity and Playmaker, and how many games have you made with it?

(Jay) I've been using Unity/Playmaker now for 1 1/2 years, made one full/shipped iOS title and probably 2-3 prototypes that reached various levels of completion.

What are its strengths and how easy is it to use? Is there any scripting whatsoever involved or can a game be completed without a single line of code/script entered?

(Jay) I must find visually based things easier to understand, because I picked up Playmaker and had something running in no time. Being able to see your game logic/states connected by events etc made so much sense to me. When you have a page of code, its impossible to see it all at once and how its connected, but in Playmaker I can see all the various states all on screen at once, and how they're going to transition if a certain event happens, or if a physics trigger goes off, etc. I can also see where in my 'code' I am in real time - the current state lights up showing me I'm now in "shoot mode" or "walk mode" or whatever. Debugging is incredibly easy, I can step back through the sequence of events and find out what happened. I could go on for some time about all the advantages!

Playmaker requires no scripting, but you can write your own 'actions' that you can run within states if you like. For my game, Unknown Orbit, I got a programmer to write some high score script, but apart from that it was all Playmaker.

How would you rate its support, documentation, community, and forum help etc?

(Jay) This was certainly one of the highlights for me with Playmaker, they have a very active community with dedicated support people there to answer questions for you. Most of the time if I have a question, its already been answered. There are also wikis, lots of video tutorials from Well Played Games on youtube, and very handy in-Unity help popup system.

What things can't you do with your chosen tool? What are its limitations or quirks? Are there issues with memory (large footprint), speed (slow?))

(Jay) That's hard for me to answer, because I don't have a large amount of experience with different tools or code bases, or really any technical expertise! I'm told that there is a footprint of some kind, but I believe its quite small, and due to today's powerful computer/mobile specs, its hardly worth worrying about unless you need to do something really specialized.

I've honestly rarely come up with anything that limits me, aside from the high score stuff, which I believe I would now have been able to do with something like Jean Fabre's Array Maker actions. Usually its just my lack of logic type skills that prevents me from coming up with solutions :)

What type of games do you think it's best suited for? What kind of games would it struggle with or simply can't do?

(Jay) Well I did an arcadey 3D endless runner/Tiny Wings style game with it, and now I'm making an RPG/strategy kind of prototype, and both have been pretty easy. I'm not sure there's really much in the way of limitations. Maybe a programmer could point out a style of game that has trouble working with state machines?

Do you use any other tools or add-ons in combination with your chosen solution to make developing games even faster/easier?

(Jay) Array Maker is worth looking at for use with Playmaker. I used and am still using Blender, how good is it for a free 3D program!? For 2D I'm still using Photoshop, and BaseCamp/Google Docs for planning.

Would you recommend this to others starting out on making their first ever game? Any important hints or tips you could pass on? What would a novice need to know before-hand about this solution?

(Jay) Definitely recommend! Once you've learned the basics of Playmaker and Unity, you'll essentially just be challenging your logical brain to come up with the best ways of doing things. When you're trying to design a fun game, you don't really want much else in the way, as that is hard enough in of itself!

Do you think this has helped you understand the idea behind programming more? Do you have any plans on moving on to another solution or get into programming?

(Jay) I think its probably helped a bit with high level concepts. I certainly now understand what a state machine is :) Using Playmaker with Unity's prefabs certainly has helped me understand object oriented design more as well.

I'm still using Playmaker for the foreseeable future. The only thing that would change that would be if I worked with a team that had to use a different solution, ie actual code. Can't really see the need right now to learn programming either, as I said before, designing good games and building my creative skills is challenging enough without also trying to learn programming!

Paul Greasley, aka Farmergnome

Paul uses various tools including Flash, MMF2, GameMaker and Unity. For many of his free games, he has used Multimedia Fusion 2

Multimedia Fusion 2, no need for previous programming knowledge

Multimedia Fusion 2 Costs:
Multimedia Fusion 2 - $125 (Export to Mac, PC)
Multimedia Fusion 2 + XNA - $211 (Xbox 360, Windows Phone 7)
Multimedia Fusion 2 Developer - $375 (Removes logo)
MMF2 add-ons include $125 for iOS, $87 Android, $74 Flash

What's your primary profession?

(Paul) I am a artist, designer and programmer, though my programming kind of drags its feet in comparison, I am a jack of all trades basically.

Can tell us about your programming attempts in the past? Do you have any prior experience with programming or scripting, and if so, what languages?

(Paul) I made my start with game maker packages, and I still use them today (though mostly for Ludum Dare and other competitions), I spent a bit of time making games in flash, MMF2, game maker and Unity.

How long have you been using your game development solutions (Unity/Playmaker, Game Salad, MMF2, Game Maker etc), and how many games have you made with them?

(Paul) A couple of years now, probably made 20 or so games with tools similar to what you have mentioned, probably the most notable are my competition games and stuff on my site - I have lots of unreleased games, its kinda my downfall. But of the ones I have released, I really like Under the Garden & Under the Ocean - my survival platformer competition game & Fistful of Gun, a game I am currently working on which is a top-down arena shooter with a whole pile of weird control schemes. Pretty much all of them are free to download on my site ( www.farmergnome.com )

What are its strengths and how easy is it to use? Is there any scripting whatsoever involved or can a game be completed without a single line of code/script entered?

(Paul) I use Lua for most of my games to do a lot of the leg work so while I think with the right game maker package you can definitely make a game with as little code as possible, it doesn’t really work that way after the game scales up.

How would you rate its support, documentation, community, and forum help etc?

(Paul) Pretty good, I can’t complain, though I have swapped tools in the past due to poor support, it is really the downside to committing yourself to a package rather than rolling your own - you just have to accept that you have to keep current with the best tools.

What things can't you do with your chosen tool? What are its limitations or quirks? Are there issues with memory (large footprint), speed (slow?))

(Paul) I think there is always going to be limitations working with a game maker package rather than starting from scratch, and it will for the most part, be more of a memory hog and be kind of backward in a few places, but in a world where most indies are doing this outside of work hours (myself included), I just want to make games, not engines.

What type of games do you think it's best suited for? What kind of games would it struggle with or simply can't do?

(Paul) I think this is specific to the package, they all have their own quirks and weaknesses that are pretty obvious after using them for a short period, I could go into great lengths about each individual programs nasty side, but I think thats all apart of the fun.

Do you use any other tools or add-ons in combination with your chosen solution to make developing games even faster/easier?

(Paul) Programs can only take you so far to make creating games easier and faster. When I am doing the Ludum Dare to churn out a game in 48 hours, the biggest time saver is planning, and knowing the limits of your tools and finally your skill limits, with this you can budget your time pretty resourcefully and get a game out even on stupidly short time frames. I think most of the things that make making games quicker can’t be downloaded, it is just repetition and practice.

Would you recommend this to others starting out on making their first ever game? Any important hints or tips you could pass on? What would a novice need to know before-hand about this solution?

(Paul) Put it this way, I am an artist first and foremost, I only touch programming (and music for that matter!) because I want to finish games myself, if you, like me, have an interest in the artistic side of game development and don’t want to learn proper syntax immediately, then learning a tool like MMF2, GameMaker or even Unity (though slightly more complex than the previous) - it is a great way to start.

Do you think this has helped you understand the idea behind programming more? Do you have any plans on moving on to another solution or get into programming?

(Paul) Not at this stage, I think I am happy working with better programmers than myself to collaborate on bigger or more complex projects in the future, I like being self sufficient and being able to construct small games solo, it is a good balance for me.

Murray Lorden of MUZBOZ Games

Game Salad, Create games fast with no coding

Game Salad costs:
Game Salad free - Export to Mac, Web, iOS
Game Salad PRO - $299/year (extra platforms including Windows 8, Android and options for App monetization, in-app purchases, iADS etc)

What's your primary profession? (artist, game designer etc)

(Murray) I'm creating games on my own as MUZBOZ Games. I'm a Game Designer who also currently does all his own programming and sound, and most of his own art and music. I'm working with an artist on my latest game, but I did all the art on Rad Skater Apocalypse and Pulp Diction. I'm a Game Designer who would prefer to not be programming, but I'm programming out of necessity, and also because it is where the game is really created. It's a great learning experience, and it's enlightening my design skills, but ultimately I'd rather someone else was doing the programming.

Can tell us about your programming attempts in the past? Do you have any prior experience with programming or scripting, and if so, what languages?

(Murray) When I was young, growing up in the 80's, I dabbled with GWBasic, which was a programming language we had on our home PC. I did basic efforts at drawing pictures on the screen by drawing lines and dots, and I always added little bleeps and blerps of melodies using the PC speaker, because for me, music has always been a strong part of computer games.

After a while I started building a silly text adventure game, a sort of Space Quest meets Hitchhiker's Guide to the Galaxy humour and craziness to the tone of it. I was doing it all using line-numbered code, with IF and GOTO commands. It was really labour intensive, and not at all a proper text adventure code base! But it was fun, and I wrote hundred or thousands of lines of code for it. But it did not have any functions, and was therefore very repetitive to code!

I think I decided at some point that I just wasn't a programmer. I wanted to do design, level building, art, music, story. I just didn't want to learn the entire language of programming computers. It seemed like a distraction from the other faculties because of the large effort it would take to be excellent at programming.

Later, I focussed more on building 3D levels for Quake and later for Thief 2. I learned a lot from doing that, but neither had much scripting as such. It was more about building geometry, tagging spaces, and placing and modifying entities in the world such as enemies, doors, keys and trigger objects.

I've worked at Bluetongue Entertainment and Firemint, for many years each. And as a professional Game Designer, you do need to jump into .xml files, spreadsheets, different level editing packages, and occasionally 3D Studio Max or Photoshop, etc. I feel comfortable in all those packages, and they've been good skills to learn in terms of understanding how games work, and how the creative use of data structures is pretty fundamental to creating cool games.

How long have you been using Game Salad, and how many games have you made with it?

(Murray) I've made two games in Game Salad. My first was Rad Skater Apocalypse, which is an arcade platform action game, and it's a homage to many games I grew up playing such as Alley Cat, King's Quest, Space Invaders, Moon Patrol, Streets of Rage 2, there's lots of little references to all those games and more. I realised while actually "programming" my first game, that there's all these very basic computational algorithms that underly all modern gaming. A camera moving over a scene, focussed on a character sprite who can collide with other shapes, and who can often move left and right, jump, shoot, fall over. Rad Skater Apocalypse is really a homage to all those core game elements that made the earliest arcade games, and the latest AAA blockbusters. It was an exercise in looking at how the set dressing is really what counts. You can put all different sorts of clothes onto those mechanics, and you come out with a different game. Games are all about psychology. Like theatre - we know what we're seeing isn't really happening, but the goal is to get the audience swept up in the illusion we're creating for them.

I digress. My second game was Pulp Diction, a detective word game. My goal here was to create a game that was more programatic. It uses tables of data to create gameplay situations for the player to be challenged with. I wanted to create a game that I would be surprised and challenged by myself, because I think that is a cool thing about computer games. A film director cannot be surprised when watching their finished movie, likewise a book author. But a computer game developer can be truly challenged, beaten, elated by their own creation! So I wanted to make a game that created random word challenges, and also had a sense of story and setting. So the player gets a puzzle board of randomised letters, and must make words to meet the case objectives.

The skills and lessons learned from my first two games culminated to a point where I was ready to tackle "the big one". My latest game is still being developed and is a larger game, and perhaps the last I'll be doing with Game Salad. It's a top down GTA style game where you can run around on foot, wield multiple weapons, jump into a variety of vehicles, drive around, fight enemies, rescue civilians, and complete missions goals. It's a Rogue-like game, with semi-randomised missions and level environments. I'm making much more expansive use of tables in the game (for weapons, mission types, vehicle data, monster types, and the shop). I've put a ton of work into my game systems, and it's working pretty well, although I feel as though I'm butting up against the limits of what Game Salad can do. But that being said, I think I can realise my game quite well within those limitations, and there are limitations within any game development environment, and that has to be worked within! More on that below.

What are its strengths and how easy is it to use? Is there any scripting whatsoever involved or can a game be completed without a single line of code/script entered?

(Murray) Game Salad is rather easy to get started with. And I think it would be a good tool to teach game development to school kids, or as an introduction to game logic to anyone wanting to start making games.

I've been using Unity a bit recently, and I think I'll switch to Unity after this current project is complete. Unity seems very well supported, and it's being developed rapidly and professionally, and seems to be getting great support from big players like Sony as well as iOS, Android, Mac, PC and Linux. But I'd have to say that Game Salad has been a great way to prepare me for some of the more complex challenges of making games, with a bit of a gentler learning curve that jumping straight into Java or C# scripting.

Game Salad is based around drag-and-drop behaviours. You create a scene, and an actor, then open the actor and drop behaviours into that actor's "script area". Each behaviour can have anywhere from 0 to multiple variables or expressions that you can modify using numbers, text, or drop down lists of attributes and mathematical functions. You can create your own variables (called Attributes) which you can use for whatever purpose you want.

Many of these behaviours make common behaviours very simple to achieve. If you drop the Control Camera behaviour onto your actor, then the game camera will automatically focus on that actor when you run the game. Done. Simple!

You can then combine behaviours with rules to make things interactive.

Add a Move behaviour that makes the actor move right. Then put that Move behaviours inside a Rule that says to only do that if the player is pressing the Right arrow key. Do the same for Left, Up and Down, and now you can move the character around the screen using the arrow keys. You can enter the speed for the Move behaviour to adjust how fast they move. You could instead use the Accelerate behaviour, which will see the actor speed up over time.

Other options allow you to set a Maximum Speed for the actor, to stop it going too fast.

You can easily get started with basic interactivity such as that, then just keep using the documentation and forums to add more functionality to your project.

As you use Game Salad more, you can get very quick at doing things, and I could personally make a basic Space Invaders game in a single day, and Game Salad would handle a lot of the work in making that run on a multitude of iOS and Android devices. So that's great. I definitely didn't want to get my hands dirty writing low level code, or ironing out bugs to do with specific devices or drivers, etc.

But the fact is, it can still be very frustrating, because the debug tools are basically nonexistent. It can be very difficult to find the cause of problems because so much occurs under-the-hood.

The fact is, at the end of the day, you drag and drop all these behaviours into your actors nesting them in complex ways to create code. You are writing code for your game by arranging behaviours in complex rules and sets of behaviours, and once you actually get good at it, you start to think that it would simply be better to dive in a level deeper and start programming properly in something like Unity. But as a first step, I'm really glad I chose Game Salad, as I've learned a ton while creating games with my Game Salad "training wheels" on.

How would you rate its support, documentation, community, and forum help etc?

(Murray) I would rate the Game Salad experience as being so-so.

The forums are quite good, and there are some helpful and nice people there.

But the Game Salad creator has bugs in it, and new bugs appear with each release, and it can be very frustrating having annoying problems that carry over release after release. You can report bugs, but you get no response about them, and when the bug just appears again in the next release, you feel like no one is listening.

The documentation is OK, but I find it lacking. Inside the app itself, when you highlight each behaviour, the description is very brief and only really hints at what the behaviour does. It's meant to be "friendly", but you often just wish you knew more about exactly how it works. Sometimes several behaviours do similar things, and it's unclear which is best for which purpose, and you find yourself wishing you could refer to an "in depth" section of a manual to find out more about specific things. But those guides don't really exist.

Game Salad has evolved over the two years I've been using it, and it's perhaps lost somewhere between it's initial identity as "the game development toolkit that anyone can use" to a tool that's actually fairly advanced and has users trying to do pretty advanced stuff with it, but struggling to keep those power users happy, while also trying to remain "simple and accessible". I sort of feel it's failing to do a great job at either of those things.

What things can't you do with your chosen tool? What are its limitations or quirks? Are there issues with memory (large footprint), speed (slow?))

(Murray) Game Salad is 2D only. There is no support for doing any 3D rendering.

It has a physics system, which is kind of cool, and works easily, but it's also not that awesome. You can't really rely on it to do a robust, detailed physics simulation. But it's good for basic collision reactions.

What type of games do you think it's best suited for? What kind of games would it struggle with or simply can't do?

(Murray) Game Salad is not good at handling a lot of actors at once. It's really best for creating a game with a small gameplay area, and less than 50 actors active in the game world at once. Even having 100 trees that don't do anything starts to take it towards it's memory limit. So having say 50 monsters running around, running some basic AI behaviours, and graphics effects, can see the game running out of memory and crashing. So the rule really is to keep things simple, and do things as optimally and intelligently as possible. But then, that's the rule behind all game development! And it's surprising what you can do with Game Salad if you come up with creative solutions to give the impressions of having lots of monsters, but they get recycled if they go offscreen, and things like that.

Do you use any other tools or add-ons in combination with your chosen solution to make developing games even faster/easier?

(Murray) I just use a graphics editor to make art, a sound editor to make sound, and a spreadsheet editor to edit my tables. That's about it really!

Would you recommend this to others starting out on making their first ever game? Any important hints or tips you could pass on? What would a novice need to know before-hand about this solution?

(Murray) Game Salad is great in the respect that you can download it (about 30mb!) from http://gamesalad.com and start creating games straight away on your Mac or PC. It's immediate and very easy to get started. That's a definite plus! And I'd recommend it to anyone who's interested but doesn't really know much about game development or programming. I'd recommend it to someone who wanted to introduce kids to programming as well.

Do you think this has helped you understand the idea behind programming more? Do you have any plans on moving on to another solution or get into programming?

(Murray) I do feel I am outgrowing Game Salad. I find myself wanting to make more complex games, with a more persistent world, with more power, more entities, a better physics system, and even the option to use 3D.

I also find that the development of Game Salad is very slow. New features come very slowly, and I'm often wondering why there aren't more cool new features and possibilities with each new release. It also often has irritating bugs that linger around for several versions, and that's quite frustrating to a developer who's trying to run a professional business.

When I find myself wanting to make more complex games, also greater support across many platforms, and a thriving community, I have started to look towards Unity, which seems to be ranging out ahead of the pack as a real global favorite amongst game developers. I've used it a bit recently on a new prototype I'm working on in the background, and it feels empowering and exciting. I also used it as part of the Global Game Jam for 2013 with a team of four people, and I was doing art and sound, and I found that to be a really satisfying and exciting experience.

But Game Salad has certainly help me to learn a lot about programming, and how to structure an entire game, about what behaviours need to be included in each actor and how they need to be structured, about how you can get actors to "speak" to one another via attributes that can be global or local, about game controllers that control the overall mission parameters, loading in and out of scenes, tables of data that allow for a more streamlined way of creating re-usable systems, dealing with Game Center, etc, etc. Game Salad has helped me to learn about all those things without me having to learn specific coding syntax. But at a certain point, I think that the training wheels approach starts to feel more like a hinderance than a help, and I yearn to unscrew the training wheels and take on the dangers and accompanying exhilaration of a more powerful and unbridled toolkit.