12 votes

Topic deleted by author

18 comments

  1. [3]
    Ehpy
    Link
    Your son sounds like me from a decade ago, if I'd had realistic ambitions and more talent. In addition to the resources posted so far, allow me to recommend Processing. A few reasons why I'm...

    Your son sounds like me from a decade ago, if I'd had realistic ambitions and more talent.

    In addition to the resources posted so far, allow me to recommend Processing. A few reasons why I'm suggesting it:

    • You get results fast. In most languages, it can take a considerable amount of head-banging to get anything to display on your computer screen. In Processing I can do it in one line. The reason why this is so important, especially for beginners, is that it actually feels like you're making progress when you're writing code. It's a lot easier to get frustrated when you've been working for five hours and have nothing to show for it except a lack of error messages.
    • It's easy to learn. The language was designed to teach people how to code.
    • It feels 'real'. There's nothing wrong with drag-and-drop programming languages, but that level of abstraction can make a beginner feel like they're just getting the 'kiddie' version of a programming language. That logic seems silly to me now, but twelve year-old me always wanted to be using the big boy programming languages.
    • It's powerful. Processing (the desktop version) is literally just Java with some extra padding to make graphics easier, and can do all the fancy OOP stuff that Java can do.
    • People use it! Check out OpenProcessing and the forums.

    Is it good for making games?
    Sure! Simple ones, at least. Pygame is good, too. Pygame might be better for your son, I haven't had much experience with it. Buildbox, Scratch, Flowlab, and GameMaker, are also good, to name a few.
    The real reason I'm recommending Processing is because it made me love programming. Whenever I learned something new, it would look like something new, and I could show that new thing to my parents and my friends.

    If your son ever gets to the point where he wants to make bigger games, look into Unity, Godot, or Unreal. Tell him to learn C++, familiarize himself with Blender, and sign him up for some real CS classes.

    There's lots of ways to go about this -- everyone has their own interests and learning styles. Best to just surround him with resources and let him do his thing.

    Best of luck to you two! :]

    17 votes
    1. [2]
      moocow1452
      Link Parent
      I cut my teeth on Labview, and could never get into other languages because of a lack of visual component, but this might be something to look into.

      I cut my teeth on Labview, and could never get into other languages because of a lack of visual component, but this might be something to look into.

      1 vote
  2. Deimos
    (edited )
    Link
    Al Sweigart has multiple free programming books available, several which are specifically intended for kids and based around programming simple games, and they're all quite highly regarded. The...

    Al Sweigart has multiple free programming books available, several which are specifically intended for kids and based around programming simple games, and they're all quite highly regarded.

    The most relevant ones would be Invent Your Own Computer Games with Python, Scratch Programming Playground, and Making Games with Python & Pygame. They're all available on his site here: https://inventwithpython.com/#invent

    6 votes
  3. [11]
    PendingKetchup
    Link
    If he wants to make games, set him up with Game Maker or Unity or the open-source Godot. The through-line from one of these stock game engines to an actual game is a lot clearer, and while you can...

    If he wants to make games, set him up with Game Maker or Unity or the open-source Godot. The through-line from one of these stock game engines to an actual game is a lot clearer, and while you can avoid writing any real code, you can't avoid getting an understanding of how the computer is thinking and the logic you want your game to embody.

    You could also see if he wants to get into game modding. A super easy way to "make a game" is to do a total conversion mod of another game. He might learn more useful stuff digging around in the configuration files and item definitions of an existing game, seeing how it's put together and how its designers think, than he would learn writing the best stand-alone game that he could write by himself this month in BASIC.

    3 votes
    1. [10]
      mrbig
      Link Parent
      I love Godot but right now the documentation and learning resources are insufficient even for many adults.

      I love Godot but right now the documentation and learning resources are insufficient even for many adults.

      1 vote
      1. [10]
        Comment deleted by author
        Link Parent
        1. [8]
          mrbig
          (edited )
          Link Parent
          Are you a programmer by any chance? If that is the case, I don't think you'll encounter many issues. But Godot is also promoted as a friendly tool for total beginners, and I don't think it...

          Are you a programmer by any chance? If that is the case, I don't think you'll encounter many issues.

          But Godot is also promoted as a friendly tool for total beginners, and I don't think it succeeds at that.

          The documentation for the scripting language fails to provide explanations for basic programming concepts, most glaringly object-oriented programming.

          There are not many free assets to use, and, because of the fast pace of development, online tutorials become outdated really fast. And there are not many reliable tutorials out there.

          It is also quite buggy, crashes a lot. For many things, one must have the ability to "look under the hood" -- which basically means C++.

          2 votes
          1. [8]
            Comment deleted by author
            Link Parent
            1. Deimos
              Link Parent
              I just noticed that GamesIndustry.biz published this article yesterday, which seems to have a lot of good info and you and @mrbig might be interested in: What is the best game engine: is Godot...

              I just noticed that GamesIndustry.biz published this article yesterday, which seems to have a lot of good info and you and @mrbig might be interested in: What is the best game engine: is Godot right for you?

              2 votes
            2. [5]
              mrbig
              Link Parent
              It really is promoted as beginner oriented both by developers and the community.

              It really is promoted as beginner oriented both by developers and the community.

              1. [5]
                Comment deleted by author
                Link Parent
                1. [3]
                  mrbig
                  (edited )
                  Link Parent
                  Anyway, look at this https://imgur.com/a/5g3hP9r (from https://docs.godotengine.org/en/3.2/getting_started/step_by_step/your_first_game.html) and this...
                  1 vote
                  1. [3]
                    Comment deleted by author
                    Link Parent
                    1. [2]
                      mrbig
                      (edited )
                      Link Parent
                      That is okay. If you look above you'll see that I never specified that it was promoted by the developers, I merely pointed out it was promoted -- period. Then I added that there was a lack of...

                      That is okay. If you look above you'll see that I never specified that it was promoted by the developers, I merely pointed out it was promoted -- period. Then I added that there was a lack of learning materials supporting that conclusion, both in the documentation and elsewhere.

                      Your counter-argument assumed that I was directing my observation towards the developers as if they had an obligation to fulfill this the demand in the docs, and I tried to address your concerns in lieu of that interpretation. But that was not what I was originally referring to.

                      1. [2]
                        Comment deleted by author
                        Link Parent
                        1. mrbig
                          Link Parent
                          I made a mistake. Sorry about that. I cannot expect you to read my mind, and I clearly failed to communicate correctly.

                          I made a mistake. Sorry about that.

                          I cannot expect you to read my mind, and I clearly failed to communicate correctly.

                          1 vote
                2. mrbig
                  Link Parent
                  Sorry, but I don't have a pressing demand to prove that point. Regardless of the causes, a lack of learning materials for beginners is reason enough for @suspended to consider other alternatives...

                  Sorry, but I don't have a pressing demand to prove that point.

                  Regardless of the causes, a lack of learning materials for beginners is reason enough for @suspended to consider other alternatives for his 12-year-old son.

            3. mrbig
              Link Parent
              And I understand documentation is generally not meant for total beginners, but in this particular project it actually tries and should.

              And I understand documentation is generally not meant for total beginners, but in this particular project it actually tries and should.

        2. mrbig
          Link Parent
          Not confusing, but missing. It takes an actual beginner to notice it. Also notice that I did not refer only to the documentation, but also to a lack in complementary resources.

          Not confusing, but missing. It takes an actual beginner to notice it.

          Also notice that I did not refer only to the documentation, but also to a lack in complementary resources.

          1 vote
  4. [2]
    NaraVara
    (edited )
    Link
    I recently got pointed to this Twitch stream where the guy is building a very basic Asteroids type game from scratch with this block-based programming language. It's pretty interesting. It...

    I recently got pointed to this Twitch stream where the guy is building a very basic Asteroids type game from scratch with this block-based programming language. It's pretty interesting. It addresses things in a fairly remedial way, which your son might find boring depending on how advanced he is. Drawing the line from BASIC to this might take a little doing before he finds BASIC relevant, but it's worth a shot!

    2 votes
    1. [2]
      Comment deleted by author
      Link Parent
      1. NaraVara
        Link Parent
        LOL yes I did. Edited it back in.

        LOL yes I did. Edited it back in.

        2 votes
  5. entangledamplitude
    Link
    Racket is a fantastic general purpose programming language (best for someone to learn young, before their mind gets warped by imperative/procedural programming :-). I’ve heard fantastic things...

    Racket is a fantastic general purpose programming language (best for someone to learn young, before their mind gets warped by imperative/procedural programming :-). I’ve heard fantastic things about this book, which is basically an introduction to Racket with making simple games: https://www.realmofracket.com/

    I’ve also heard very good things about Scratch (Smalltalk, which is a world in itself) which was also made with the goal of introducing kids to computing, and making it very easy to control the behavior of ALL the objects in that system.

    2 votes