First Unreal C++ Postmortem
Overview
Another jam came up for the Fall and I'll admit that I'm still a little burnt out from the last one. It was once again pitched to be a week long and online only. After having spent so much time working on another project, I decided that this would be a better opportunity for learning rather than developing something brand new. I'd actually never officially worked in Unreal before other than some level design with BSPs and Static Meshes, so I thought this would be a great time to do that.
As such, I looked into some Udemy courses and found one by GameDev.Tv. These guys were actually the same classes that I took for the very first time years ago to learn Unity, so I knew they were a great source of teaching. Their first few courses were on very rudimentary C++ in Visual Studio, so I did work through them, but I definitely wasn't going to submit them to the jam. Instead, I worked through them all as fast as possible until I found a project I thought would go really well. That ended up being Crush, the simple puzzle game to escape a caving in room.
My Role
Obviously my role was technically everything, but I really only worked on the programming. The models came straight from Unreal's starter pack, and even the game design was just what the tutorial told me to do. The only thing I added that was strictly my own was the caving in ceiling system so that it could work more in line with the Crush theme.
What Went Right
Theme
Funny enough, despite how small the game was, I actually ended up winning Best Use of Theme for the jam. The other games were definitely amazing in their own right, but they seemed to miss the point of Crushing rather than breaking or destroying. While it was a last-minute addition, I really wanted to make sure I kept the theme in mind. I spent a lot of extra time past the original tutorial trying to find out how to cave in the ceiling so that the game actually served its original purpose. Admittedly the name was a little uninspired, but it also took me a long time to figure out how to export the game in the first place... so I just threw out whatever I could.
Tutorial
Despite C++ being daunting and difficult, the GameDev tutorials were incredibly helpful. From time to time I'd get a little lost, but the way they explain programming in very slow but constructive ways really helped me grasp what I was doing. I think in order to cement it I'll need to keep working on it consistently, but I think the tutorials did a great job of teaching me what I needed to know while giving me just enough freedom to explore my own ideas.
What Went Wrong
Burnout
Unfortunatley, given that I had to start from the bottom and work my way up with the tutorials, by the time I finally reached the game that I was actually wanting to submit, my learning meter was pegged pretty hard. Given that the jam lasted a week, I was also working on other projects that were more time sensitive, so I'd spend all day working on those and then all evening learning C++. Once I got to working on Crush itself, I was so tired that I didn't really have the time or the flair to make the level super exciting. I regret not turning it into an actual puzzle, but the point was to learn programming, not level design.
Comprehension
Another issue was just how unexpectedly complicated C++ is. I believe its still important for me to learn, but the learning cuve was much higher than I anticipated. Coupling that with the fact that I was burning out, a lot of the lesson challenges that urge the programming to embellish the code and make it more exciting I simply skipped past because I was so fatigued. I don't necessarily kick myself for that, because I know just how tired I was, but going forward I don't know if being brand new to a concept is the best time for a jam. I may C++ in future jams still, but I'll definitely only do one project.
Overall
I honeslty don't have that much to complain about. Given that I was using this as a time to learn, other than getting a bit tired because of it, I think I learned plenty and have a product I'm more or less proud of. This game won't be going on the projects page because it's not really mine, but I'm still happy enough with how it tured out. Hopefully this will be the first stepping stone on learning to code in more languages and different engines, making my projects a bit more diverse in the future.
Comments