When I heard Benjamin Charbit, CEO of Darewise and my partner in crime, saying we were going to launch our Massively Multiplayer Online game (or MMO for short, like World of Warcraft among many others) prototype in four months, I didn’t think it was possible. As CTO, I couldn’t help but think: “we don’t have enough time, or resources, to build a game in such a short amount of time!”. Needless to say, we were astonished by our own results! Continue reading →
I’ve been pretty silent lately on this blog with my entire focus being on Life Beyond, Darewise’s upcoming massively multiplayer online game.
In the meantime, my source control study has had great feedback from many game developers. I’ve had the opportunity to talk more directly to the companies behind those products and provide feedback as well as hear about some exciting upcoming changes.
Recently, I’ve had the chance to be invited to speak at Perforce on tour EMEA 2020, which took place online on October 7th. In case you did not attend, I can finally share this presentation and the details with you today.
In this talk I will show how we set up our tools and infrastructure at Darewise, using Perforce’s latest features and wide suite of tools. There are also a couple of tips and tricks for those of you already using it, so I’m hoping everyone can learn something interesting from this presentation.
I’d like to thank once again Suzanne Miles and everyone at Perforce for making this happen and for all of the time that they have already dedicated listening to our feedback and wishes for the future of Perforce.
This is part of a series of posts on source control for game development. Read more in the Blog.
We have finally reached the end of this series trying to find the best source control for game development.
If you have followed through all of the articles, the answer to your questions may still be unclear. Each solution has its pros and cons, many different pricing and hosting options. If you're a small team or an indie developer, you do not know what the future holds. Perhaps you'll sign a big publishing deal and need to scale rapidly with a larger budget, in which case your choices are changed once again.
So, for the final article in this series, and perhaps the only one you should read, I'll try to provide an overview of our findings and provide simple guidelines to help you with your choice.
This is part of a series of posts on source control for game development. Read more in the Blog.
We couldn’t reach the end of this series without talking about a source control giant, I’m talking of course about Subversion or SVN for short.
Every programmer should have heard of Subversion. Its massive popularity from the 2000s until today has only been outshined by Git fairly recently. In the games industry, SVN remains a very popular choice due to being free and implementing the file-based source control model which maps so well to our needs, as outlined in the previous articles. While not a common choice in larger studios, smaller ones and indie teams have long been using SVN as their backbone and for good reason.
Personally, I haven’t used SVN since my early programming days, and never in my professional career. This article was a good opportunity to get familiar with it again and see how it competes against the other solutions we have studied so far.
So, is SVN a good source control solution for game development? Let’s dig in!
GitHub has just made their Teams plan available for free. This allows for unlimited collaborators and unlimited private repositories. They have also reduced their paid plans from $9/user/month to an extremely competitive $4/user/month. Here is the full pricing breakdown.
This has the potential to be a real game-changer, and I will take the opportunity to update my comparison of Git hosting providers shortly.
In the meantime, let’s examine how GitHub compares with other hosting providers now that users are essentially free. Its main downside was the built-in limitation of 1GB for LFS, which can be extended by increments of 50GB for $5/month. This also includes bandwidth usage on top of storage, which means the more users, the quicker bandwidth will be used up.
I took the time to update the graph comparisons for typical use cases and the result is impressive:
This is part of a series of posts on source control for game development. Read more in the Blog.
Plastic SCM is a lesser-known source control solution for game development. In fact, I expect that a lot of the readers will be hearing about it for the first time. I personally discovered it only a few years ago. So why is it worth an article in this series?
Well, Plastic SCM promises a lot: Plastic SCM brands itself as “the version control for games”, and promises to deliver all the benefits of Git, as well as all the speed and power of Perforce, enterprise-grade features and support, unparalleled user experience, and unique features on top of that!
In fact, I was so excited by the product that I decided to evaluate it when I started Darewise, and back then I was very impressed. So let’s jump right in and see how it looks like today!
This is part of a series of posts on source control for game development. Read more in the Blog.
Perforce is the most widely used source control solution for game development studios.
At Darewise, we evaluated many options and finally opted for Perforce, much like the rest of the game industry, or at least those who can afford it. Pretty much all major AAA studios, and medium to large teams are using Perforce as their main source control, so there must be some valid reasons behind this choice. I have personally used Perforce in every single one of my professional projects. I have worked primarily with workflow issues and source control, so this is a product I know very well and I might be slightly biased towards it.
In the previous article, I explained why Git is not the most optimal source control solution for game development. This time, let’s examine why is Perforce so popular.
This is part of a series of posts on source control for game development. Read more in the Blog.
Git is probably the first result people stumble onto when researching source control for their game development project.
As evidenced by my activity on this very website, I am very interested in Git. I have used it extensively both professionally as well as for personal projects including game projects. I have come to love its beautiful design, and hate its limitations. Because of those, I created GitCentral to overcome Git’s shortcomings and create a better-suited source control workflow for game development.
This article is a good opportunity to examine the motivations behind creating GitCentral, and shed some light on why Git is both great, and difficult to use for game development.
Choosing the best Source Control for a game development project is a hot topic in the indie community. Many teams struggle with making the right choice, and the advice available online is often misleading. The answer is surprisingly not obvious, and there is no one size fits all solution.
Earlier this year I talked at the Nordic Game Conference about Source Control, and how to structure your team’s workflow, automation and continuous integration and deployment pipeline around it. You can download the slides here. As this is one of my areas of expertise, I wanted to go deeper into the subject and break down the options available in order for game development teams to make an educated choice about source control.
In this series, we will study the major options available to you, their various pros and cons, and highlight the reasons why you should choose one over another depending on your team size, budget, and makeup.
As introduced in the first post of these series, I will share the first piece of KCL: an implementation of RTTI and Dynamic Cast. The code can be found on GitHub.
If you don’t know what dynamic casting is, then I suggest you read some online resources before diving into this article.