Learning to code to make games

Kamako

Halcyon Dazed
Halcyon Dazed
Level 4
58%
Joined
Feb 15, 2025
Messages
788
Level up in
212 posts
Solutions
1
Reaction score
3,421
Points
3,477
Location
Revachol
Tl; dr: Making games is hard, learning to code takes ages and I'm determined to see it through.

I dream of making video games.

When I was very young, I tried making a game in RPG Maker.
It was a really fun experience, the software was brilliant and feature-rich.
It helped me to understand the basic principles of scripting, which I used to make puzzles and set flags.
With those tools, I constructed a maze that required the player to find a key so they could open a gate to the exit.

In 2022, Following instructions found here, I successfully made a game in Python with Pygame, using the resources the creator provided and others found on websites offering free assets. I've attached a video of that game running.

Later that same year, I started practicing with Godot, and by following this excellent ongoing guide when it was still in its earliest stages, soon found myself able to create a scene with physics objects.

Two years ago, I built my first PC and started to learn to code. I spent alot of time debating which language to learn.
Having had no formal IT lessons since high school, I have since discovered a few things, like:

- Most programs you make depend on a tonne of code you yourself did not/will not have to write.
- Apart from a few key resources, like W3schools, Tutorialspoint, IBM, Mozilla and Intel, information about how to program is fragmentory AT BEST.
- Setting up an IDE can be a total chore (at least, it was for me using VSC).
- The sheer number of dependencies from device to device is staggering, and it is honestly miraculous to me that anything works at all.
- Open source software is pretty incredible.

With that in mind, I decided to start learning to code in C.
1753401111601.jpeg
My reasoning being that, because it is the most common langauge, there's bound to be extensive support and documentation for it (which there is) and because it is a good middle-ground between low and high level languages, I can learn fundamental programming practices that apply to both ends of the spectrum.

Also, PS1 games were often written in C, and PSX games are sick af.

Now, I'm sure alot of folks who've studied courses in Computer Science will say that learning C is unecessary in this day and age, and they're at least partly correct, but personally, I'm so glad I learned the principles of C before moving on to C++. Trying to wrap my head around many of the concepts of C++ would have seemed so daunting without the prior knowledge that learning C gave me.

