19 votes

How hard is it really to create your own video game?

I kind of want to start this discussion because something I’ve always wanted to do is make a video game, even if it’s just a small indie platformer. I’ve even gone so far as to plan out an entire game universe timeline with fleshed out characters and factions, but I have no point of reference on where to start. So, how do you start this process and where are some resources to learn?

30 comments

  1. [6]
    lou
    Link
    So, because this is Tildes, a lot of people will talk about coding, engines, and such. And that is wonderful, you will need that! I am familiar with programming and game-making tools, but I am...

    So, because this is Tildes, a lot of people will talk about coding, engines, and such. And that is wonderful, you will need that! I am familiar with programming and game-making tools, but I am absolutely not a programmer, so I'll tell you this: what scares me is not the coding. It's the worldbuilding, the writing, the art, the sound effects, the "game feel". Nowadays, there are so many tools to help make a game from the technical aspect that it is basically guaranteed that, unless you're aiming way too high, anyone can probably do it. The real challenge is making a game that is engaging mechanically, aesthetically, technically, and narratively.

    I mean, anyone can type on a keyboard, but few can write a good novel.

    10 votes
    1. [5]
      EgoEimi
      Link Parent
      And more importantly, a novel novel. Games have come a long way, and people now expect a lot from games. A simple platformer isn't enough now.

      And more importantly, a novel novel.

      Games have come a long way, and people now expect a lot from games. A simple platformer isn't enough now.

      3 votes
      1. [4]
        cfabbro
        (edited )
        Link Parent
        Just because AAA games with insane production values exist doesn't mean smaller scale, simpler, Indie games don't still have their place. And 2D platformers are still pretty damn popular, and sell...

        Just because AAA games with insane production values exist doesn't mean smaller scale, simpler, Indie games don't still have their place. And 2D platformers are still pretty damn popular, and sell well.

        5 votes
        1. [3]
          pArSeC
          Link Parent
          All of this is true, but even the most humble of indie games that I've played have absolutely blown me away with the level of effort and thought they must have taken to put together to pass the...

          All of this is true, but even the most humble of indie games that I've played have absolutely blown me away with the level of effort and thought they must have taken to put together to pass the basic bar of getting themselves in front of me in the first place. There's a HUGE amount of talent out there. It's relatively easy to pass the baseline target of making a game, but making a game that at least 500 people play for more than 3 minutes - I suspect - is quite hard. Anything more than that probably requires serious talent.

          2 votes
          1. cfabbro
            (edited )
            Link Parent
            Okay, sure, lots of indie games are impressive... but I also can't help but feel like going on about how high everyone's expectations are, how much effort it takes to make a top selling game, and...

            Okay, sure, lots of indie games are impressive... but I also can't help but feel like going on about how high everyone's expectations are, how much effort it takes to make a top selling game, and how talented many indie devs are, is only going to discourage people. And IMO encouragement is what we should be doing in this thread. Not shitting on OPs dreams of making a game.

            It's okay to start simple and start small. Not everything has to be a masterpiece in order to be admired, appreciated, and played by people.

            6 votes
          2. lou
            (edited )
            Link Parent
            That is true, but let's not be so discouraging. Wonderful new creators pop up every day, seemingly from nothing. There are also different levels and kinds of success, with different audiences. A...

            That is true, but let's not be so discouraging. Wonderful new creators pop up every day, seemingly from nothing. There are also different levels and kinds of success, with different audiences. A game doesn't need to win awards and sell millions to be rewarding for its makers. Besides, originality is relative, and not a deal breaker for many. In some cases, a competent version of a known trope will be in a better position.

            Being good is generally more crucial than innovation.

            WoW was EverQuest for casuals, EverQuest was highly derived from DikuMUD, and DikuMUD was just a guy trying to make an engine to replicate some MUD he played... Originality is overrated.

            3 votes
  2. [9]
    FlippantGod
    Link
    I strongly recommend starting with Pico-8. It is wonderful to work with: You can immediately write an input handling loop and start moving pixels. There are multiple excellent platformers which...

    I strongly recommend starting with Pico-8.

    It is wonderful to work with:

    • You can immediately write an input handling loop and start moving pixels.
    • There are multiple excellent platformers which you can study.
    • The extremely minimal graphics prevent you from wasting time early in a project and make any artistic skills look at least decent.

    Lastly, the tight constraints will brutally prevent feature creep and force you to make something fun, rather than something that will never get done.

    7 votes
    1. Akir
      Link Parent
      I really love that they chose to base the coding parts of Pico-8 around Lua. Lua is such a nice relatively minimalistic language, and I kind of appreciate all the places that it pops up in. It's...

      I really love that they chose to base the coding parts of Pico-8 around Lua. Lua is such a nice relatively minimalistic language, and I kind of appreciate all the places that it pops up in.

      It's also a great choice because there are a number of game frameworks that run on Lua, so you don't have to worry about learning a new language if you decide to make a more fleshed-out PC game later on.

      3 votes
    2. [7]
      lou
      Link Parent
      Looks really great, but it's a shame it's 15 US dollars. That's quite a bit of money in my currency.

      Looks really great, but it's a shame it's 15 US dollars. That's quite a bit of money in my currency.

      1 vote
      1. [6]
        csos95
        Link Parent
        TIC-80 is a free and open source alternative to PICO-8.

        TIC-80 is a free and open source alternative to PICO-8.

        5 votes
        1. [5]
          lou
          Link Parent
          Awesome, thanks ;) Should learn some Lua beforehand to make games on PIC-8 or TIC-80?

          Awesome, thanks ;)

          Should learn some Lua beforehand to make games on PIC-8 or TIC-80?

          2 votes
          1. [3]
            csos95
            Link Parent
            The reference manual and Programming in Lua book are two official resources for Lua and are a good starting point. Note: This free version of Programming in Lua was written for Lua 5.0, but it's...

            The reference manual and Programming in Lua book are two official resources for Lua and are a good starting point.
            Note: This free version of Programming in Lua was written for Lua 5.0, but it's still mostly relevant even if some specifics have changed.

            For TIC-80 specific stuff, their GitHub wiki has pages listing tutorials, the provided api, how the built-in editors work, and more.

            Something I didn't realize until looking at their wiki is that they support more than just Lua.

            TIC-80 Supports multiple scripting languages, including:

            Fennel
            Javascript (ES5)
            Lua
            Moonscript
            Ruby (Ruby 2.x compatible mRuby, specifically)
            Squirrel
            Wren
            Janet
            Scheme (s7)

            TIC-80 also supports compiled languages via our WASM support. If your compiled language of choice can compile to Web Assembly there is a good chance you could use it to develop for TIC-80.

            I've been using Fennel a lot recently in some small projects (mostly web scraping, processing some data, and adding it to a database or search index) as part of my latest attempt to get into Lisp stuff, so I might do something with it in TIC-80 the next time I get an urge to create a little game.

            5 votes
            1. [2]
              FlippantGod
              Link Parent
              This is much more useful than my response, and I learned something too! I wonder how hard it would be to support cakelisp.... Probably not hard.

              This is much more useful than my response, and I learned something too! I wonder how hard it would be to support cakelisp.... Probably not hard.

              3 votes
              1. csos95
                Link Parent
                This is the first time I've seen cakelisp, but from skimming the readme and docs it looks like it would be relatively straight-forward to use it with TIC-80 through their WASM support. They have a...

                This is the first time I've seen cakelisp, but from skimming the readme and docs it looks like it would be relatively straight-forward to use it with TIC-80 through their WASM support.

                They have a c starter project to use as a reference.

                3 votes
          2. FlippantGod
            Link Parent
            No need. Looking over the console's syntax and built-ins is definitely enough to get going.

            No need. Looking over the console's syntax and built-ins is definitely enough to get going.

            2 votes
  3. [2]
    somewaffles
    Link
    Preface: I do not want to scare you away from making a game. There are TONS of resources out there for all sorts of engines, for all sorts of skill levels. It is possible even for someone with no...

    Preface: I do not want to scare you away from making a game. There are TONS of resources out there for all sorts of engines, for all sorts of skill levels. It is possible even for someone with no coding/whatever experience.

    THAT BEING SAID, making games is hard af. I have worked as a software dev for about 7 years, musician for 15, and have dabbled in writing and visual arts most of my life. I have been able to release one "full" game so far, and it was just a little mini game for a game jam. I have tons of little toys and unfinished projects, but most not worth releasing. Even with the technical, art/music, and writing abilities, I find it really difficult to finish a project because I end up realizing my games just end up not being fun. Your art can look great, music is stunning, and the systems you code work flawlessly but coming up with a fun gameplay loop is the hardest creative task I think I've worked on. It involves taking all that code/art/sound and making it work within your gameplay loop, in a way that doesn't suck. You could potentially outsource most parts of development (if you're fine giving up some creative control) but the gameplay concepts come from you. It's a lot harder than it sounds to make a fun game.

    As prefaced, I don't want to scare you, but I also don't want people to try to make games and realize they just keep failing at it. You mentioned you have the world building planned out, which is great! Lots of games lack a good story / world presence. But, there is A LOT of boilerplate knowledge that goes into game development, and even when you get past that, it's an uphill battle. Even something like the little indie platformer you mentioned, introduces layers of complexity that a beginner is not ready to handle.

    The most common piece of advice for beginners is to start by just recreate really simple games that exist. Recreate pong, snake, or breakout then try to mess around with different aspects of it to make it something interesting. IE make pong, but introduce an extra block that floats around the screen that deflects the ball and adds a little variety to the gameplay. You learn so much by just doing it and learning as you go. The idea is to keep the game small and manageable. This also helps because you get to avoid the hardest part, which is coming up with the gameplay hook. Games are super complex systems, and a its a big mistake to start off by trying to create your "dream game."

    If coding seems scary to you, I would check out Gamemaker Studio, Construct, or Stencyl. There are a bunch others, so do a little research on what appeals to you and your eventual goals the most.

    7 votes
    1. Tygrak
      Link Parent
      Agree fully. Creating game is really hard, mostly because you often need to make use of many different skills, and for a newcomer multiple new software. I'd actually recommend to go even simpler...

      Agree fully. Creating game is really hard, mostly because you often need to make use of many different skills, and for a newcomer multiple new software. I'd actually recommend to go even simpler for your first game and use something that doesn't even need you to code if you arent already a programmer. Use Twine for interactive fiction or Bitsy if you want to walk around in 2D. These tools are actually simple enough that there you wont get overwhelmed and you can make games that are still very charning and can let you focus on the worldbuilding/story.

      4 votes
  4. [3]
    Protected
    Link
    I made a few complete games when I was a young teenager, including a full, reasonably balanced, reasonably fun JRPG for my brothers using a long dead engine and Final Fantasy IV and Zelda assets...

    I made a few complete games when I was a young teenager, including a full, reasonably balanced, reasonably fun JRPG for my brothers using a long dead engine and Final Fantasy IV and Zelda assets (terrible plot!), a Chip's Challenge style puzzle solver with a level editor inspired by a QBasic game I liked (and several levels for it), a target shooter played with the mouse (a bit like that fly swatting game from Mario Paint) and more. (Never quite cracked platformers at the time, not for lack of trying, collision physics are hard!)

    I haven't made any games in a really long time - last ones were a Tetris implementation for an Asus ad campaign and a javascript Snake entirely written in an empty conference room while waiting for a prospective client to (eventually refuse to) see me (possibly the most boring week of my life) - but... You can make games in whatever medium you want. If a kid could do it, you can do it. I took a game design class in college and the first thing we learned was to make games without touching a computer. Prototype in paper. Make tabletop games. Design the components and mechanics and how everything interacts and balances with each other. This can be very simple for a platformer, but you may also find that its core the idea you have is not very interesting yet. Not to worry! Just tweak it until it seems fun and original and just the right amount of challenging. Don't add too many conflicting mechanics, though, or it will be hell to balance and feel clunky and confusing.

    My second piece of advice is to play a lot of games. You know how it's almost universal advice that people who want to write should read a lot? Yeah, same thing here. But don't just play a million first person shooters - seek out all those weird niche indies that are really different from each other, or if you want to make a platformer play all kinds of platformers first.

    People who aspire to be videogame designers are usually advised to know how to program. You don't need to know how to program games specifically, that will come in time. Make sure you know the basics of programming. A good programmer can pick up any language and any paradigm eventually, because they understand how the system works and what the algorithms are doing. Don't get too married to any specific technology, unless you're trying to get a job doing specifically that (specialization is often something you end up wanting to do, but you should know why you want it).

    If you know how to program and you understand conceptually the mechanics of the game design you're trying to implement, it should be much easier to figure out where to begin.

    I’ve even gone so far as to plan out an entire game universe timeline with fleshed out characters and factions

    This is a writing thing! Many game designers are the writers of their games, or have been writers in the past (see Tim Schafer for instance). Worldbuilding is a fun part of writing fiction, whether it's for a novel or a videogame. There's a whole worldbuilding subreddit if you want to talk about your world with other people.

    It's great that you have the flavor already, but remember that some parts of the development process - creating visual assets, for example - can be postponed, especially if you are not competent or confident in doing those yourself. Don't be afraid to use placeholders. Need a protagonist? Use a rectangle. You can even name the rectangle. You could call him... Thomas. Wait, no-

    Especially for your first game, you may end up having to use premade assets, free or purchased for example in the Unity Asset Store, or you can pay other people to make them for you. You don't have to do everything yourself. Just don't try to contract everything out, unless you have a lot of money and want to start a studio. If you really want it to be your game, you should fulfill at least one of the development roles yourself. If you really don't want to be a programmer in your game, for instance, there are also indie games that are artist-designed. In this case you might do things the other way around - create concepts, sketch out characters and assets, and write down how you want everything to work together, then find a friend or partner to implement it.

    7 votes
    1. [2]
      somewaffles
      Link Parent
      This is really good advice, and touches on a lot of stuff I didn't expand on in the comment I wrote literally two minutes after you posted yours haha Would this happen to be RPG Maker?

      This is really good advice, and touches on a lot of stuff I didn't expand on in the comment I wrote literally two minutes after you posted yours haha

      reasonably fun JRPG for my brothers using a long dead engine

      Would this happen to be RPG Maker?

      1 vote
      1. Protected
        Link Parent
        It was a really cool but ridiculously buggy engine written by a small team that was working on their own games. It was called DreamCreate. It handled concepts like sprite sheets, levels,...

        It was a really cool but ridiculously buggy engine written by a small team that was working on their own games. It was called DreamCreate. It handled concepts like sprite sheets, levels, animations, events with triggers and its own scripting language, turn based combat with custom commands, spells, status effects, etc. I think it stopped working some six Windows versions ago (I don't think it was 16 bit, but I remember being told by a developer many years ago that the C source code was held together by spit and dreams.)

        2 votes
  5. vektor
    Link
    I think the most critical information we need is: Where are you starting off? If you've got a degree in CS and years of software experience, the answer will be vastly difference to someone who's...

    I think the most critical information we need is: Where are you starting off? If you've got a degree in CS and years of software experience, the answer will be vastly difference to someone who's not touched maths since leaving high school.

    3 votes
  6. Pistos
    Link
    I haven't written a full-blown game, but I am a software engineer. If you want to aim for a reachable, simple target, then using a game-building framework is probably the way to go. However, I'll...

    I haven't written a full-blown game, but I am a software engineer. If you want to aim for a reachable, simple target, then using a game-building framework is probably the way to go. However, I'll tell you what: as a software engineer, I think a huge part about making a good game is the non-engineering stuff: the visuals and the music. That means 3D models (characters, monsters, buildings, objects), textures, 2D art (loading screens, character imagery, maps), UI elements (windows, buttons, etc.). That means sound effects, and well-written, well-produced music.

    I think I have the technical chops to pick up almost any game engine and get going with it, but when it comes to visuals worthy of being in a game that people would spend money on, my skillset is near zero. I honestly think it's easier for good artists to learn to program a successful game than it is for good programmers to make good-enough video game art.

    3 votes
  7. [2]
    whbboyd
    (edited )
    Link
    Alright, so, I'm going to buck the general trend of the advice here and say: it's easy to create your own video game. Obviously, there are some caveats. But if you want to get your feet wet, for...

    Alright, so, I'm going to buck the general trend of the advice here and say: it's easy to create your own video game.

    Obviously, there are some caveats. But if you want to get your feet wet, for personal edification and enjoyment, that's essentially never been easier. There are really good tools, frameworks and tutorials out there. Pick one by whatever measure you like and dive in.

    So, the caveats:

    • I cannot emphasize this enough: do not plan to make money on your first game. (Or your second game, or probably any game unless you're signed on with a fairly sizable publisher.) Selling a game actually is extremely hard, and the vast majority of indie game makers do not make a dime off their games.
    • Also, I don't mean this to sound dismissive, but making a good game actually is fairly difficult, too. Game design isn't its own whole field because it's trivial; there's a lot of subtlety, and big professional outfits absolutely get it wrong with some regularity.
      • As a corollary, don't make "the videogame you want to make" first. It will not live up to your expectations. Figure out your tools and your gamemaking "voice" first, before you start trying to realize your dreams and either fail, or make "the videogame you want to make" and it unfortunately sucks.
    • Making a game engine is extremely difficult. Doing it solo even more so. Modern game engines are complex beasts, running under constraints that are extremely esoteric in software and thus difficult to learn about and prepare for. (For example: in a game running at 60fps, you have sixteen milliseconds to do everything you need to do for each frame, every frame. In the webapps I work on at work, we tend to take notice when tail latencies go above 500ms or so; literally a 30-times looser time constraint.) Don't make a game engine unless you're already really good at programming and you want to seriously challenge yourself; and don't plan for your bespoke game engine to ever make you any money or form the basis of a non-tech-demo game.
    3 votes
    1. teaearlgraycold
      Link Parent
      I don't really like this attitude. How did the people who make production-ready game engines get to where they are now? They probably made a bunch of bad game engines and wrote a bunch of other...

      Don't make a game engine unless you're already really good at programming and you want to seriously challenge yourself

      I don't really like this attitude. How did the people who make production-ready game engines get to where they are now? They probably made a bunch of bad game engines and wrote a bunch of other bad bits of code.

  8. [2]
    cfabbro
    (edited )
    Link
    The two biggest engines for indie devs these days are Unity and Godot. Unity has pretty comprehensive Learning Pathways courses, and there are lots of decent Godot tutorials too. So those are...

    The two biggest engines for indie devs these days are Unity and Godot. Unity has pretty comprehensive Learning Pathways courses, and there are lots of decent Godot tutorials too. So those are probably where I would recommend you start, depending on which engine you want to learn.

    For something a bit more simple, solely focused on 2D, and likely a lot easier to learn, there is also GameMaker as well, which also has plenty of tutorials too.

    2 votes
    1. Akir
      Link Parent
      Godot has seen extremely rapid growth. The upside is that it’s probably “the” engine to recommend to newbies. The downside is that a lot of those tutorials will not be very accurate for the latest...

      Godot has seen extremely rapid growth. The upside is that it’s probably “the” engine to recommend to newbies. The downside is that a lot of those tutorials will not be very accurate for the latest version, so you will want to try to find something up to date.

      4 votes
  9. zonk
    Link
    As already mentioned, it's really hard to give tips and recommendations when not knowing where you're starting from. But coincidentally, I've watched this YouTube video the other day that compares...

    As already mentioned, it's really hard to give tips and recommendations when not knowing where you're starting from. But coincidentally, I've watched this YouTube video the other day that compares game engines. I feel like that will be useful if you're starting out with Game Dev, no matter what the current state is :) I found it interesting and I'm a programmer with no Game Dev experience.

    2 votes
  10. teaearlgraycold
    Link
    Depends on the platform. I believe the Playmate makes it easy to make a game from scratch since the console itself is so simple.

    Depends on the platform. I believe the Playmate makes it easy to make a game from scratch since the console itself is so simple.

    2 votes
  11. Octofox
    Link
    Where to start? Download Unity and mess around with the tutorials. Will you produce a successful game that releases on steam? Probably not, but you'll have fun and learn along the way.

    Where to start? Download Unity and mess around with the tutorials. Will you produce a successful game that releases on steam? Probably not, but you'll have fun and learn along the way.

    2 votes
  12. skybrian
    Link
    I think level design is a common way to get started? Many games have tools for creating your own levels.

    I think level design is a common way to get started? Many games have tools for creating your own levels.

    2 votes