• # How To Make Games Without Programming

General and Gameplay Programming

Whilst a lot of people find programming to be a stimulating activity, for others, traditional programming can be very intimidating; needing to remember what seems like arcane symbology, and seemingly endless streams of specific keywords into an editor can be very off-putting.  As many of us know, this actually gets easier with practice and soon becomes a less daunting task, but fortunately for those who struggle, there are other options available.

Many modern game engines offer different types of visual interface with which you can set up an environment and characters, and input the logic required to turn those pieces into a functioning game.  In this article, I aim to give a brief overview of some of the currently available options for creating games without traditional programming.  This list will not be exhaustive, but instead, aim to cover a few of the more popular and capable options, and I will leave it as an exercise for the reader to further research those options and choose what may be most suitable for their own goals.

Features and prices listed are current at the time of writing in October 2018.  Many of the options presented offer free trials, which I would encourage you to try out before spending your hard earned money -- in the case that no trial is available I would suggest checking out some written and video tutorials of the software to see if it looks like something you could understand and work with, as well as some games made with the software to see if it may be able to create the types of games you have in mind.

The first option I'm going to introduce is a simpler one suitable for introducing programming to younger would-be developers and is more limited in its capabilities, so if you're interested in more complex options please don't be put off and keep scrolling to the following items.  Below the list of options you'll find a few thoughts on visual systems.

# Scratch

Scratch is a freely available programming environment created by the Lifelong Kindergarten Group at MIT Media Lab, and allows you to create games, interactive stories, and animations.  There is also an active online community of people sharing their creations and giving positive feedback.  Programming in Scratch is done by snapping building blocks together to input your logic, and although it's usable by people of all ages and abilities it's specially designed for younger learners ages 8 to 16.  Scratch works right in the web browser via the Flash plugin, so there are also no large downloads.  If you prefer working offline, there is also a downloadable version available.

Honestly, you're not going to create a smash hit video game with Scratch, but it's the perfect introduction for a child with an interest and may be a valuable starting point for people who find other systems intimidating.  Working with the visual system in scratch will encourage logical, structured thinking that can be applied to more complex systems or even to traditional programming at a later stage, and although it's fairly basic children will be excited to see and play with their own creations.  You can view (and play with!) some projects created with Scratch in the Explore section of their community.  Note that while you can share and play your creations with the Scratch community, but won't be able to deploy to other platforms such as mobile, consoles, etc.

# Game Maker

Game Maker is a popular option amongst hobbyist and indie developers and is able to create games for a wide variety of platforms including mobile and many of the consoles. The engine has only rudimentary 3d capabilities and is not intended for making 3d games, but is very capable when it comes to 2d.  A number of very successful games including Hyper Light Drifter, Hotline Miami, Risk of Rain, Nuclear Throne and more have been created with Game Maker.  Check out the Game Maker Showcase for examples of what the engine is capable of.

Developers can use a simplified programming language called GML (Game Maker Language), or with a visual "drag and drop" system, and almost anything that can be done with GML can also be done with drag and drop -- albeit sometimes it might be a bit more clunky.  As a popular engine, you'll find plenty of tutorials (including lengthy series of officially provided video tutorials), sample projects, and people willing to help with learning and creating your projects.

You can get started with an unlimited free trial, and publish to additional platforms with a yearly subscription starting from US$39/year for Windows, up to US$1500/year for all available platforms.

# Construct

Construct is a browser-based game engine that allows you to create games with a visual editor - in fact, in this case, programming is not even an option.  Games are created by applying and configuring "behaviours", and by using a visual "event sheet" that runs commands in order, and you are able to create most types of 2d game.  Because the editor runs in a browser you can create your game from any platform with a suitable browser, including mobile -- although you'll find it awkward to work with on a smaller screen.  A downloadable version is also available, and many functions of the editor are able to work offline.

Note that Construct is strictly a HTML5 engine, so exports for other platforms are provided via wrappers -- essentially packing your game up with a cut-down web browser to create an executable for the platform in question.  Their is an active community using the software, and plenty of tutorials and examples available to help you get started.  A free trial is available with some limitations, with full features available via subscription starting at US$99/year for a personal license or US$149/year for a business license (which you'll probably want if you're planning to monetize).