That being said, oh my God, learning C++ takes ages.
I've booked time off work to study this stuff, and I'm barely scratching the surface (for context, I'm 50 pages into a 1000+ page reference manual, and writing my own notes as I go).

Still, it is fun and challenging, I just wish I had "eureka!" moments more often. There's still so much to do, formulas and algorithims to learn, and that's before I even start learning how to use creative software to practice making simple art/music.

Just got to remind myself it's about the journey, as much as the destination.

Thanks for reading my rambles/rant. ::thank-you
 

Attachments

  • Strail.mp4
    1.1 MB
Last edited:
I love making games. It's just magical, like creating life.

I've never been a programmer though, and no matter how much I try it just looks like gibberish to me, but thankfully my brother is a wiz at that sort of thing, and loves making games as much as I do, so we make a good team.
 
As computer engenier and the little I know about video games on a technical level, I don't recommend to learn c. It's better to focus on C++ and C# and if you still curious about c, learn it later. Also learn unity or unreal engine, a graphics engine is must. If you could say you know how to program (at least on a basic level), choose an engine and start practicing. Also pay special atention to Object-Oriented Programming, it's necessary in most games.
 
I love making games. It's just magical, like creating life.

I've never been a programmer though, and no matter how much I try it just looks like gibberish to me, but thankfully my brother is a wiz at that sort of thing, and loves making games as much as I do, so we make a good team.
Sounds like you guys make a real dynamic duo for this kind of thing. My brother also has strong coding chops, so I'm trying to get up to his level so we can work on projects together ::fire

As computer engenier and the little I know about video games on a technical level, I don't recommend to learn c. It's better to focus on C++ and C# and if you still curious about c, learn it later. Also learn unity or unreal engine, a graphics engine is must. If you could say you know how to program (at least on a basic level), choose an engine and start practicing. Also pay special atention to Object-Oriented Programming, it's necessary in most games.
I've already finished reading The C Programming Language book and have done a fair bit of auxillary reading. As I mentioned I don't regret learning it, but I can definitely appreciate the advice.

I will return to learning an established engine once I'm a bit more confident with C++. Funnily enough, I'm currently learning the basics of OOP, inheritance, virtual functions and class hierarchy. I can already start to see the utility of the principles and practices.
I'm keen to learn more about application and systems programming in general, so I'm keeping the net wide for a little while longer.
 
Your path is clear my friend, the languages are perfect for creating games, but do use Itch.io and Gamejolt for any type of inspiration and ideas as there are tons of them you can find there.
GO, CREATE TO YOUR HEART'S CONTENT AND LIVE OUT YOUR EXPERIENCE.
WE BELIEVE IN YOU!
 
Im thinking to get into game-development too but right now im learning to play guitar while im in a Band and having too many projects can hindering me very much . I always get cool and crazy concepts in my head that has something that is missed in gaming overall that i wanna get it out to the world .

Maybe i should start with Godot make my first steps . Maybe even using RPG-MAKER to use some ideas in a more simple form .
Post automatically merged:

I love making games. It's just magical, like creating life.

I've never been a programmer though, and no matter how much I try it just looks like gibberish to me, but thankfully my brother is a wiz at that sort of thing, and loves making games as much as I do, so we make a good team.
This sounds like a John Romero and John Carmack Situation . I hope this goes great for you both !

But please dont do a Daikatana-move. Even when i love Daikatana , dont make us into your bitches . And no .... I wont suck it down .
1000019141.jpg
 
Last edited:
Well i was learning how to make a rpg on rpg maker learning to code plug in is also one of my list

Yeah I'm still how to draw pixel making music coding learning how to make a story is like I'm making my own college studies.
 
Maybe i should start with Godot make my first steps . Maybe even using RPG-MAKER to use some ideas in a more simple form .
Absolutely start with RPG Maker or Godot. I would personally suggest RPG Maker if you have no experience of using a game engine, but if you decide to choose Godot, you will pick it up quickly enough.
I definitely recommend the series I linked in my original message as well. Very easy-going tutor who explains things clearly, yet promptly.

Your path is clear my friend, the languages are perfect for creating games, but do use Itch.io and Gamejolt for any type of inspiration and ideas as there are tons of them you can find there.
GO, CREATE TO YOUR HEART'S CONTENT AND LIVE OUT YOUR EXPERIENCE.
WE BELIEVE IN YOU!
🔥🔥🔥🔥🔥🔥

I FEEL THE PASSION BURNING

🔥🔥🔥🔥🔥🔥
 
 
I dream of doing the same, Im currently learning C++ but it´s kinda boring and I don´t think it is what I really want to do. Hence, Im gonna start to learn how to code in Godot very soon.
PD: Open Source Software is based.
Godot uses a scripting language which is quite close to C# in stylings. Thankfully Godot has some pretty comprehensive documentation to go with it. Good luck on your quest!
I know there's a stigma against it but AI is a very valuable resource the programmers I work with are currently using chatGPT's o3 model for help with c++ coding in unreal engine.
I absolutely agree. The software engineers I know say that AI has massively increased their workrate and efficiency. I will definitely be utilising it more myself, once I have a slightly better understanding of how to sanity check the code it fires back at me.
You could try learning C++ with raylib.
I actually followed a couple of YT guides about raylib to make DOOM clones and it was fascinating. One of the next things I need to get my head around is either Open GL or SDL, and that's when I'll take a closer look at raycasting/raylib.
 
I'm entering my final year of my computer science degree with a good bit of work experience under my belt and having developed quite a few things at this stage, vertical slices and full functional apps not intended for release, more so fully functional "concept". Often high grades are just that you made a full app/website etc. by yourself with an extremely unreasonable deadline of 8 weeks. It doesn't work like that in industry at all.

sad cry GIF


As computer engenier and the little I know about video games on a technical level, I don't recommend to learn c. It's better to focus on C++ and C# and if you still curious about c, learn it later. Also learn unity or unreal engine, a graphics engine is must. If you could say you know how to program (at least on a basic level), choose an engine and start practicing. Also pay special atention to Object-Oriented Programming, it's necessary in most games.

This advice is absolutely true, though I will say experience in C varies, lots of nuance to programming rules and how memory management works is much, much easier to understand with a good grasp of C. I learned it as I was interested in back end/systems level jobs and quite enjoyed it. I loved programming AFTER becoming familiar with C, before that it was necessity as I was stuck using java and them Kotlin for my university assignments, my grades were great but I despised both of them till I learned C, then I started to enjoy kotlin.

Programming in general made more sense to me by learning about C and how C works, it made C ++ easier to learn and understand, though I would imagine that the reverse is also probably true as C++ is just C but added object oriented language functionality.

I'm currently working on edge cases in python as it's the only thing I don't have a great handle on, getting there though!, I have done some animation for pixel art using co-ordinates for the x-y axis to create the pixels using java, that's about as much as I've done in that sense. No actual experiencing developing a game though I am open to working in games.

All in all, pick an OOL and understand why everything is doing everything, python is a great way to start and you could make short little programs with it, then small apps etc.

My degree started with Java and It was a nightmare to adjust to. I can say as someone that is near the end of their degree, I am glad I learned C, so much stuff makes way more sense to me now, even how threads and semaphores work etc.

So much stuff can be learned so quickly with C

- Most programs you make depend on a tonne of code you yourself did not/will not have to write.
- Apart from a few key resources, like W3schools, Tutorialspoint, IBM, Mozilla and Intel, information about how to program is fragmentory AT BEST.
- Setting up an IDE can be a total chore (at least, it was for me using VSC).
- The sheer number of dependencies from device to device is staggering, and it is honestly miraculous to me that anything works at all.
- Open source software is pretty incredible.

Now, I'm sure alot of folks who've studied courses in Computer Science will say that learning C is unecessary in this day and age, and they're at least partly correct, but personally, I'm so glad I learned the principles of C before moving on to C++. Trying to wrap my head around many of the concepts of C++ would have seemed so daunting without the prior knowledge that learning C gave me.

Still, it is fun and challenging, I just wish I had "eureka!" moments more often. There's still so much to do, formulas and algorithims to learn, and that's before I even start learning how to use creative software to practice making simple art/music.

Just got to remind myself it's about the journey, as much as the destination.

Thanks for reading my rambles/rant. ::thank-you
The issue with all of it, is we all learn all this stuff at different rates and I liken it to music, learning a musical instrument, doing it through actual practice and trial and error, it takes a while to get good, but we always learn and improve, that just never stops.

Programming is genuinely the same as playing music notes on an instrument, it must work according to rules and logic but it must be done often or the knowledge will leave you D:

neetcode every day for an hour and just get it done is my current workload, I am actually getting better:

for i in range(len(strs[0)):
for s in strs:
if i == len(s) or s != strs[0]
return s[:i]
return strs

My white space definitely isn't perfect but I am getting better, it used to be soul crushingly boring and uninteresting and it's exactly like learning to play a musical instrument, you'll be brilliant in a few years time, not any time soon. As you said, it's more the journey as much a the destination and from what I can tell we get near the destination but never quite there as we always need to upskill
 
Last edited:
I cannot offer any help or advice since I'm completely devoid of any skill, talent and knowledge in the field but I can offer you words of encouragement and a meme.
c plus plus no my bra has d cups.jpg
 
Video game development is not in the way of "learning particular code to develop a game". Meaning if you see it in the way of "I need to figure out specific codes to develop a game" then you wouldn't understand anything so you gotta have the right POV to develop a video game.

1) What is a video game?

It's made of "video" and "game".

- "Video": A video game is a program that you can see and hear to establish the illusion of a reality. For example Sims games are a program but has the illusion of a life simulator. It means to develop a video game first you gotta know how to make the program feel like "a fictional reality". Your job is fooling the gamer to make them believe the program has enough illusion to make them don't think about its program aspect, you will use intentional delusions to keep their mind inside the "reality" you build. For this purpose you gotta offer a dream to the player that has "logical foundation" for basic level of immersion so the game will make sense to them. The tip is: Players will always expect real life logic to be valid in video games. Another thing is, for example, if a video game has a sharp object, like how platformer games are then the player will expect to get hurt by it. It means whatever players find in your game will make them expect. If there is a car there then the player will try to drive it. Whatever player will can do and cannot do will "limit their understanding of what kind of reality the game has" to establish their own understanding. So what you put in the game and how the gameplay is must be in a way you satisfy their expectations to keep them being immersed by the reality you established in the game. Once immersion is broken player will not wanna play the game, or when the game is not satisfying enough.

- "Game": Games have a goal and rules for winning and losing conditions. The game must be in the way that player constantly have to "play" the game to "not lose" and "win" whaever player wanna win. Basic game idea is constantly sending enemy to player to make them keep in the delusion of the reality of the game so they will be guided by their basic urge to survive. Time limit is classic "dead" condition. And making some coins float in air is basic "win" stuff for players lol. People like to collect rubbish and avoid harm in games as these causes enough distraction for them to play the game. Because of it time limit and high score are the most fundamental gameplay elements. People love to win but hate to lose.

Learning about psychology and laws of physics would help you to develop a video game so you would use laws of physics to your advantage to develop a proper video game from the most fundamental way, and psychology is necessary on the illusion and sensory art aspect to satisfy the player playing the game. Graphics doesn't have to be so realistic, but even 2D game has to visually satisfy people. SFX shouldn't annoy the player and music should be kickass lol.

2) What's the way of developing a video game?

