I spend a lot of time giving people advice about building workstations for graphics and games work. I’ve decided to write it down to provide a resource to games developers looking to put together a machine specifically for games development.
It’s not really related to Maia, so if you don’t want to know about PC hardware give me another week as there will be some veeeery interesting things appearing on the development branch on Steam.
Building a PC for indie games development 2017
I’ve built a lot of PCs, too many in fact, and it frustrates me to see the poor decisions people in the industry make when putting together their workstations. Little advice on the net is tailored for games developers so this quick guide will focus on some specifics that other information sources will not cover.
Computer components are expensive and you should tailor your build to your current and short term future needs. A high end development machine and high quality screen should come in around £1500 and last for a very long time. A middle range machine can come in under a grand if you are smart about it, and don’t mind a small drop in performance. You need to be pragmatic and sensible, have a rough budget and be aware of your needs.
You should consider the value of your time when building a PC. If you spend half an hour a day waiting for builds or renders you need to think about how that cost is building up in the long term. I have worked for studios that understood this: Natural Motion set me up with a 10000rpm Raptors in raid 0 in 2008 saving me time and them a tiny bit of money. I have worked for some studios that didn’t: I was once refused an SSD in 2011 when I spent hours a day waiting for disk intensive asset pipeline builds costing a certain company thousands of pounds a year.
I kept this in mind when I built most of my own office’s machines at the end of 2014, with upper-middle-end parts for roughly £1200 each. They are all currently running well, with no failures and no complaints in terms of performance. Only now that I am rendering more videos at 1440p60fps and building hundreds of thousands of lines of code for Maia’s completed engine have I started to plan a new upgrade for my own workstation.
The following recommendations are from my own experience with current hardware, cross referenced with data from as many benchmarks as I could draw together. They are by no means the definitive selection of hardware you should consider, but for the average developer will provide a system that will perform well whether an artist, designer or programmer is pushing it to its limits.
Hard Disk choices.
Whether you are compiling code or building art assets, your hard disk is likely to be the biggest bottleneck in your machine. A modern M.2 slot drive like the Samsung 960 Evo should be your first choice. The 500GB varient offers the best value for money currently.
Unless you have a specific need for a large amount of raw video capture you are unlikely to want a spinning rust disk for storage. Indeed a cheaper large capacity SSD in a second M.2 slot or a cheaper 1TB Samsung 850 Evo via cable SATA would be a better idea for most use cases.
If you really do need a large storage drive, say for archiving large amounts of old raw video, a 4TB Seagate Barracuda 4 or other similar drive will do. Just ensure you are getting a 7200rpm model. You do not want to be installing any programs on this drive or using it for any of your live assets as it will be up to 40x slower than your M.2 SSD.
Raid arrays can boost performance, or add extra backup redundancy, however I recommend against them. For the former, M.2 drives do not perform much better in raid 0 and can overheat and throttle themselves. For the latter since all your code and assets will be in your revision server and your OS easily replaced via USB drive, a disk failure should not be a major problem. Hardware issues are pretty rare in solid state based workstations.
Your second bottleneck is your CPU.
At the time of writing AMD have come out with a new range of processors named Ryzen. These chips perform very well compared to their Intel counterparts and more importantly are far cheaper, so I will recommend them. Their lower power draws will also come in useful too as it will make cooling the system easier and quieter.
When choosing a CPU to buy it is important to understand that higher prices offer diminishing returns. A processor may be twice the cost of a lower end model, but provide only a 5% improvement in performance.
The next issue we face is the trade-off between having a large number of lower clocked cores vs less at a higher speed. Ryzen 7 has seen some underwhelming resultings in high end gaming benchmarks due to it’s high core count. We are making games however, not playing them, so we likely want to trade single core performance for more threads and get a Ryzen 7 1700x. If money is short a 1700 is also a very powerful chip for a less painful price.
If single core performance is critical or you just don’t spend much time compiling or waiting for videos to render, a Ryzen 5 1600x will be what you are looking for.
A lot of developers I know skimp on every other part of their systems to put in the most powerful GPU they can afford. This is a mistake. Unless you are producing high end VR or games specifically for 4k you have no need for a top end GPU. You certainly do not need a workstation card such as a Quadro, almost nobody needs a Quadro!
You want to purchase a graphics card that is reasonably middle end and has a sensible heatsink and fan. I would suggest a Nvidia 1060 with a stock cooler. A second hand or refurbished EVGA 970 could also be a good way to get a suitable graphics card.
Unless some specifically large part of your art asset build process is GPU accelerated you are not going to see big jumps in performance in anything you are doing. Even if it is your graphics card will likely spend a larger amount of time waiting on the data to arrive from system memory and the hard disk anyway.
SLI should be ignored for development machines for a whole raft of different reasons. You are unlikely to need the performance, and you can introduce all sorts of issues on a hardware (cooling, power, noise) and software level (Microstuttering, support issues and even performance drops in some tools).
The Motherboard is a critical component of your system, but thankfully the current Ryzen boards are mostly good and not too pricey. You won’t be needing any fancy features like multiple SLI and crossfire, however good onboard sound and spare M.2 slots will be useful.
The B350 range are pretty much all good value. We will want a full ATX sized motherboard from a solid manufacturer. So I’d recommend an Asus Ryzen Prime B350 Plus.
What!? This sounds complicated and dangerous! Why would I do such a crazy thing!?
A modern off-the-shelf closed loop water cooler is one of the best ways to cool a CPU in a dev workstation. They are just a heatsink/pump and two pipes to a radiator unit that you install at the rear of the case like you would with a regular fan unit. Every machine I have built in the last 10 years (that wasn’t passively cooled) was watercooled and the new prebuilt kits are easier to install than some traditional CPU heat sinks. I’ve put eight Corsair Hydro series coolers in machines and haven’t once had an issue with them. They are not the best performing coolers, but with a new Ryzen chips you really won’t be needing to draw away much heat.
Water cooling is more efficient as you are able to take away far more heat from the CPU than a stock cooler. Thanks to the radiator being mounted on the top or back of your case the heat goes right out the system, rather than into it. This massively reduces your cooling needs for the rest of the machine (especially now that SSDs are slotted right into the motherboard). In turn this means your machine is going to be running at lower temperatures and putting out far less heat overall into your working environment.
Another key point is the sound. Inside a decent case a closed loop water cooler will be almost silent, you will have peak cooling at all times, and not have to hear fans spinning up and down constantly. Even if you don’t care about noise, having a quiet machine can be very useful for making promotional materials such as voice-over videos and live streams.
Choosing a PSU
When I see people ordering 1200W power supplies it makes me die inside. Most systems will pull a quarter of that. It’s a grim waste of money. All components will state their required wattage so finding out how much your system needs is not a difficult task. An efficient 550W supply will power the system in this article, place the system demand nicely on the supply’s efficiency curve, and stop the fan from spinning up outside of heavy loads.
I recommend the Corsair RM550x, I’ve had a whole office of them running here for several years and am very happy with them. Alternatively the Be Quiet range of Power Zone power supplies are also very good.
Don’t try to save money here. If you buy a £30 PSU and it pops, it will could take out that nice motherboard, processor, RAM and GPU you just picked out. I’ve seen this happen again and again.
Ryzen performance seems to be a bit sensitive to RAM speed. I’d recommend a dual channel kit of DDR4 2666, above that you are not likely to see a measurable performance increase, and you won’t really want to be overclocking them. If you see a 3200 kit on sale for the same price, go for that, but don’t shell out extra as you will only see 1-2% improvement in performance.
You’ll want 16GB or 32GB of memory. I personally rarely get anywhere near using 16GB so that’s an easy cost saving you can make.
From a case, we want good airflow, lots of space (especially since GPUs just keep getting longer), and decent sound dampening. The key thing here is we don’t want or need a lot of (small, loud) fans. With a decent layout and good air flow one or two 180mm fans will provide more than enough air flow.
My go-to for silent cases has always been the Antec p180/p182/p190 series, but for some strange reason they decided to stop making them. This is a shame since the segmented off PSU and disk compartment design allowed for excellent airflow.
The Corsair Carbide Series 330R is a worthy successor. With lots of space, and a lot of thought given to acoustics, cable placement and air flow. Barring the lack of compartments, my only criticism of the case currently is the lack of USB 3.1c support on the front panel. Which is a small complaint now, but may become more of an annoyance as the standard becomes widespread.
Keyboard and mouse:
This one is up to you. I have the Microsoft 4000 ergonomic keyboards with a Logitech G400s mouse. I’ve had bad RSI in the past and this keyboard and mouse combo has eliminated that pain from my life. As well as being ergonomic the keyboard is brilliantly efficient. Using it I can type faster on this keyboard than my brain is able to think. Which explains my Twitter account.
Go for a mechanical behemoth and a gamer mouse that looks like an ugly Michael Bay Transformer if you want, but don’t say I didn’t warn you.
Almost there. Now we just have to pick a screen. I recommend the Dell U2715h. Or the U2515 if you want a smaller screen or a dual screen setup. These screens hands down win when it comes to colour reproduction as they are incredibly high quality and come calibrated from the factory. I’ve also never found a dead pixel on one of them. The 1440p resolution is a good compromise against the cramped feel of 1080 and the eye squinting and potentially stunted performance of 4k.
They also have very small bezels which is aesthetically pleasing for a single monitor user and useful in a more practical sense for multi screen setups.
That said, If you can avoid a dual monitors do. With displays being high enough resolution to have multiple windows open side by side, you can focus your work area down. This will avoid unergonomic neck movements and also reduce the temptations to have a distraction in that secondary monitor like Youtube, your emails, social media or blogs about building workstation PCs.