# Stencyl

Stencyl is another visual editor aimed at creating 2d games, and able to publish to a range of platforms.  Stencyl's editor uses logic blocks similar to those available in Scratch, but also allows more advanced users to write some code if they wish to do so.  You can view some games created with Stencyl is the showcase.  Stencyl seems to have a slightly less active community than some other options, but there is some help available, and plenty of tutorials.  Some of the tutorials seem to be for previous versions of the software.

# Unity + PlayMaker

Unity is an incredibly popular and very capable engine that can be used to create great games.  By itself, Unity doesn't provide visual scripting capabilities (programming is done with the C# programming language), but a third party add-on called PlayMaker comes to the rescue by adding a visual system and allowing developers to create games without writing code.  PlayMaker will currently set you back US$45.50 (or cheaper with a Unity Plus or Pro subscription). PlayMaker games are created with a flow-based system that involves toggling settings on nodes, which you connect in different orders to achieve the desired behaviour. You will find PlayMaker more limiting than programming Unity with C#, but the experience you gain with the visual system may encourage you to try to C# and give you some fundamental logical thinking skills to build upon. # Unreal BluePrints Unreal is another popular engine used by professional developers. In this case, a visual system is built into the engine in the form of Blueprints, intended to allow non-coding designers to work with the engine and create interactive content. You can get started using Unreal with no upfront cost, and pay just 5% of your game's earnings once you surpass a certain threshold. Like many of the other options, there is an active community using Unreal, and plenty of tutorial content available, although most users do the majority of their Unreal development via C++ programming, with Blueprints used by non-coding team members. # Are There Limitations? Honestly, yes. Just as those using an engine might find themselves more limited than those developing their game "from scratch", you will often find that visual systems are more limited than traditional development. Some things may be difficult or more time-consuming to implement in a visual editor, or if the creator hasn't exposed some data or a function you need your idea may be impossible. However, many find these options to be more approachable, and some very impressive and successful games have been created using them. Just be sure to do your due diligence about any limitations you might face before spending money hoping to create your dream game. # Other Options The above are just a few of the popular options that can allow you to create games without traditional programming, but there are other options available if you're willing to do some further research. Some others you might wish to look in to include GameSalad, RPG Maker, Unity + uScript ProfessionalBuildbox (,I found this editor to be especially limiting), and more. # Why Do I Keep Calling It "Traditional Programming"? You may have noticed I keep saying "traditional programming" rather than just "programming". Some people don't consider visual systems like those provided by the engines above to be programming, but I would disagree. Wikipedia describes programming as: Quote ...the process of designing and building an executable computer program for accomplishing a specific computing task. and goes on to say: Quote Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen programming language (commonly referred to as coding). [...] The purpose of programming is to find a sequence of instructions that will automate the performance of a task for solving a given problem. I would argue that you are still doing the same task with a visual system, just via a different input method where you join blocks (or whatever the system in question provides) rather than typing special keywords. Although some people find this type of visual programming less intimidating and easier to understand, you'll find that you're developing the same skills of logical thinking, planning out solutions, and finding (hopefully elegant) solutions. After some time with visual systems, you may find the concepts used in traditional programming more familiar and approachable. # Conclusion There are numerous options available to create games without traditional programming, and with the right selection you can likely find something capable of the type of games you wish to create. Remember to research your options carefully, and don't be bothered by those who try to tell you it isn't "real game development". I hope the above list helps to get you started with finding a suitable option for your project. Edited by jbadams Report Article ## User Feedback Posted (edited) Really graphical representation of code != no code. It just == other representaion of same/equalent code (that really is graphically represented AST than compiler built from textual representation to use in intrermediate processing). So it require a same background and same previous programming stages like mathematical figuring of task, analize of dependncies and so on. Really code implementation is a final and simpliest of stages of software development, but it can not be avoided. Any of "no code" systems just a tool to represent a code using some kind of block-schemes, that is worst possible kind of representation for modern coding techniques, especially for object-oriented, data-driven and declarative based ones. Edited by Fulcrum.013 #### Share this comment ##### Link to comment ##### Share on other sites Great write-up. Thank you. #### Share this comment ##### Link to comment ##### Share on other sites Another idea is you could join a project team and do things like mapping, levels, artwork or music. Project teams seem to always be looking for more developers and never find any. You might think, oh, why should I do that when I could work on my own game where I can control the game play, but without some kind of pseudo code, you arn't going to be able to describe the game play accurately anyway. #### Share this comment ##### Link to comment ##### Share on other sites Excellent article. For a small team, time is best spent on using an engine, the benefits far outweigh the limitations. There is a ton of work to make your own engine, best reserved for large teams with time and money, or if you really love programming (the traditional term) and maybe slightly insane. (yeah I got it bad) However, me being "some people" I must say that the original term of programming includes the act of coding as an integral requirement. Using a tool that puts code for you is not really programming, its almost programming with a minor detail missing. Just like building a bird house does not make you a construction engineer, you're going about it the right way, but there is something missing to fully qualify. Cheers #### Share this comment ##### Link to comment ##### Share on other sites 2 hours ago, RoamBlade said: However﻿﻿, me being "some people" I must say that the original term of ﻿programming includes the act of coding as an integral requirement﻿. If we're going to be pedantic about it, the original term pre-dates "the act of coding" by a number of years, originally referring to inputting instructions by plugging into a peg board, manually flipping switches, or similar physical mechanisms. Stored programs which could be expressed as machine code (and therefore qualify as being programmed by your definition) came along some time later. Really, it's about devising a correct (and hopefully reasonably optimal) solution to a problem and getting the computer to carry out that solution correctly. The method by which a programmer inputs that solution is, in my opinion, probably the absolute least important part of what a programmer does. #### Share this comment ##### Link to comment ##### Share on other sites Those things belong to a different era, can't count what predates our lifetime; besides, someone had to make those peg boards, punch cards, etc. Besides, its a matter of principle and pride. I mean, cmon Scratch vs. C (make it Borland Turbo C)?!, this was just a fun comment, didn't mean to much by it. Anyway, back on topic, the point I'm making is, if you want to make a game and have no coding experience, or can't spend the hundreds of hours you'll need on the engine, the selection in this article is pure awesome, and you can probably make a near AAA game without a single line of code. (ok maybe one). #### Share this comment ##### Link to comment ##### Share on other sites Very nice article. Solid recommendations in there. For those looking to get their feet wet with some very simple coding, I'd recommend Twine. (http://twinery.org/) I always talk about the two different ways of building games as authoring (drag and drop) and programming (coding). I suppose it's "tomayto, tomahto" though. 😉 #### Share this comment ##### Link to comment ##### Share on other sites ## Create an account or sign in to comment You need to be a member in order to leave a comment ## Create an account Sign up for a new account in our community. It's easy! Register a new account ## Sign in Already have an account? Sign in here. Sign In Now • Advertisement • Advertisement • ### Latest Featured Articles • ### Featured Blogs • Advertisement • ### Popular Now • 9 • 27 • 20 • 14 • 14 • ### Similar Content • By nsmadsen In this episode of Madsen's Musings, I detail five things I wish I'd put in my contracts sooner. Wanna learn more about me or my work? Go here: https://madsenstudios.com/ Subscribe to my YouTube channel or follow me here on GameDev.net to see all the latest updates. A transcript is provided below the video. Transcript I mean, it's cloudy, but the weather's like 75°F up here. It was awesome, whoo, love it. If only Austin was like this all the time. Okay, So, we're talking about contracts today -- yay, contracts -- legal stuff. First off, disclaimer: I am NOT a lawyer, I do not play one on TV, I am NOT a law expert, so take what I say with a tiny grain of salt. These are just basically my experiences -- these are basically my observations -- but if you have a specific legal issue or question, or if you need some specific legal advice I always STRONGLY recommend talking to an attorney; talking to an expert because that ain't me. [Laugh] Saying "well Nate said on YouTube..." is not gonna hold up in court -- I've tried it! Okay, so, let's talk real quick about what are the basic components of a contract first: A contract is just an outline. It's an agreement. It's saying that Party A is going to do something, Party B in response is gonna do something else. It outlines the specifics of the timeline, any cost related, and it outlines how long the relationship can last between both parties. It outlines how you can end that relationship. It also outlines how the approval process is gonna happen, how the delivery process is gonna happen. It's just a statement. Good contracts are actually supposed to try to protect both parties. That's what negotiations are all about when you're trying to nail down the specifics of a new of a new job you want to make sure that those terms are gonna be something you feel good about. As a freelancer, or if you're looking for an employment position you're going to negotiate the terms of what's your salary, how much PTO you're going to get off the top of the starting, any special considerations. Contracts are just outlines. Okay, so we've defined what a contract is. Let's talk about some of the things I wish I put in my contract sooner. So top of my list: Revision clause Basically, this clause is just capping how many times you're gonna go back to square one and rewrite something. In my opinion -- this is just how I do my contracts -- is if you want me to make something a little faster, bump it up by five clicks, if you want me to change the oboe to a flute, if you want me to -- hopefully there's no angry wind noise there -- if you want me to change this chord from first inversion to second inversion, if you want me to do tiny minute things then I don't consider that a rewrite. I don't consider that a revision. A revision for me is "this is not working, let's go back to square one and start over". That for me is a revision, and in my contract I say for the price I've quoted you, I'm gonna give you three included revisions. Anything past that is an extra cost. Now, I don't list what the actual cost is in my contract, I say that should we go beyond three revisions, what we will do, is we'll have a meeting and we'll discuss things, and we'll make a new cost for this fourth revision and it'll be a mutually agreed upon dollar amount. So maybe it's sloppy of me to not include or quote the price for those additional revisions once you get past the first three free included revisions in that original price, but the thing is, with the exception of this one experience I've never had to use it. But I had a client early on, hired me to write one song that she wanted to use as a part of the pitch to hopefully get funding to make a full Broadway musical, and I was writing music, writing music, working with this client, like I said again, very early in my career, so I gave her version after version after version, each time starting anew. About the fifth or sixth time I asked her "hey, what's not working here, why are we going back and redoing version after version after version and starting from square one?" Well her response kind of shocked me, she said "oh, I just wanted to see what you would do, I just wanted to see what you create", and she even said "I didn't see any kind of revision cap or revision clause in your contract so I figured I could just request as many as I want". And she was right, she could. At no additional costs to her, she could have me writing thousands upon thousands of iterations of this Broadway spec piece. Just over and over again, just to see. Because you have to remember, the more time you take to do something, the less you're actually getting paid per hour. If you have a job you accept for$2,500, and you take five months to do it, you're not actually earning as much than if you have a job that you do in one week for the same \$2500.  It's a simple concept, but sometimes I think people forget that, and they're talking about their rates, when they're talking about their budgets, and these contracts.
So the top of my list would be revision cap.

Second thing I wish I added to my contract sooner, is basically says that I as Madsen Studios have the ability and the right to showcase my work in my portfolio.  What I've learned, especially working with some larger companies, is in buyout situations particularly they can say "well we're never going to give you the right to put this in your portfolio".  You can of course list something on your resume, but you can't showcase it on your demo real or your video reel.  You just can't without having some kind of language in your contract that specifically states you can.
So my contract states that once a game is made public or once the game is published, I will be able to showcase -- just for promotional reasons -- the content I provided, the content that I created for that game.  I've not had any clients object to this when I have it in my contract.  I've even had clients put it into their contracts if they're the ones providing the contract to me.  I've had "hey, I want to be able to showcase this in portfolio".  The only problems I've had is when I didn't ask for it, I didn't have it in my contract, there's nowhere mentioned and I already had signed something and I'm already working and it comes up "hey, I would love to promote myself and promote this work I did, can I put it in my demo reel?"  I've had some larger clients say "no you cannot".  That kinda sucks, so I learned to start doing that.
You might still have to worry about the schedule of it though.  You know, perhaps the client doesn't want you to release something that's not made public yet, that's very very common so you do have to be careful about that.

Number three for me would be point of contact.  Final authority.  All this does is dictates -- lays out in black and white -- who was gonna be the person to have authority over saying yes or no in a project.  The reason why this is because I've been in situations where you have a group of people and let's say they get into a disagreement and Bobby-Fred does not like the music you did for Level 7, and Judith thinks it's the greatest thing, well then you have a conflict.  You have this whole other discussion that has to happen and when you're working as a freelancer and so I will get on these Skype meetings that would be about two-three hours long each, and this was a weekly meeting.  And then they would talk about these things, and then they were getting disagreements with me right there in the Skype call.  "Well I disagree with you", "well I think this", "well I think that", and suddenly my direction is cluttered.  My scope, my target is not clear because I have different points of reference.  I have people tell me different things.  I have people telling me different direction.
So you want to avoid that.  In some cases you don't want to worry about this.  So if for example, you're working with the team of one person; you had your key contact, you have your final authority.  It's that dude or that gal and you just have to make them happy with your content and you're golden.  But in other cases where you have multiple people it's very useful to assign and dictate and just ask the client "all right, well I have meetings with eighty of you guys, but I need to know when the proverbial poop hits the fan, who is the person that has final authority to say yes.
I would highly recommend if you're working with a team that has multiple people and they don't know who the final authority is that you set something up.  You set some terms in your contract saying okay well let's agree that this person will be the final authority, and then you guys can go off and have your debates and your discussion for as long as you want without me involved, and then that one person comes to me and gives me clear, concise direction.
Another point to number three is meetings.  Are you going to invoice your client for every single meeting that you have.  It depends - this is really your call.  My advice, my suggestion would be to really understand what type of meeting schedule the client may have in mind.  If this is a weekly meeting, then yeah you might want to invoice for that.  If it's not then don't worry about it.  I kind of take mine case by case.
It's really tricky to change a contract once you're in it, so if you don't invoice for meetings, and suddenly find yourself in the situation with the client where you have a whole bunch of meetings all the time, and it's taking up time when you could be working, it's going to be a tricky conversation to say "hey, look...".  Nothing is impossible, it's just going to be tricky.  It's a lot easier if you just say "hey, if we're going to have this type of meeting weekly then this is my rate for it" and just get that of the way, and they agree to it on the front end versus trying to change it on the back end.  That's much much harder to do.

