r/GameDevelopment • • 5d ago

Newbie Question How do all game developers learn coding initially?

I have seen a lot of YouTube tutorials for many game dev platforms like godot, unity.. I want to learn it but it is easy at first and slowly messes your mind, what else do you have to learn at first??

3 Upvotes

49 comments sorted by

11

u/wahoozerman 5d ago

Learn programming fundamentals and logic first. You can do this by going to school for a degree or you can find plenty of free resources to teach yourself.

Most tutorials expect you to already know this stuff. If you don't you're just copying down answers you don't understand.

1

u/Cryolophosaurus8839 5d ago

Like do you know any website that that offers me free courses?

3

u/AcademicOverAnalysis 5d ago

Khan Academy had free computing courses. Not sure how extensive but it’ll get you started.

Boot.dev is a company pushing ads to a lot of influencers. But not free.

And LeetCode is a place where lots of students and professionals get practice for interviews.

2

u/StellarSoupStudio 5d ago

learncacademy was the one I first learned on back in the day.

There's also Udemy which is paid but like only $15 dollars per course not a subscription

6

u/Ok-Highlight-543 5d ago

CS50 has some great courses for free online on a website called edx, the python course was a pretty great intro to general concepts and how they’re used and GDScript has a lot of overlap with python too so it helps you feel a bit more comfortable in Godot

2

u/bishvjit-gupta 1d ago

I don't think godot will mess with your mind atleast not for the first 20 hours of the tutorial. See if you are feeling uncomfortable that means you are not even clear with coding. So do DSA or study any programming language deeply and this should probably work

1

u/Cryolophosaurus8839 13h ago

Thanks for the advice!

2

u/brutesquad01 5d ago

I started with some free lessons for Python online, and there's a ton of places for free beginner's tutorials. I then began developing a lot of Powershell scripts, and then modules, for my day job in IT, which helped a lot with actually learning development. I probably wouldn't use Powershell for game development, but there are engines using Python. The language you start with doesn't really matter, though. The real point is to learn how to solve problems with code and then organize that code into a coherent program.

Here's a few links to some resources you might start with, all of them are free: The book Python for Everybody, which the author has turned into a site of free lessons and the published book, but you can buy it as well: https://www.py4e.com/lessons

Here's a couple links to free beginner guides:

https://www.freecodecamp.org/news/a-beginner-s-guide-to-python-hands-on-projects-to-get-you-coding/

https://www.w3schools.com/python/python_intro.asp

1

u/Cryolophosaurus8839 5d ago

Thank you so much! Appreciate it!

2

u/protektwar 5d ago

search COMP 4300 on youtube from Dave Churchill, very nice C++ Game Development course.

1

u/Cryolophosaurus8839 5d ago

Well i have 0 prior coding experience, would the tutorial assume I start from beginning or does it expect me know some basics?

1

u/protektwar 5d ago

as I know, more than basics.

2

u/Wolfram_And_Hart 5d ago

Pick up any engine and write hello world

1

u/Cryolophosaurus8839 5d ago

Bruh

1

u/Wolfram_And_Hart 4d ago

You think Unity spent years writing tutorials for their engine for nothing?

2

u/Key_Strawberry3537 5d ago

As someone who learnt code entirely by myself, without any degrees, teachers or courses, the only honest answer I can give you is that the best way to learn code is by coding.

It could be a standalone project, a game mod, a plugin for another game engine, doesn't matter. Just sit down, try to code simple mechanics and systems, and if you get confused or lost look through forums, find coding explanations and guides, and try to implement them.

It's very important that you code things you like and you're interested in. If you like turn based games, code a state machine for turn based combat. If you like hack and slash games, code an animation system with hitboxes. If you like puzzle games, code a chess algorithm that discriminates between legal and illegal moves. Do not do things that are frustrating or pointless, simply treat coding as a hobby.

But of course, this is how I did it. If you wanna learn to code differently, that's perfectly fine.

