Post Categories


We respect your email privacy

Unreal 4 : Save Game & Peer Support


Having prototyped my “edutainment” game a couple months ago, I had to pull back and make sure it was still running at a good speed, it wasn’t so this had me reconsider how much of the game I was streaming at one time as well as remodeling whole buildings and reducing textures. After that I had to work on my Save Game system.

A save game system is a very key part of the making a video game. To me it’s a big part of what breathes life into a video game. I like to think of ways to breathe life into a game, like the floating lanterns above, the subtle sounds and movement that adds to a game.

However, there is something magical that happens that most don’t think of when you can return to this virtual world and find things where you last left them. More importantly though, no one wants to play a game that they can’t save out if it takes more than an hour to play.

Unfortunately with all the tutorials and documentation about making video games, it is somewhat neglected and confusing area. Because I think the save game system can influence how the game is made (and how much time it takes to make it) I feel it is something that shouldn’t be neglected. If i had my way it would be the first thing that works right out of the package.

While at places like Rhythm and Hues I enjoyed manipulating lists of objects in ways on the computer, and over many years I got very comfortable doing this.

I found very quickly that as I generated lists of objects in my game that can be moved, that I had issues to surmount and that it is not quite as straight forward as at R&H. In particular, and as far as I can tell, to save out the positional information of objects they need to be classes. So a chair for instance would be it’s own class. I have a game that uses the alphabet, in several different iterations, so I had many classes that I had to identify and save out. That means if there are thirty of the same class of chair, one function will save all thirty but I need another function to find the other classes, like the boxes, the letters, the doors etc so I can save their states. My still somewhat clumsy skills in scripting in UE4’s Blueprint package, means that I had to laboriously put together smaller functions that scan my game for the different classes. I had to do this many many times, and I’m sure in the future I will learn quicker ways to put this together, but for now its’ about moving forward with what works as long as it doesn’t impact game play.

Not working in the industry with lots of people around me to pepper with questions about something that i know should be an easy data manipulation can feel daunting with new software. It took a great deal of digging on the web and lots of experimenting. I would probably still be struggling if not for the video above by Joel George who responded to my request to him to help me with a save game function for object positions. Here’s Joel’s response when peppered with questions by me a few weeks ago.

Much of what I find on the web is more about saving high scores, and what level the player is on, which are simple variables. Often what people demonstrate is very specific to their game play, and often may take a lot of wrestling with to get to work with what you need. What i’m doing is more like an adventure game, where I want to know where the player is, what she has moved and what puzzles they have solved. Joel demonstrated something though that many people demonstrate on the Unreal forums and on youtube and other places, a willingness to grapple with the issues others have, and offer their help in resolving them.


So often we hear about the people who snipe on the web, and those who bully people, but Joel and others abound on the web. The community that shares in these videos help to create a sort of virtual game company, that shares information making a small team feel robust.

Of course it is no small thing what Epic Games has done with UE4, so that the might of the Epic team is behind little indie games.

So I’m grateful to this community, Joel, Tracey, Tesla and others who give me loads of information or sometimes one small clue that makes me crack something bigger that I’m working on.