Adviced for a no code exp?

Simply copying isn’t the most reliable or best way to learn.

In Mike McShaffrey’s book Game Coding, he mentions one difference between university educated game programmers and those that were self-taught:

Self-taught coders ‘…tend to design and code things before they realize that someone has already solved the problem and posted the code on the internet somewhere…’ (Shaffrey, 2005, p.4).

Copying isn’t necessarily always a bad thing. In art, for example, it is only by imitating the great masters of the past that we may become masters ourselves. When one learns Latin, at university, rote, repetition, and learning parrot fashion is the way all Latin students learn, until they are able to pass exams, and prove that they have learned the subject matter.

Equally, I do take your point Tomcat, and it is a very important point you make:

It’s horses for courses: whatever works best. I am great at writing narrative, translating languages (actual languages, not programming ‘languages’ [English]), coming up with news ideas, playing and recording music. My strengths do not include mathematics, or having the patience to code without having to take regular breaks (becoming frustrated with it not working). One does one’s best with the tools one has. I even bought a book recently on learning how to draw (a useful skill, for a game creator).

There’s a difference between reproduction (when the goal is simply copying), as in the visual arts (paintings), where people even draw from photographs, and creation something that didn’t exist before (programs, algorithms) — these are different approaches in terms of both learning and goals; in the latter case, understanding is essential.

This painting was done by a self-taught artist friend of mine (Michael Devlin Taylor). I bought it off him the first day we met, when he noticed that my album cover was the same painting.

It is signed ‘study’ because he was learning how to paint at the time. It was originally by Pablo Picasso.

Mike (‘Don Devlin’) now is the greatest artist in the whole town he lives in, where I’m from (and there are a lot of artists there, good ones). All his works are originals.

I’l be blunt, as per usual.
If you’re severely math-averse - game programming is probably not for you.

You can fumble your way around for a while but your proficiency and the ability to come up with creative problem solutions or even good game designs - will be severely limited.

The clue is in the name. Games run on computers. Computers… well… they compute. That’s all they actually do. Although computing is not the essence of math, telling a computer what and how to compute is done to a large degree through the language of math. Your thinking needs to be math-inclined. I’m afraid there’s no way around it.

In game programming, the math that’s predominantly used is limited to very specific branches of applied mathematics. The areas you need to be reasonably fluent at are:

  • basic algebra
  • analytic geometry
  • trigonometry
  • vector math
  • the basics of calculus (optional but quite useful)

It may sound scary at first, but all of that is at most the high-school level math, relatively easy to understand. There are numerous good and free courses that cover that stuff. It all has direct and almost obvious applications for many things we see in games. As you learn a new math concept, you can look up what for it’s typically used in games, and make little playground projects in the engine to test it out in practice. Learning math can be quite fun when you get some immediate useful results.

Luckily, game dev is a multidisciplinary endeavor. You can work on the parts that don’t require math, like visuals, audio or storytelling, and team up with people who have no problems with math. Although those other disciplines also come with their own set of fundamentals that need to be learned in order to do them well.

However, if your aim is to make games as a solo dev, it’ll be very hard if you’re afraid of math.

As for memorization, that’s probably the worst way to go about learning programming. It’ll burn your mental capacities fast. The aim of learning should be understanding the underlying concepts, instead of rote memorization of every single manifestation of those concepts. That’s a much more efficient way to learn. When you understand a wider concept, the details are easy to look up in documentation, on the web or via a chatbot.

For example, if you have a good understanding of what an array is, you’ll be able to automatically solve a wide range of seemingly unrelated problems that all require organizing data into arrays. It’ll be obvious to you that all those problems belong into the same family of problems solvable by arrays.

Programming since I was 6. 40 years now. Understanding how formulae work is different to crunching numbers yourself. How many coders do you know use abaci or Arabic multiplication?

Well that was my point exactly. Computers will crunch numbers for you but you need to tell them how. When we say “math”, we almost never mean doing manual calculations.

It’s also important to have a general intuition for correctness, you should be able to say, generally, if a value is reasonable and what might be wrong about it

Ultimately programming can feel very daunting to learn at first, but it’s like any language something you need to spend time and effort with to get fluent, and generally I’d recommend learning by doing things you’re interested in and avoid toy examples and pointless exercises