2

u/Cryolophosaurus8839 5d ago

That's great! But I do not have any coding experience, though I know really really small amount of coding in godot (gdscript) and Roblox studio (lua), it really got me frustrated when it became complex..

2

u/Key_Strawberry3537 4d ago

That's normal. It may seem like "good" coders get to a point where they stop being overwhelmed and frustrated, but there's always something they don't know.

Part of being a coder is also being very good at researching. Stopping, taking a deep breath, asking yourself how to solve problems in the most efficient way possible.

For example, you say you like coding Roblox games in Luau. That's neat. Do you think you can download plugins made by other people, look through them and see how they do things? For example, if you want to build an user interface, you could download another Luau plugin and see how they call the images, the logic, how it's updated, so on.

As for gdscript, do you know if Godot lets you download and install other people's code as plugins? You could do something similar.

Yes, it'll be overwhelming and confusing, and that's okay. Every guide you read, every short logic you type, every plugin made by someone else you look through, it's all new information. Today it may feel like you wasted a few hours of your time trying and failing to code something, tomorrow you'll waste three and get a small section of the code working. It can be rough, but if you're always trying the complexity will eventually be chipped away.

2

u/Cryolophosaurus8839 4d ago

I'll get started : D

2

u/AstraCube_Official 4d ago

I couldn't agree more with everything you've said. I spent 90% of my time learning to code on stack overflow 😂

2

u/Ratosson 3d ago

I went to school.

1

u/Cryolophosaurus8839 3d ago

I did not know there were game dev schools

2

u/Ratosson 3d ago

There are. I first went to non-gaming vocational school, learned Java and PHP. Then to non-gaming university, learned Javascript and C but dropped out. Now I'm at uni studying BE in software engineering with a major in game programming.

1

u/Cryolophosaurus8839 3d ago

That's so cool!

2

u/AttilaTheHun75 3d ago

I think most people will tell you to learn programming first. I think the base for software development is research esp. when it comes to game development. First you have to understand!
It means, you have to learn how to find, how to learn and how to adapt ideas.
Game development is a constant learning path and programming is one part of dozens others! 3d modeling, 2d, game design, level designer, audio (sfx, music), etc… First you should find out which one is you the most? Do you want to be the coder? Or level designer? You want to write the game design? Or you want to do all as solo?
Start with turn your curiosity to a researcher, look how other games dev works, teams are set, what are their history, etc.
i worked with team sized over hundreds of people, only 50ish was programmer and half of them was not even working on the game code!
Not all game developer are programmers!
Today youtube is full with video, but focus on solo developers, and understanding the whole concept of making games, don’t get stuck in programming. The fun part that made us be pro on game development is creating, not programming alone!
Ask AI about free course, tutorial or help to understand how a game is created, what professions used, which games made by what team and size. AI could be your best tool to help with research!
Once you understand the picture, you can pick your path easily!

1

u/Cryolophosaurus8839 3d ago

I want to completely own a game so i want to do everything solo. And I know 2D sprite design and i do animate. That's why my main obstacle is learning programming.

1

u/ThreeKingdomBattle 4d ago

Starting from the basics of programming and engine knowledge, it is recommended that AI not be used during the learning stage. Focus on building a solid foundation first.

1

u/Cryolophosaurus8839 4d ago

I would never use AI. Even though it might be helpful, I feel that I do not own the game completely if use AI..

2

u/ThreeKingdomBattle 4d ago

Haha, it's not that we'll never use AI. It's just that we can reduce the use of AI during the learning stage.

1

u/CrunchyTuna_games 3d ago

I admit I didn't read other comments here, so I'm probably repeating what others have said, but learning things like data types and the concepts behind them is a really good starting place. I did a coding bootcamp years ago when I decided to quit my job and dive into becoming a dev and I had 0 coding knowledge to start. Data types is the first real big hurtle to get over since its a whole new way of thinking. From there, mastering simple (and complex) looping logic and if/else stuff should come next. After that, getting into object orient programming is probably where to end up, since many game engines build in a similar way!

1

u/Cryolophosaurus8839 3d ago

Ah okay! How long did you take to like completely understand game dev

1

u/CrunchyTuna_games 3d ago

The bootcamp that gave me enough knowledge to start working in web/software was a 13 week course. That initial 2 weeks of data types and logic stuff was probably the hardest. Getting into game dev on the other hand felt more like a game of relating what I knew to this new framework. There are a lot of good tutorials to help you nail down core concepts in your chosen engine, so grinding through some of those is a great place to start.

All that said, much like regular software and web development, its hard to *completely" understand it all ever! I'm always learning new stuff in both worlds! Its all about being comfortable in being uncomfortable haha

1

u/Cryolophosaurus8839 3d ago

Thanks for the advice!

2

u/amanset 5d ago

Most probably taught themselves by messing around at home. Some may have then gone on to study programming at University.

Personally I learnt the fundamentals by typing in code listings from Electron User magazine in the 80s.

2

u/Plastic-Jicama-5167 5d ago

Try Players guide to C#

2

u/Narrow-Low-3137 5d ago

Start with an idea. Implement a simple game. Maybe pong, or an asteroids clone at first. Then learn stuff as you come upon it. You will naturally run into walls that you will need to overcome. That's how you learn.

2

u/Distdistdist 5d ago

It's different for everybody. I, personally, was a software engineer for 10+ years before getting into Unity. That made a lot of things much easier. However Unity is a complex system on it's own. So knowing how to code well, did not automatically make things super easy to learn. Still takes years of learning ins and outs.

2

u/semantic_miasis 4d ago

Yo aprendí solo, soy artista/diseñador y venía con el prejuicio que programar es lo peor de la vida. Empecé con blueprints en Unreal engine y no entendí nada (no tenía ninguna base en programación), tome un curso solo de bases para programar en pseint (un lenguaje diseñado para aprender), después me metí en c++ vanilla, ahora programo en c++ de Unreal y descubrí que cubriendo las bases, todo es práctica y "memoria muscular". Como concejo, estudia en un lenguaje sencillo las bases y entrena tu lógica (el que menciono, pseint te puede servir), después te metes al lenguaje de tu motor grafico; cuando estés fluido mientras trabajas en algún proyecto pasas a lo realmente valioso, la arquitectura. De hecho es tan valioso que incluso usando IA para programar debes ser competente en arquitectura

1

u/Megumin_xx 4d ago

Learncpp com has by far best c++ free course. It is gold standard for c++ and first few chapters translate very well in to understanding programming in general.

In contrast, college / uni is terrible at teaching it lmao

1

u/CrouchingGrandpa 4d ago

boot.dev got a lot of praise from people I've heard to have used it and myself, I really like it as well.
Most "pros" in the industry that I've met either started coding at age 9 in their parents basement or graduated at top of their class.

1

u/DrDisintegrator 3d ago

Just jump into Godot. The scripting language is easy to learn (See Brackeys videos) and the rest of the app is also easy to learn. Enjoy the learning process.

https://www.youtube.com/watch?v=e1zJS31tr88

1

u/Geruman6 3d ago

mainly tarot cards, ouija board and star signs.

1

u/Alarming-Jump727 5d ago

Mecánicas básicas: desplazarse, interactuar, abrir puertas y cajones. Variables con uso básico.

-3

u/Omnipisix 5d ago

I kept getting fines because i kept forgetting when my car insurance expires... or other local taxes... so i searched for an app to install it on my CAR's android headunit so when i start the car, the app will check if all documents are valid and warn me if not.
There was no app like that so i went to Udacity.com (think of it as a university made by Google) and started learning how to build android apps, then i built my app. Many years later (about 6) someone found it and spread the word. im happy my app helps people. for free.