Skip Navigation

How do solo devs make an entire game themselves? M

So, the question seems vague but I will elaborate.

I’m a software developer, but I don’t do games; yet I have an urge to try and make something.

It just seems so overwhelming, I know I want to make a game where the main character is a cat and you have to complete missions, but where do you even begin. Where does the art come from? How do you refine your idea, if all you know is you want a cat game? How do you choose an engine? Do you just start with the basics and get a cat walking around and see what comes next? If you can’t hash out the idea then so you have a right to even try and make a game? Is it best to follow tutorials to get used to making games? I feel the answer to that is no as before I become a software developer, tutorial hell was a thing and I realised I needed to make things for me to actually learn.

Sorry for all the questions, this was just a stream of thought.

43 comments
  • Hey, I'm also a software developer, and I dabble in game dev.

    You eat an elephant one bite at a time. You're probably already familiar with Agile, and that's a good way to organize your project. Start small, get one thing working, and then you can iteratively add features.

    If you're interested in game design, you may want to do some reading on the subject. The Onion model for game design is highly effective. You start with a core feature, finish that feature, then add new layers by adding new features. You complete each feature before you start on the next, and this way you always have a working game. It's fairly similar to Vertical Slices in Agile development.

    As far as choosing an engine, I'll make it easy for you and just recommend Godot. It's FOSS and widely used in particular by solo devs. I've also dabbled with Unity and Unreal, which will be the other major free (but proprietary) options. Unity has less ramp-up time than Unreal, but it also has a history of screwing with its users. You're probably familiar with vendor-lock, and that's what you'll be getting into if you try either of those.

    You may already have the skills to build your own engine. Don't. You'll pull your hair out on all the edge cases and abstractions, and an off-the-shelf engine already has that figured out for you.

    As far as learning to use the software, I guess that depends on your learning style. There's books, videos, and official documentation on the web for whatever engine you decide to use. I'd recommend you use the same approach as learning any other new stack or library. For me, that often means going to the documentation's Getting Started page and just playing around.

    As you mentioned, tutorial hell is real. Don't get me wrong, tutorials are a great way to learn the engine's features that you aren't already aware of. But don't be afraid to go off-script and just play around. Sooner or later you'll have to make your own sausage anyway.

    Since you already know how to code, you've got a huge leg up on most beginners. The hardest part about making games is creating assets and scripting features. As far as assets go, you can certainly make them yourself, or you can outsource that work with third-party assets. While you're learning, I'll recommend Kenney - they're highly regarded in the game dev community, and all of their assets are CC0 licensed so you're free to use them even without attribution.

    Good luck!

  • I was a pro game developer for 19 years, more or less. After my last job ended, I self-published an indie game. To this day, it's not made enough money to trigger a single payout. I failed. So it's fair to take my advice with a grain of salt, if not a whole block. But here's my two cents anyway.

    Start by sketching and writing. Think of verbs; games are all about doing things, even if it's just advancing through a conversation. Your protagonist is a cat, so cats run, jump, explore, play. Think of why the protagonist is doing things. Where do the missions come from? And in this case it's hard not to look at Stray. There's almost always something that's come before, even if it's not super high-profile like Stray. Think about what you want to do different.

    Art will come from you, if you go it alone and can't or don't want to buy art assets. Blender and GIMP are hard to learn, but free and powerful.

    Your engine is almost certainly going to be Unreal, Unity, or Godot. Each has strengths and weaknesses, including the cost of use. You have to factor it all in.

    I do think you're right that you'll learn more by making things than doing tutorials, but be aware if you start spinning your wheels on something. You'll benefit from both.

  • I recommend reading about Daisuke Amaya (a.k.a Studio Pixel) and his creation, Cave Story.

    He made the game in the course of five years and moved to a less intensive and low pay job to work on the game. The man made the art, soundtrack, the program he used to compose and render the said soundtrack and the fucking game engine. He's also called "The father of indie games"

    https://www.cavestory.org

  • Hrm... I suppose I spent 15 years making other people's games first. >_< More seriously, just start with small stuff. Make a simple 2D game with a something like the Love framework or Pico8. Then try to scale up a bit or use something a bit more powerful. If you are really want to make a game solo, then the best thing you can do is learn to control your scope. You'll never be able to be good at every part of making games, so figure out what parts you want to work on and figure out how to make a game around those skills.

    You also don't have to make do it alone. You can hire out art, programming, sound, music, writing... really anything. Most "solo" devs do that to some extent. Also try and seek out your local gamedev community. Asking online is fine, but you'll get more out of an in person conversation with someone who's done it before.

    Lastly, game jams. There are smaller game jams going on all the time, but the big one is the global game jam in January. I've always liked that one because there are always new people. In my experience, fresh gamedevs are always perfectly welcome. You'll have someone else on the team that can rough out the structure for you, then you just need to apply what you already know as a software developer to fill in some blanks. People also like to do role bending at jams too. Programmers will try making art, artists will try making music, and sound people will try programming. Jam games are usually bad, so nobody will expect anything you make to be any good, but people generally have a blast doing it anyway. :) I like to rope people into making NES games every year because even as experienced game devs they are so sure they can't write C code, let alone for something 40 years old, certainly not in 48 hours! They do just fine once they dig in. :D -> https://www.slembcke.net/nes/

  • If you want to see more of the nitty gritty, there are tons of devlog series on YouTube where you can watch people put together a game from scratch. GMTK’s series is pretty good, though keep in mind that he started with an audience so he had some advantages along the way!

    Sacred Forest is another fun series I’ve been following, and ThinMatrix’s channel is popular and has already made a few games. Miziziziz also has a few series but I recommend his 4 devs 1 art kit jam series because it shows how a lot of small games can be made quickly

  • Look at the gource utility commit visualization history of some open source games.

  • Well, for someone like me who had no inkling of programming skill until I forced myself to learn, let me tell you it was HARD. Everything about my game was a learning process but I took that as a challenge to improve myself and make myself more adaptable for future projects.

    To give you basically a rundown of how I'm making my game is I first started with an idea. I liked playing Paper Mario and Super Smash Bros so I decided on gameplay similar to those two. Then, I chose Unity based on a recommendation from a teacher. As I learned coding through YouTube tutorials and asking questions on forums, I started with a simple script to control a tic tac that runs around a quick map I made with primitive shapes. And from that initial prototype I added more and more things. Different mechanics, quests, etc. For art, I'm making most of it on my own since I'm an artist first thing but most I'm getting from free sites like turbo squid or the Unity Asset Store. Music and sounds I'm using temp stuff until I can get to making them.

    For myself, even making a simple mechanic of controlling your cat to explore an environment is a game. Sure, it might not be GTA quality, but it's still a game. From here you can make something more interesting. I always say that in order for something to look beautiful, first it has to look ugly. Even a beautiful butterfly has to start as a worm.

43 comments