Advertisement Jump to content
  • Advertisement
  • 10/22/18 02:30 AM

    How To Make Games Without Programming

    General and Gameplay Programming

    jbadams
    • Posted By jbadams

    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.

    The browser-based Construct 3 editor

    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.

    Logic blocks in the Stencyl editor

     

    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.

    Unreal Engine Blueprints

     

    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


    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

    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
  • What is your GameDev Story?

    In 2019 we are celebrating 20 years of GameDev.net! Share your GameDev Story with us.

    (You must login to your GameDev.net account.)

  • Latest Featured Articles

  • Featured Blogs

  • Advertisement
  • Popular Now

  • Similar Content

    • By DevBlazer
      Hi all, I am currently playing around with making a 2D underwater survival game (pet project, not too serious) but I need someone I can sit with for like an hour or so, to help me flesh out some reasonable mechanics for the behavior of liquids and gases in relation to gravity, pressure, etc. (Sorry guys I totally failed science class and have no intention of studying it now).  There obviously has to be a balance between what I'm willing to code for and realism and then assistance with understanding some mechanics and how their formulas, etc would work.

      Again, I'm not trying to recruit anyone here, just looking for someone knowledgeable to have a friendly chat with for a little while.
       
    • By lougv22
      I am currently an indie game developer and I am looking to get a job with a game company as a game programmer. I worked for a game studio 9 years ago, but at the time I decided to get a day job as a software developer (non-game development), while focusing (as an indie developer), during my free time, on a vision for a game I've had for some time.
      This was then, but i've recently found myself unsatisfied with my day job and I am now thinking of going back to the game industry. The drive to make games is just too strong in me and I can no longer justify spending my days making software I am not excited about. Which leads me to my questions about a game programmer portfolio. Before i first got a job at a game studio i had built a couple of small games, this was way back though, around the year 2006. Would those be too old to showcase on a portfolio?
      Second question, i'd like to make the indie game i am working on available for potential recruiters to play, but I am not sure how to do that. I tried to put it up on Shimmer.io (kind like itch.io, but not as popular), but i ran into issues with that. It's a Unity game and the Web build i created for it was about 190 MB and it ran slowly and was very choppy on my machine, at which point i kind of gave up on the idea of putting it up online. The other option is to simply send (through email or Google drive) game companies a regular Unity build and let them play it that way. The question is, should i try to go the Web build route again and if so, any tips on making it work well this time? And also, if the Web build doesn't work again, would it be acceptable to send companies i apply for a regular build?
    • By IronicallySerious
      I have dabbled into almost every single field of study that goes into making a game. Currently, I am a sophomore and I made 2 VR titles and 1 non-VR. Next, on my journey, I went on to create a 2D game engine with very basic but "Turing complete" features. 
      Having experienced a small piece of everything that there is I am finding it very difficult to commit all of my efforts into a single field. I loved my time making gameplay systems, playing with OpenGL, creating 2D basic physics simulations and making sound engines and the regular engine stuff.
      How should I decide what I should go deep into? I am aware of the fact that the industry doesn't really look for complete package candidates for job/internships because normally they tend to get a small task which is dependent on a small section of the game (generally speaking).
      I kinda want to maximize my chances of landing somewhere good so I am trying to make a very planned approach from the beginning. I am 3 semesters in my CS major (out of 8 semesters) and the time for looking for internships is getting close. This is really bugging me because I am also the only one around here that is interested in making a career out of gamedev. If I continued to get demotivated like this I may just hop on to one of the "fad" tech nowadays like Machine learning and Cloud etc., which I see as a waste of my effort from the past 4 years to get to a point where I am able to explore gamedev to this considerable extent.
    • By Geonamic
      You know those single player RPGs that you have a ton of fun with, but when you're completely done, there's not much of a reason to do another playthrough, aside from self-made challenges, nostalgia, and perhaps understanding the story better? That's why I'd like to have this thread dedicated to thinking up an idea that involves competition with other players through an online server that is NOT simply your team versus another player's team.
      An idea I had was have randomly selected party members, who have randomly selected gear/items, fight a certain amount of randomly selected enemies per battle, and for every win, you get points. Throw in a time bonus for winning under X minutes/seconds to get even more points. Once you get a game over, your record gets submitted to an online server for X total battles/X total points, so players can compete for the highest score. The more wins a player racks up, the more enemies are present in future battles. I can see how randomly selected party members, gear, items, and enemies per battle could screw you over if you have bad luck, but I thought it'd also be too boring to retry for a higher score with everything being similar, so that's why everything is random.
      Do you think this idea works? Do you have any input to polish it up? Can you think of another idea that'd be even better for the concept of player competition?
    • By zqf
      Hello.
      I'm working on a project to teach myself network programming and the little game I have in mind is a coop arena shooter.  A fast moving game, lots of simple enemies and projectiles frequently spawning and dying. I've been reading what I can find about synchronising the game state (snapshots, delta compression, update prioritisation), but this mostly relates to objects that already exist, not how to deal with a high volume of new objects coming and going.
      Does anyone have any suggestions/advice relating to this kind of problem?
      My thoughts so far are based on using what determinism I can and playing the game back as as sequence of events as best I can. Eg if I want to spawn a spread of a dozen projectiles I can reconstruct all of them from the initial condition of the first plus a random seed or index to some kind of predefined pattern that might deterministically recreate the whole group. This combined with trying to do as much movement as possible via paths that can be interpolated (so a spawn event can be played up to the right position on the client when received and just played forward with every tick without direct synchronisation except in the case of death) so even if the event is received late it can be easily wound forward
      If I'm barking up the wrong alley here I'd love to know! Thanks.
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!