Forum Media Blog Contact Presskit

Version control


Hello and welcome to our third blog post. Today’s post will give you the first of many under the hood looks at Nebuchadnezzar’s development in our studio.

For the first topic, we’ve chosen: version control. Why? Because it’s a tool used by everyone who develops software on a daily basis. Programmers, graphic artists, or anyone who works with data. At the same time, most people have no idea something like version control exists. And yet, they could probably use it themselves in many situations.

So…what is version control? It’s a tool that allows users to clearly keep a history of all the changes in a project. It also allows users to return to previous versions. Other functions include: easier backups and simple distribution of changes between multiple users. The specific possibilities and approaches within version control depend on specific tools.

The fundamental units of version control systems are the changes you make. Different systems have different names for he changes, like “revision” or “commit”. In the following text, we’ll use revision.

Example of our Git repository.

Revisions are changes from the previous state. Apart from the data change itself, each revision contains a lot of other information. Typically: author, date, unique identifier and text description. These revisions are checkpoints in the project history that we can track and return to, if necessary.

How big the changes should be in a single revision depends purely on the user. There isn’t a standard unit on how many changes should be contained in a single revision. But a general rule of thumb says that if you can’t come up with a one-sentence description of the revisions then you should split it into multiple revisions.

At Nepos Games we use two tools for version control. For our source code we use Git and for other data (graphics, marketing, etc.) we use Subversion (SVN).

And why do we use version control? We’ll give you some examples where you could appreciate version control even if you don’t develop software.

Example of our SVN repository.

Let’s say you’re writing a very long thesis and a paragraph doesn’t sound exactly right. But you know that the same paragraph sounded better in a previous draft. If you have your thesis versioned then you simply look to the history, go back and it’s done.

Or if you’re a graphic artist, you certainly know the situation where you have a folder full of files with names like: final, final1, final2, finalfinal, finalfinal2, etc. If so, you’re kind of using a form of control already—though it’s not as user-friendly.

Of course you can achieve all this with a simple manual backup, copying, etc. But that’s very annoying, so most people stop doing it. And that’s exactly the function of version control: to make versioning as quick and convenient as possible. And believe me—when you try it, you won’t want to go back.

And that’s all from us about version control. We just wanted to introduce one of the many activities of a game developer and show you that it could be useful for you too.

Let us know how we’re doing! Share your opinion on our forum or social media sites so we know what topics to cover and how we can improve.

Discuss this blog post on our forum or reddit.

Add Nebuchadnezzar to wishlist


Recent blog posts

Stay in touch