@Erich_L said:
@cybereality I love this design pattern stuff, thankyou. If this is the part of game design I like the most what sort of job should I look for back in the states? I wish I had @Bimbam's skills but making the "system" work better under the hood I have to admit excites me more than chasing amazing visuals.
Well when I was working on games professionally I guess the closest thing to my title would have been Gameplay Programmer. These are the people that actually write the game. Like make the character controller, the controls, tweak the jumping, code the AI, scripted events, etc. This is the most interesting to me.
I spent years writing 3D engines and it was boring and frustrating. I love technology, but the tools side of it, for the sake of tools, is not fun. Also, you have like 1,001 half-finished open-source 3D engines that no one ever uses. It's a waste of time. If all those coders stopped messing around and joined Godot, we could have something that is better than Unreal in a few years. It's wasted effort.
But I do like having custom tech in my projects, so I'm fine with writing low-level code if it's needed for something unique to the art style or to the gameplay. Like in Decay, I wrote the Godot Super Scaling and Godot Stereo 3D, and also a Quaternion based camera controller, because that was part of the original vision. It wasn't tech of the sake of it, I needed it for it to come out like I wanted, and decided to open-source the code (even before my demo was finished) because other people might find it useful. But without a reason I wouldn't have done it. This is also why Unreal will be more successful than Unity. Because Epic Games are a game developer, people that work there actually make games, and the tech is used for their own products. Unity lost their focus because they are not game developers and are making bad decisions that users don't want.
In terms of the game patterns, those two books I gave you are the best. You'll also want to read these two.
https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship-ebook/dp/B001GSTOAM/
https://www.amazon.com/Pragmatic-Programmer-journey-mastery-Anniversary-ebook/dp/B07VRS84D1/
If you read all four of those books and understand them, then you'll be a real programmer. I've been coding for 25 years, but the first 15 years I was just hacking my way through life. I never read any books or tutorials, I just kind of winged it. I managed to make some cool games, I guess I got lucky, and my games were fun. I did have talent there, in terms of making smooth controls and fun gameplay. But I sucked as a coder. My code was so bad, I had no idea what I was doing (I didn't even know what classes were). But about 10 years ago I got serious and started doing research and reading books, and then working on coding architecture tests. Just making classes and trying to extend their functionality, writing design patterns and generic code. Making reusable modules. But it's difficult and it takes a lot of experience.