I’m trying to make a pocket pet game, like the evolution of all the little calculator screened toys in the 90’s and 00’s. I don’t want it to be the whale hunting, spyware riddled garbage that most phone games are. I’d rather like to release it on F-Droid instead of Google if I release it at all. I have all of it worked out on paper, from the random tables to the creature stats, to the combat mechanics, you can play it as a pen and paper if you wanted to. Problem is, I’m a pen and paper guy, and I’m having an awful time trying to learn anything about code. Where do I go to get help with this?

  • Like the wind...@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    12
    ·
    22 hours ago

    Code isn’t that hard to learn, it just looks intimidating trust me.

    Gamemaker and unity are free. Anyone can make a game.

    Just make it on your own.

    • Postmortal_Pop@lemmy.worldOP
      link
      fedilink
      arrow-up
      6
      ·
      22 hours ago

      You’re absolutely right about the intimidation.

      Is there maybe a guide or something that’s more a guide book on common things and less “learn this whole foreign language from scratch”?

      • calcopiritus@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        3 hours ago

        No. There is no way to learn programming without a programming language. That’s like trying to learn art without using any form of artistic expression. I’m not an artist or nowhere near it but I believe it’s an appropriate analogy.

        Just like art, you start by doing something, say drawing with a pencil. It is incredibly hard since you have to learn both how a pencil works and how to do art at the same time.

        Once you have practiced, you know how a pencil works, and must’ve learned something about how to do art.

        Now you take colored pencils and try to do art. It is difficult because you never did anything with color, but it’s easier than the pencil because you now have knowledge about art that you didn’t have before starting.

        Programming is the same. Usually you start with either a single programming language and try to acquire the basic knowledge about programming. And then you learn other languages, which takes a fraction of the time it took to learn the first one. Since programming concepts are very similar across most programming languages.

        Going back to your original question, assuming you want someone else to do the programming:

        1. It will not be cheap. So follow this route if you’re either willing to lose money, or willing to earn money with this app.

        2. Once you have the money, you find programmers like any other company. Post job openings and wait until you have applicants.

        3. You will not only need programmers. You will most likely also need art. Games are not a number-crunching program. They are art forms. If you want people to play your game, it must have artistic value. Without art, a videogame is no much different than an spreadsheet. You might find someone that both programs and does the art, but then probably it’s going to be expensive or won’t be of high quality.

        4. The game is not fully designed yet. Maybe the gameplay is, but there’s a lot of design that needs doing on the software side.

        5. I’m a software engineer. Not a business man nor a project manager. There’s probably many other big things I’ve missed.

        If instead you want to program it yourself, I have some advice.

        First of all, you should probably aim for a platform. Is it mobile or PC? If mobile, both IOS and android? Or only one of them? If PC, Linux, Windows or Mac? Your path will probably vary wildly depending on that.

        Being a good programmer takes years, but I’m going to assume you don’t want that. You just want to learn it for this project. Well, it’s still probably going to take years, just less of them.

        Whatever you choose in those questions. The starting point is the same. You gotta learn the basics. For that, unless you are developing from a Linux computer (and are somewhat experienced doing so), I would recommend you start with a language that is easy to set up and install. For that I would recommend either python, java. Another language I love and is easy to set up is rust, but it’s not beginner friendly at all.

        Python is a very beginner friendly language. There’s thousands of free learning courses online. And installing it is very easy. If on windows, the installer has a checkbox like “add to the PATH”, just make sure to check that, even if you don’t know what it is. After that, it’s as easy as making a file with a name ending in “.py” and you can just run the program with “python mygame.py”. Python is also a great tool for everyday life automating things related to computers.

        Java is less beginner friendly than python, but it has a very important feature called “static typing”. Static typing is very unergonomic and rigid when you are writing, but it prevents many mistakes that are very frustrating to fix. It also has many learning resources since it’s a very popular language. However most resources are older than python’s since java is way less popular than it used to be. Setting up your first java program is a bit trickier than python, but it’s not too hard.

        Once you choose the starting language (you can also try both! Or switch mid-learning if you don’t like your initial choice), you have to do some simpler projects than the one you want to do. There’s plenty of beginner project ideas online.

        Usually you start by implementing simple little usefull functions. For example string comparison. That is, having 2 strings of text: “mytext1” and “mytext2” you want to make a function that tells you if those are the same. Usually people reimplement functions from the standard library.

        After that, you learn making a data structure. For example a list. So that you start with an empty list “[]” and you add numbers to it: [0], [0, 1].

        Then you learn how classes work. How methods work. How global variables work.

        Once you have basic knowledge of that, you do one of those beginner projects.

        Then you learn how to use (and install) libraries.

        Then you probably will want to learn how threads, and mutexes work.

        Once you feel somewhat confident, you should try implementing your game on PC, without graphics, just the command line.

        After that. You move on to your selected platform (iOS, android, PC). You probably will want to use a game engine. That comes with an entirely new and different learning curve. I haven’t used any of those so I can’t help you with that.

        That game engine probably comes with its own programming language. Repeat the steps above with that new language until you feel confident.

        Then you will probably start with your project.

        You are still learning though. You will probably learn a lot with that project. So your work quality will probably be much larger at the end than at the start. You will probably be frustrated that the shit code you wrote at the start is hindering your progress. Don’t be afraid to start over the project from scratch again. It’s not from scratch. While doing it you probably developed a better design in your head, having that design will make writing the code the 2nd time much faster than the first time.

      • Like the wind...@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        1
        ·
        21 hours ago

        There are tutorials that have you build a game to learn the basics and syntax and stuff. Oh, right, if you actually do use GameMaker avoid that drag&drop layout at all costs lol it’s not “easier”

        But if you have it all written out already, now you just need to read the manual on whatever development platform you chose and figure out how to make the computer do what you have written. Like, if you want the title screen to have scrolling clouds and a bouncing logo for example, you’ll need to find out how to change the logo sprite’s Y coordinate and the clouds’ X coordinate using the documentation.

        Tldr do one of those “my first game” tutorials on whatever platform you chose to get the feel of it.

      • Deestan@lemmy.world
        link
        fedilink
        arrow-up
        5
        arrow-down
        1
        ·
        21 hours ago

        No. Learning anything is hard. It is important to accept this. There is no special explanation or trick that gives a shortcut to learning.

        When people say “learning to code isn’t hard” they are also correct, but they are speaking relatively. Learning to code isn’t hard as learning things go. Compared to playing piano, guitar, doing skateboard tricks, juggling, etc… it’s just practice and focus and reading and watching and practice and time.