My way of understanding is first creating "people" as workers (programs) of the factory (whatever triggers programs to function or not) and then building a "factory" so factory can produce whatever they are programmed to do (codes, flags, changes in values, et cetera). But there are lots of factory works for a company (video game). I see it as simply car factories. Each factory produces different part of the car and then later at the end all these parts are combined to make a car. So what this analogy means for developing a video game?:

I write lots of programs as fundamental aspect of the system we call as a "video game". For me these programs are essential:

"Soundmaster": In charge of video game playing music and SFX.

"Animator": In charge of making 2D sprite changes or 3D animations to happen.

"Timelord": In charge of whatever needs time, usually for the ability to pause the game.

"RealmWalker": This guy right here is middleman between the video game on operation system and the computer so the game can work.

And there are many "programs" you have to write to make the video game as a system work.

For me video games works like a factory because stuff have to be produced and delivered in right time so other stuff can happen.

After programs are established, their "stuff" loaded in RAM and it make CPU constantly "being effected" by whatever is in the RAM. Afterwards actual game aspect can happen according to the way whatever code in the RAM and how CPU process these codes.

3) How to develop a video game?

I don't see there is a particular "developing a video game code" here. It's like you use bricks and whatever to stick bricks with bricks and use this fundamental knowledge to build a house, bridge and whatever. Just the way you use the codes changes, so your method changes but you still use same stuff.