Another thing to consider is, each state has sometimes slightly different sometimes very different laws when it comes to freelancing and business, and regulations -- all that jazz -- and if should you have a point of litigation with a client well... let's say the client is out of state, State accounts in California, you're in Texas, well which law is going to be applied here?  There's a lot of different things here, but it's just a lot more clear if you just say in the case of litigation, the laws of California will be applied to this contract, or in the case of litigation, the laws of Texas will be applied to this contract.  It can be useful to have that listed.

Now the big thing I would avoid is P.O. boxes.   Do not accept P.O. boxes.  I actually don't accept P.O. boxes at all on my contract.  What I do is I list all my points of contact.  I have my name, my email, I have my cellphone, I have my physical address, and then I have a spot where the client puts theirs in, and I say alright, I need your name, your email, your phone number, and your physical address, and in the state P.O. boxes are not accepted.

I guess a little quick blurb.  [Joking about the ocean briefly]
When you talk about contracts, and you start talking about people getting screwed over, it can make you nervous as a freelancer.  I've worked on 575 projects, and I've been screwed over maybe five times.  When you think about it, every time you get burned, it just eats at you, it pisses you off, it makes you really angry, you just want to scream, but when you think about five out of five hundred and seventy five, most people out there are good.  Most people are going to do the right thing.  Most of them are too busy trying to make their own content and they want to do good work and they don't want to make a bad reputation for themselves, that they're gonna treat you right, or at least treat you appropriately.  They're not gonna try to steal your work.
But always, always, always work with a contract.  I've learned that the hard way a couple of times.  Work with a contract, all your terms speccd out, and if you're not comfortable reading contracts then reach out to a lawyer or legal person and get some input.  Read up on it, there are sample contracts online.  There's books.  Aaron Marks, he's a friend of mine and was actually very kind to feature me in that.  Looks, it's on it's third edition now and I believe there's a whole chapter on contracting.  He provides sample contracts.  You can also find contracts online.  Legalese, contracts, the whole thing can be an uncomfortable topic, but you really need it.  You really need to have the protection of the contract.  You need to have the finality of "this is what I'm agreeing to.  This is what I'm going to do, and this is what you're going to do in response."

