Hi Onnox,
First of all, good job on challenging yourself.
Don’t worry if you do not come up with the perfect solution at the first onset. It is called game development. You reiterate a solution until you are happy with the result.
Rick does not develop the games from scratch in the videos. He spent a lot of time planning. He wrote bad code, made a lot of mistakes, just like everybody else. Then he revised his code, refactored it, replaced solutions, improved things, and so on. What you see in the videos is the result of a long process. You definitely don’t want to see Rick fixing bugs for hours or even days.
“Over-engineering” is normal. And sometimes, when you completed your complex solution, you suddenly get an idea how to simplify it. Was the original solution a waste of time? Absolutely not. You learn a lot by simplifying “over-complicated” code.
Is your approached “over-engineered”? I don’t know. Without seeing your solution and without knowing anything about your project, that’s impossible to tell. Whether something can be improved depends on the context and the requirements. A “large game” does not mean anything because “large” does not mean that the problem you solved in the “little game” is also “larger”.
To evaluate which solution solves your problem best, analyse your problem and compare the advantages and disadvantages of potential solutions. Don’t forget that you are not immortal. Time is also a crucial factor when deciding which solution is preferable. For this reason, we usually fix the problem first and worry about the solution only if there is a noticeable issue with the performance.
That’s just my opinion, though. Please feel free to ask our helpful community of students for further advice over on our Discord chat server.
See also: