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.

  • CaptDust@sh.itjust.works
    link
    fedilink
    arrow-up
    19
    ·
    edit-2
    21 hours ago

    How? Blood, sweat and tears mostly.

    Usually it’s not recommended to start with your “dream game”. Pick an engine (I like Godot), grab some Kenney art assets, and get to work on a pong or snake clone. This can be using written tutorials, videos, or hard mode, read the docs and piece it together.

    Trying to learn a language, learn an engine, learn the art pipeline, learn game dev concepts AND dream up a new game concept with custom assets simultaneously is trying to boil the ocean. Start small: add a start menu, add a scene. Make jpg appear and move using player input, add an obstacle, add a death scene/restart. Iterate from there.

  • BougieBirdie@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    37
    ·
    21 hours ago

    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!

    • The Octonaut@mander.xyz
      link
      fedilink
      arrow-up
      4
      ·
      18 hours ago

      Agile is explicitly a way for a team to be self-organising. What benefit do you get from it as a solo developer?

      • BougieBirdie@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        6
        ·
        16 hours ago

        When I learned it, one of the core tenets was that you build a prototype and then iterate off of it. I guess that’s what I’m referring to

        Every organization I’ve worked for has a different bastardization of it, so your mileage may vary

  • averyminya@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    10 hours ago

    Passion project “dev”.

    Mechanics first. Placeholder template for what you need for visuals. There’re also free assets for that if you want to avoid your own altogether.

    Sound is a set all on its own, so I would save that for the near-mid to near-end point (before finishing touches). That is to say, don’t think about it for a while.

    Others have said, but take it like a cake. One piece at a time ;)

  • Björn Tantau@swg-empire.de
    link
    fedilink
    arrow-up
    9
    ·
    22 hours ago

    Either you learn how to make the assets, use free ones, buy them or commission someone.

    Hard to believe, because it’s such a high quality product. But every asset used in Diarrhea 4 was free. Apart from the fart noises. Those were made entirely by me.

  • weariedfae@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    11 hours ago

    A gamedev I know who has a currently running online MMO says:

    "Don’t overthink it. When I learned gamedev I learned how to display something on the screen, I learned how to move things on a screen, how to play sound effects and music, and then rolled it all together to make a simple pong game. If you can make that you can scale up from there. Buy an asset pack off of itch.io for whatever genre you want to make. "

    For context this guy made his engine from scratch.

  • maneframe@lemmy.sdf.org
    link
    fedilink
    arrow-up
    4
    ·
    11 hours ago

    Everyone has their own process, but I think it’s fine to just start with a simple idea that’s not yet a game, jump in, and experiment around, especially if you’re just starting out. I’m not an expert by any means, but I managed to release a small game of my own recently, and all I had at the start was a test where I could knock over a box by throwing a ball. Everything else that eventually became the game were ideas that I had later while playing around and showing it to other people.

  • foggy@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    21 hours ago

    Most solo devs don’t do everything. They download packages of meshes (3d objects) to… Not reinvent the wheel.

    You can, in most game dev studios, develop game logic, maps, textures, meshes, characters etc.

    People can buy them, use them, modify them, etc.

    That’s not to say none do. Just… The same ones don’t.

    Then there’s the issue of like… Youre building in Unreal, and you want a portal that when you enter, you shrink my 10%. Okay that’s… That’s not in the engine. So. Yeah. The wheel you’re reinventing here is pretty big.

    Idk if this fully elucidates. I’m in mobile and at work, hope this makes sense.

  • Cyborganism@lemmy.ca
    link
    fedilink
    arrow-up
    3
    ·
    22 hours ago

    Just ask the guy who made Axiom Berge, Thomas Happy. Or Stardew Valley creator, Eric Barone.

  • Tarquinn2049@lemmy.world
    link
    fedilink
    arrow-up
    13
    ·
    17 hours ago

    The process of making a game on your own involves failing to make the first 10 games you try to make on your own.

    Ultimately, it sounds like you already have a good handle on everything that goes into it, and are just hoping to hear it’s not actually as hard as you think it is… it is hard. Know that going in, and assess if you will be able to do it. But give yourself a bit of benefit, getting most of the way tends to increase your resiliance to the final hurdles.

  • Monster@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    13 hours ago

    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.

  • mipadaitu@lemmy.world
    link
    fedilink
    English
    arrow-up
    32
    ·
    22 hours ago

    Just like anything else, one chunk at a time.

    You can start with a story and build the game off of that, or you can start with the gameplay and build up from there.

    Sometimes you just have to start, and see where it goes. Pick an engine and start building something, don’t be afraid to throw it all out and start over from what you’ve learned so far. Make a game that has some of the elements you want to use and try it out, then throw it out and make a different game with other bits. Start small and work up.

    The biggest problem is thinking it has to be perfect to move on to the next part.

    You can commission art, or you can buy some models and just use those.

    You can also just build everything from the ground up, but it would be hard to do that for your first project.

    • dependencyinjection@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      3
      ·
      22 hours ago

      Thanks for the reply.

      This makes a lot of sense, particularly I am drawn to the “start building something” and the way I interpret this could be making some basic platforms at different Z Axis’s and work on the movement for the cat, then throw it out (well keep it saved somewhere to look back to) and work on something else, like the environment or whatever. Then hopefully this will inspire other ideas and the game will grow from there.

      I am going to start and see how we progress. Thanks again.

      • xmunk@sh.itjust.works
        link
        fedilink
        arrow-up
        7
        ·
        22 hours ago

        If you need inspiration PirateSoftware has some good pieces on getting started with game programming and regularly runs game jams.

      • SzethFriendOfNimi@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        21 hours ago

        I don’t write games but a lot of people that do often say something similar. Do play tests for the concept/mechanics.

        This way you don’t spend time/energy and resources on art and assets that won’t be used, etc.

        Similar to a minimal viable product in regular dev or, perhaps a better analogy, technical demos.

        You want to write a site or app that fetches API data for GPS, calendar and Weather and show them together? You don’t start with the UI. You start with:

        • Can I get the GPS coordinates
        • Can I call another API and get the weather for those coordinates?
        • Can I get the coordinates or other info for some future location?
        • Can I send that to get the weather?

        Once you know you can and that it “works” you build around it.

        So like you said. I have boxes, and this other box (or static PNG of a cat) moves around them and when I move this way it drops the box down on another box.

        Does that work? Does it feel “fun” to arrange them? No, it feels tedious or can’t get the collision right? Then let’s try a different angle or taking the part that did work and iterating on it.

        This also leaves you open to random bugs that end up being “fun” when you lean into them.

        Game Makers Toolkit has some good videos on his journey making “Mind over Magnet”. Here’s the playlist.

        https://youtube.com/playlist?list=PLc38fcMFcV_uH3OK4sTa4bf-UXGk2NW2n

        There’s also PirateSoftware whose entire stream is devoted to “go and make games”

        • dependencyinjection@discuss.tchncs.deOP
          link
          fedilink
          arrow-up
          4
          ·
          20 hours ago

          Thanks for this. This will be very useful. There is so much to learn, and honestly that’s what keeps me not sad all the time. I never really care if I drop a hobby and move into something else as it’s the journey that I find pleasure in.

  • webghost0101@sopuli.xyz
    link
    fedilink
    arrow-up
    6
    ·
    22 hours ago

    By starvation.

    I am not even kidding, see indie game the movie.

    Games are art and making art in this works comes with the sacrifice of not being able to afford anything until you by chance become popular.

    • dependencyinjection@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      4
      ·
      20 hours ago

      Thanks. I guess for me I just want something to focus on and can create over time.

      Not really relevant but I’m fighting depression again and I really need something to focus on.

  • j4k3@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    22 hours ago

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

  • Paradachshund@lemmy.today
    link
    fedilink
    arrow-up
    11
    ·
    22 hours ago

    One thing I’ll throw out there is while there are rare cases where a solo dev really does everything themselves, when you see a really ambitious looking result from a supposedly solo dev, it’s very likely they either contracted things out, bought/found assets, or had on and off help from people. It’s only solo in the sense it’s their vision and they get to put things together/make all the final calls on the game.

    Making stuff solo is hard. I’m doing it right now and I’m purposely trying to use a lot of stock assets for art and music because the game alone is already a massive task by itself. Don’t be afraid to use what’s out there. If your game feels good to play most people will never worry about whether you hand built every blade of grass. In other words, go for as small a scope as you can, and don’t be afraid to cut corners.

    • dependencyinjection@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      6
      ·
      20 hours ago

      Thanks. This is likely very true, I think Stardew Valley is a game where the dude did it all, but I guess that’s the exception and most games are collaborative efforts.

      • Paradachshund@lemmy.today
        link
        fedilink
        arrow-up
        3
        ·
        15 hours ago

        People like that really aren’t fair, are they? Save some talent for the rest of us. 😅

        It’s worth noting the dude worked his ass off and had financial support to pay living expenses from his partner:

        For four years, he says, he worked an average of ten hours a day, seven days a week, on Stardew Valley. Luckily, he was living with his girlfriend, a graduate student in, appropriately, plant biology, and to help stay afloat he worked part-time as an usher at Seattle’s Paramount Theatre

        Not diminishing his accomplishments at all, but I think it’s always good to compare effort to effort, resources to resources, rather than simply team size. Most people can’t spend 4 years with that pace without investment backing.

      • codenamekino@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        17 hours ago

        If you end up going in the Godot direction, a friend of mine has some useful tools to easily get started on animation rigging and controllers here.

        He got started a couple years ago with no game dev experience, and he’s done a couple of game jams recently, but most of his time has been spent building workflow tools. A couple months ago he finally got around working on one of the original games that he’s wanted to make since he started.