So was your Quintilian quote meant to be divergent or convergent with my post you replied to? It can be interpreted both ways. It’s also sort of misplaced here.

In game programming we use applied mathematics as a tool. For the most part, we have no need for inventing new core math stuff. That’s what mathematicians are for, although there are exceptions. Sometimes a new core math concepts do arise from the needs of applied math. In the past it was perhaps much more common than today when math became more abstracted and self centered (case in point, the invention of calculus that originated in physics)

Using tools someone else built is not “imitating”. We can invent original non-math things though, like gameplay, using non-original math. If your math knowledge is poor, you won’t be able to wield it creatively in other disciplines that require its usage as a tool.

If copying strange, incomprehensible symbols is enough, then you can become an artist, but not a mathematician. That’s the main difference between studying the sciences (which require understanding) and the arts.

Funny to bring up a chinese room experiment as proof of learning, when it is significantly more often an argument against learning.


Blindly copying is a bad way to learn something, anyone following a tutorial should alter it in some intentional way to learn more out of it. Pre-internet programming magazines had basic games you could type out, you’d have to wait for the next issue giving plenty of time to modify the program on your own.

You can learn to program at any age, there was a strange “too old to program” you must be a child-prodigy to touch a computer ideology floating around for a while, I think only because there was a perfect age of kids that could play with computer programming and learn it young and experiment while shortly after programs have become much more complex, magnitudes larger, and still it’s really not that hard to “catch up” as languages change and new tools are developed.

It’s also worth noting you can absolutely program something badly, you can still make games and very fun ones none the less! Even hit games have gotten away with terrible code written by self-declared non-programmers. But you do not have to make hit games, make games for yourself!

It could be worse. I could be visual scripting. :rofl:

i was told similar strategy with using AI and that is what im at right now but what im doing is dissecting each and every code and typing it on my notepad for muscle memory. So far i made progress by making a character move. its been a great help specially with AIs its like i have my own personal teacher. anyways thanks for the advice. im glad people in this community are extremely helpful. i was lost and now i was found and grounded back to the right path.

Youre right, what i was doing before was thinking big before making it small, like making God of war like games, then i went to try my 1st game engine, UE then switch to Unity, then switch back to UE, then Gdev, even tried AI generated game engine and now Godot. None of them is making a sense to me. its like im reading hieroglyphical writings. Starting out with something small and easy has piqued my interest. now im back on my feet and im grateful that i went in this community before finally put this foolish ambitions to rest. sorry i made some reference to Margit from elden ring.. Thank you very much

Very Respectfully,

Hi!

Which AI are you using?
I tried AI a few times to generate parts of the code when i was lazy, but there’s often the problem that the answers are mixes from the syntax of Godot3 and Godot4. Even if i explicit say for Godot4..
So i simply don’t use it. Also because coding isn’t the most time consuming activity.
This also means, based on my experience(!), i don’t recommend to use AI to learn.

I started 2 years ago with Unity and switched to Godot last year and i am 45, so no, you’re not to old :smiley:

I have removed plenty of off-topic posts in this thread. Please keep the discussion on-topic and related to programming and Godot.

Thought that forum healed after I left…I was very wrong :grinning_face_with_smiling_eyes:

I also need to join from now.

Like any skill, it get about repetition and not same approach works for everyone.

  • for me works approach break it, fix it - by figuring out how it works to make it work after messing with existing logic.
  • if you completely new, then be useful at least do basic 2d game to get familiar with Godot Engine Editor to be able navigate around

Don’t think there is one way, but good idea is to have idea what you want to make and then start asking how to make by break it into small pieces are familiar with.

If there is something you don’t know that’s where “real programming” start by researching and putting it into workable code, this is where this forum is incredibly helpful along with tutorials and git repositories.

Syntax is very similar in many programming languages, and remember exactly it be difficult to start with, you will get better as you make more things.

As other suggested, the math can be helpful as understanding concepts of how things works inside game, for start if you know Vectors you should be ok for basic game.

If you get further you might need to invest time into learn more advanced concepts to understand what’s going on in the code, and how to make it do what you want.

Keep on sight why you want to make game, learn language not speed of process.

Wish you good luck .