I have lifetime experience in game development, started as 13 years old.
The first project I remember I tried to write, was game do you want to be a milionare,
in VisualBasic, which was the first programing language I learned.
I had (as kid) no idea about for loops, or OOP, or architecture. I simply copy pasted to learn. The project was from today's perspective a disaster (from code view), but functional.
Then I moved to C# programming language, in which I stayed for 4 years, believing, that if I learn everything about the language, I will be best programmer, able to write everything. I had no idea about technology limitations, or web technologies.
In C# I write projects totaling in gigabytes, mostly games, but also media player, screensavers, utilities, for my daily life.
As the time passed, I reached point, where I mastered C#, knowing every construct the language has, including lambdas, marshaling, extern functions, threads, shared objects and memory.
Then, I wrote chess game, with aim to implement AI for chess. As kid, I had no idea, that such task is NP-hard, and without knowledge of neural networks, monte carlo and years of development along with databases of existing games, I have no chance to produce good and working output.
I used minimax, which was only thing I knew back then, in conjunction of tons of conditions. What I have essentially written was AI which simulated how I would play chess, so I transcripted my own gameplay to the code.
Ai was behaving good at start, but soon in game became useless.
Then, I expanded, learning alot of other programming languages, as my school forced me to.
I learned bash scripting language, C, C++
I have even written my own STL library (without using STL library), as in school we had tasks to write programs without STL
As school project, I wrote Bomberman, and Snake game, using only C++ and terminal, (no graphics library).
That was first time, when I implemented pathFinding AI, and I saw on the computer how the game plays itself, which was amazimg, knowing that I am the architect.
Then, I wrote Snake game in C#, using animations, bonuses, and BFS.
As in school we were told, that C++ is best language, I went ahead and started new project, which was 2D zombie game (like call of Duty zombie game, but 2D), with aim to create freeware distributed game.
I used SDL2 graphics libraries, and SDL2 for audio. It was piece of shit to make it work, and it took me 1 week to conditionally translate the program on both linux and windows.
After 1 or 2 years of development, I created my own game engine in C++, and created working zombie game, clean from any memory leaks, except memory leaks from graphics library, which I could not influence.
I also created 3D models in blender, and renderred them to 2D, creating sprites for animation.
Game allowed infinite amount of rounds, with increasing number of zombies. Windows, whcih contained bars and had to be taken down by zombie, slowing zombie down. Game also had doors, node network and zombies used Dijkstra's algorithm for navigation.
There was mystery box, offering player random weapon. Game included 50+ weapons of different types (shooting automatic, shooting burst fire, shooting manual, grenade, placeable mine, meele knife, throwable knives) And also ammo.
Moreover, game had random bonus spawns (insta kill, max ammo, carpenter, perk bottle, etc.)
Entire project had 44 474 lines of code.
Unfortunatelly back then, I did not use git, so it is all on my PC only.
At the end of course, teacher told me, that for my game dev passion might be better nodeJS than Nette and PHP.
I then figured out, that despite my experience and carefullness, it is not possible to be done, as it was not unusual, that it took me 3 hours to find where the hell is non existent variable being acessed from.
The situation was, that game ran, but then, it crashed. And search for that....Moreover, when you rename variable, and you misspell it, you get the nice undefined value, which can be added to number or used as string, so application runs and you know nothing.
Then, I discovered, that Typescript exists, and I started rewtriting entire game engine again, but this time, to Typescript. I also started using git, and learned more about it.
Now, the game itself is in git, written in typescript, code is clean, and ... yea, that is it...
During my life, these are languages / technologies I learned, sorted chronologically: