Hi, Lidoria here again with another update. It’s been a long time since our last post and a lot has happened at Hotgates since then. Let’s take it from the top, shall we?
Save/Load system and C++
So what took us so long for an update? First of all we encountered our first obstacle in the development of project “Mojo”. The one thing that dominates our team these past few weeks is the Save/Load system and how to implement it. We started with a typical checkpoint system, using only Unreal Engine 4 Blueprints and it was fine – at first. The more we play tested our game though, the more we felt that the players should have more control over how they save their game. We wanted the players to be able to save the game at any given moment and come back at a later time without losing game progress. So we started saving more variables and info and things got complicated very fast. Our blueprints looked like a mess, as you can see from the “Condor” Blueprint, in the image below. There was too much repeating code and we weren’t happy with what got saved and how it got loaded. For the players it was working fine, people who played the game didn’t find something wrong with the Save/Load system, but we knew this had to be fixed. It was obvious that Blueprints alone were not enough for what we wanted to accomplish. Therefore, here at Hotgates for these past few weeks we have been rewriting and testing the whole Save/Load system in C++ and it is looking better than ever, more resource friendly with much cleaner code. There are still a few things to tweak but it is heading in the right direction. We have learned so much from this experience that we plan to share it with the community. Expect a tutorial or two on this subject in the near future.
Although Blueprints do simplify most tasks, oftentimes a C++ implementation is simpler. The combination of both is indeed a very flexible and powerful tool. For those unfamiliar with blueprints, here is a definition as described in the official Unreal Engine 4 documentation.
“The Blueprints Visual Scripting system in Unreal Engine is a complete gameplay scripting system based on the concept of using a node-based interface to create gameplay elements from within Unreal Editor. This system is extremely flexible and powerful as it provides the ability for designers to use virtually the full range of concepts and tools generally only available to programmers.”
As this update comes to an end, I hope you enjoyed all the technical stuff. Would love to tell you about all the cool things happening here at Hotgates, but we have tons to do. Until next time, smile and take care. Lidoria signing out.