So I hope that's helpful to you.
Again, not a lawyer, I don't play one on TV.  I love to watch Law & Order, I love to scream "objection" randomly at home and at the workplace, but I'm not a lawyer, so if you need some actual advice how to reach out to someone who can get that to you much better than I can.
Please like and subscribe.  If you have questions or comments, or if you have topics you would like me to cover in future videos, hit me up!  Reach out - I'd love to do that.
Work with a contract people!  Thanks!

• I am currently an undergrad several months from graduation. My major is in Game Programming and Development. During the course of my studies, we've had a few modeling classes and I really took to it and feel that is the direction I really want to go, specifically I would love to become a character artist. I keep hearing about your portfolio being super important, but I've really never been able to find out what kind of work is best to put into my portfolio. There's no "put 2 of these and 1 of those in," kind of tips. I get that I'll want to put some characters I've modeled in there, but I guess what I really want to know is, if I want my portfolio to be noticed and taken seriously for a character artist position, what is the best way to present it? Since most of my courses have dealt more with programming, I need to build everything for my modeling portfolio on the side, outside of class on my own time. I know there are no specific numbers like: put 3 realistic humans, 2 robots, a creature, and a stylistic character in your portfolio. But as a general rule is there some kind basic guideline or tips for what to make to get your portfolio off to a good start?

• Hi!
Is there by any chance you can give me an idea/concept that's different but related to the game Tower of London? (Is it called Tower of London?)
Can you show me some reference images, games or videos related to the same?
I've attached a reference image.
Thanks!

• Hi everybody,
So, me and my colleagues are now joining Unity Game Jam. It's gonna be two weeks and we are trying to make a Third Person Shooter with RPG and RTT mechanics video game. We've started yesterday with the main concept and this is what we have:

Game Storyline
Nobody could imagine the falling of the whole world until the deaths woke up. That nonliving ones became something we cannot consider as human being. They change into a new creature, stronger, more frightening, and almost unbeatable. Society broke in pieces and the few ones alive had to survive at any cost.
As the Major of a ranger platoon you have found an abandoned Military Outpost crowded of helpless people closer to one of the coldest parts in the world. You must keep them in safe until the reinforcements arrive.
There’s only one way to kill the damn zombies: the BlockchainZ Ammo.
Search for the BlockchainZ Ammo and destroy the hordes of zombies, but beware of the raiders: they will take your BlockchainZ Ammo whatever it takes.
Right now the Raiders have all the BlockchainZ ammo, you must fight them and spoil it, but be on guard, they will counterattack.
Remember, the survival of the people depends on you. Don’t let them down!

Gameflow.
Once you start playing Project BlockchainZ, you must defend the bunker against the hordes of zombies and raiders on a fixed map where you'll fight with your troops and traps.
The bunker is basically the main area where you'll not only have to keep the people within alive, but also yourself during the reinforcements arrive.
The zombies are extremely resistant, so you will need a type of ammo called BlockchainZ, which contains a very strong poison that acts directly against the brain traveling through the body.
The BlockchainZ Ammo is hidden in Raiders's Facility Bases and you must spoil it from them. The more  B-Z Ammo you spoil, the more Raiders will attack you, increasing the game difficulty level.

Features.
Third Person Shooter. Tactical map to manage your troops across the battle. Deploy defensive elements to direct the action where you want. Post apocalypse - scify style. RPG character development.
Right now, we've just opened our Project page in the forum. We only have two weeks to develope this idea. Our team is formed by two programmers, one game designer/ scriptwriter and one artist. So, we will update this thread to show you our improvements. Hope you like it. Any suggestions are always welcome. Thanks for all the support!

• I have a project with a bunch of different .java files. Is there a way for me to organize them in eclipse while still allowing them to access each other?
If I split the project in different folders, Eclipse can't find the different files when they're called in a different file.
×