In about twenty minutes, I need to get ready for work, so this will be a fairly short entry. I’ve been trying lately to make regular time to work on my hobbies, without sacrificing time with friends, family, and just relaxing. This has been realized largely through cutting down downtime (aka, time reading Reddit or spent on YouTube), and actively choosing to program over times where I’d normally play video games.

Getting into 3D development has been pretty interesting. It feels fresh in a way - I’ve made half a dozen 2D games in my life but never a 3D one. There seems to be an infinite amount of things to learn, and that’s what I wanted to focus this entry on.

What I’d like to learn

My day job is as a web developer, and I’m currently working in a stack I’m not super familiar with. There are several things I’d like to learn more about in web development, mostly for interest in advancing my career, but also out of a certain nagging feeling that I need to be constantly training and learning. Outside of web development, there are several things I’d like to learn for game development, and unfortunately, there is very little overlap. Nonetheless, I think it’s important to outline concrete goals - even if I never reach them. So without further adeiu, here are things I think I should learn:

Web Development

  • MYSQL advanced queries. I do a ton of mySQL for work. For more advanced queries, I have become pretty reliant on AI. On one hand, this has been working great, and I feel like I can write very advanced queries very quickly while working with AI. On the other hand, I feel like I would be pretty stunted without AI. Even some simple stuff, like the proper protocols for doing a GROUP_BY I’d need to look up without AI.

  • Database architecture. I don’t think I’ve ever taken a formal class or course on this - everything I’ve learned I’ve learned on the job. I would still like to take some sort of formalized course or something on database architecture, normalized databases vs. non-normalized, best use of foreign key constraints, and that sort of thing. I feel like I already know a lot of this, but I would love a refresher.

  • CSS. It has been a long time since I’ve been responsible for doing a lot of styling with CSS, and my knowledge is only current up to the introduction of Flex and Grid. I know there have been many developments since then, and I’m curious to learn more. With the current state of web development, I’m honestly not too sure I need to learn much more though. So many cases are just handled by a framework these days.

  • Server management. I feel like this is a whole bucket of lots of things (I would like to know more about AWS for instance), and I’m personally not very interested in this stuff. It seems like a very important skill to have though. I couldn’t tell you my thoughts on Apache vs. Nginx for instance, I could just regurgitate what I’ve heard, which to me doesn’t feel like it means I know anything.

  • Azure, AWS, third-party enterprise services. I have no interest in learning this, but it feels important career-wise.

Game Development

Note: A lot of game development includes skills that are non-programming. I cannot tell you how often I go back and forth on if these are skills I should learn. Some of them, like learning or playing music, seem like entire deep skill sets of their own, just like programming. I think in terms of productivity, it would always be better to outsource this kind of thing. Still, it seems like it would help if I at least had a loose concept of how it was made.

  • 3D maths. Vectors and everything else is plain confusing for me. Nearly all of my code responsible for movement is something I found online, and understand very little of.

  • 3D Modeling. I don’t even know how to import a 3D model, let alone animate one. So far I’ve just been using lots of placeholder assets.

  • Making music.

  • Make videos. A large part of making a successful game is successfully marketing it. I don’t have any editing skills. This seems like something else that would be best outsourced, ideally, but I’m also interested in video editing. From what I understand, however, this is also intensely time-consuming, which is a little off-putting.

Those are the top things that come to mind. I have, what I think is, a decent workflow for making games now. I look at my devlog, scan my Trello board, and then get to work accordingly. I still can’t help but feel a bit unorganized at times, but I don’t think there is a perfect method.