Thinking "codes has to be specific to program video games and therefore I need to know specific codes to develop video games" is a wrong POV to have because of this: When you write a romance novel you don't learn specific words for romance novel. You basically use, for example English to write it. You don't use "romance novel language" or something. You will use same words to write murder mystery, your diary, shopping list, how to cook stuff, et cetera. However there is a difference of which type of words you using naturally.

But I can say you still use the stuff you write a program to develop a video game, but there is extra stuff to learn how to make a video game work. So you won't learn a "smaller" aspect of programming to learn how to develop a video game, you'll have to learn extra stuff and the most abstract aspect of how computer works to understand how physcally it works so you can even make your program render a simple 3D box without making computer scream crying lolol. Yes, this is where optimization comes in and no just because you have the most current "best PC" doesn't mean whatever video game you wanna develop would work on it. So you may develop some rubbish 2D game but due to the way how it works badly it can even run in 1 FPS making the PC scream lol. Video game development can be so dangerous it can even make your PSU explode yo lol.

4) What to learn so you can develop a functioning video game?

Video games are complex system formed by lots of collection of programs. And they have to work in harmony like a decent kingdom. A country will collapse if it doesn't even have the smallest needed aspect. For example society does need people to clean streets as much as it needs medical doctors. If a job is needed there is no such thing as it's trivial and "it can work without it". Video games works like this too: Everything should work properly in harmony and everything everthing may need has to be provide.

Other than these optimization is key in developing a video game and it depends on what you wanna develop. Open world video game optimization like a GTA game is different than just releasing a Resident Evil 2 Remake.

First gotta decide the RAM, VRAM and CPU you target, and then design the game around these targets because the models, textures and whatever stuff hapenning has to be for the target system you have in mind. If the game is 2D you are in more ease about it but never underestimate it though. 2D games still can use CPU a lot and one wrong move there may be unnecessary RAM usage too.

Then what to learn is current way of how GPUs and CPUs work, and how the OS you target works so you can properly develop a video game for it. For example gotta develop texture files in the way Nvidia GPU can process. Gotta learn how RAM and CPU technically works, and it will help a lot if you wanna use how CPU threads work to your advantage. For example Windows 10 helps a lot on how video games should work but it has its limit so it cannot save you from not properly developing a video game so it can work properly as if Windows 10 will make the game necessarily have a magical optimization lol. Underestimate it and you may need to re-develop your game from the very beginning lol. In that regard developing a video game can be like cooking a cake lol.

5) What are key stuff to develop a video game?

C languages are vital to learn but I wouldn't say "better start from C and then go for C# and C++" because between these languages there are lots of stuff changed. If you think like C programmer you may have a hard time using C++ properly and vice versa. Also what these languages can do and therefore how you can use them depends. For most fundamental part between the program and hardware you may use C but for higher level of the video game development you may use C++. Other than these you may use Python or Java. It really depends on what you wanna do.

So in short just learning C and C++ enough, but if you wanna tweak the game in most detailed way then you gotta learn assembly because it will help you with tiny part of optimization that can be a big deal for your game.

- Extra: If you wanna develop video games for old consoles:

It would help you to learn how computers physically work and then learning assembly because whatever aspect your program has to communicate with the hardware you need to be able to write assembly code. Then gotta learn how to use bits and assembly aspect to your advantage to maximize a stable optimized video game to develop. In that regard first learning C will help on understanding assembly. However in today's modern ease just learning C and C++ to develop games are enough.
 

Users who are viewing this thread

Connect with us

Support this Site

RGT relies on you to stay afloat. Help covering the site costs and get some pretty Level 7 perks too.

Featured Video

Latest Threads

favorite character designs?

who are your favorite character designs in anything?

right now im literally obsessed with these...
Read more

What is your thoughts on Widescreen being the standard?

It's Everywhere!

Phones, Handhelds, Tablets, TV and even COMPUTER!

What is your thoughts on...
Read more

What are some of your "guilty pleasure" games?

I don't necessarily mean YOU feel bad about enjoying it. But I mean stuff that maybe you'd go...
Read more

Post bad posters for otherwise great films

I will start. Ghost dog: the way of samurai (1999) is such an awesome film but I am 100 percent...
Read more

i am the EGGMAN

Online statistics

Members online
132
Guests online
172
Total visitors
304

Forum statistics

Threads
10,769
Messages
265,320
Members
842,354
Latest member
Zeph1911

Advertisers

Back
Top