Got questions? Take a look at our FAQ or submit your question using our contact form. We may not be able to answer every single question but we sure will do our best!
Computers & Equipment
What is your development setup?
This is actually a question I get asked often. My development setup has changed over the years.
Due to the way my life works, I’ve long since stopped using desktop computers, preferring a laptop only workflow. When it came time to purchase my most recent laptop, I decided to take a hybrid approach. I have a laptop with a decent GPU while out and about but hook up to a Thunderbolt 3 e-GPU containing a 1080 GPU when at home.
*This post does contain affiliate links which means we could earn a commission, at no cost to you, if you make a purchase after following the link.
My primary laptop is a Lenova Yoga 15” 720. It’s got a 4K display, a nVidia 1050 GPU built, an OK processor in the form of the i7-7700HQ. Unfortunately, Lenovo or Microsoft broke the touchscreen drivers with the Creator Update of Windows 10 and haven’t fixed it since. Real-world battery life is decent in the 4-5 hour range, it’s light enough to be portable but offers a huge screen, although glare can be a bit disappointing. I generally buy a new laptop every 1.5 – 2 years, and document the options available when I do. Here is my most recent GameDev Laptop Guide.
The e-GPU I use is an Aorus Gigabyte 1080. The only negative I have found is the cable length for max performance using Thunderbolt is a joke. Less than a foot in length. Compared to the Razer e-GPU, the Gigabyte is an absolute bargain.
In terms of video production, my primary microphone is the Shure MV51. For a USB Mic, it combines portability, ease of use and audio quality into a solid package. Previously I used a Razer Seiren which while much bigger, gave good audio but had a terminal bug that caused a crackling noise randomly during recordings, ultimately a deal-breaker. For recording, I use Camtasia Studio, an expensive purchase, but one of the easiest video capture/edit combinations available. For video capture, especially full-screen games, I occasionally use OBS Studio.
For the odds and sods, I use a Logitech MX mouse. I’ve used this series of mouse off and on for almost a decade. Staggeringly good quality, decent battery life, ok responsiveness, good comfort and has USB and Bluetooth connectivity. I’ve purchased dedicated gaming mice and the quality has been horrible. For keyboards, I’ve traditionally used Apple keyboards, but their build quality is just awful, gone through 3 in as many years. Now I use the Microsoft Surface keyboard which frankly is a clone, but a higher quality clone.
Why not just use Unity?
In the years I’ve spent running GamefromScratch.com, DevGa.me and on YouTube, you notice certain questions stand out over time. Originally it was “What language should I use” or “Should I use C++?”. These days though, there is one question that comes up far more often than any other. (Please note, this answer includes affiliate links which means we may earn a commission if you make a purchase after following the link).
Why not just use Unity?
In just about every game engine review I’ve done, this comment will no doubt come up… and frankly, it’s a fair one. In this day and age, I don’t think anyone would argue that Unity is the dominant game engine. So… why should you choose an engine other than Unity? Why do all these various game engines exist if you could just use Unity? Well… let’s look at exactly that question.
First, let’s start with the opposite question…
Why use Unity?
There are a number of perfectly good reasons to use Unity, let’s take a look at some of them.
- It’s the most popular. This means the most tutorials, most books, most people will experience, most videos, etc
- It runs everywhere. In many ways one of Unity’s biggest strengths is its reach, Unity runs on everything. Every platform, every console, if a new tech such as a controller or VR device is released, you can be almost positive it will work on Unity (and generally Unreal) from day one. It’s about as close to write once, run anywhere as game engines have ever been
- It’s feature rich. 2D, 3D, 2.5D, VR, AR, you want it, Unity probably has it
- The single best asset store. (affiliate link) Many game engines have an asset store where you can download models, levels, scripts, etc… none come close to Unity’s in size
- Programmable pipeline and high def pipeline really up the graphics capability of the engine
- FINALLY, modern C# support after many years of languishing on an old mono version, at the same time and updated design in the form of ECS/Jobs/Burst compiler should make for faster and cleaner code in the future
- It’s battle tested and proven. You know what it’s capable of, because hundreds of commercial games have been created and shipped that were developed using Unity
- It’s free (as in $$$) to get started using Unity
So… that’s a pretty compelling list of reasons to use Unity… why then would I choose a different game engine? Why do other engines even exist?
Why should I not use Unity?
- Open source, or even source code access. This is a big deal breaker for many people. If you are looking to heavily customize the engine, or want to have faith in the future development of the engine in case something horrid happens, Unity is not a good choice. Unity is starting to make more and more of the source code available on a reference basis, but you can’t build Unity yourself unless you drop a huge amount of money on a source license
- Graphic quality. With the new programmable pipeline this is certainly a smaller divide, but many would argue that Unreal Engine or even CryEngine/Lumberyard are capable of making better looking games. For most indie developers, this is a non-factor or a minimal factor, but Unity doesn’t have many ultra high-fidelity AAA style games in its arsenal, unlike Unreal Engine. Again, for most indies, this one should be a pretty minor point these days and the graphic divide is lessening with each release
- Unity is starting to get pretty clunky/long in the tooth. The UI is starting to get a bit old, nice to see the recent high DPI support in 2018.2, and the code style (MonoBehaviour, GameObjects) is bloated and leads to some pretty horrible coding habits. The Entity component change, new job system for parallelized code and Burst compiler for performance all look to solve some of these problems, but those features are beta level. The UI however… that’s still an issue that will have to be addressed at some point in the future
- Unity is often overkill. Trying to make a simple 2D game… can you do it in Unity? Could you have done it easier in a dedicated 2D game engine (GameMaker, Defold, Construct, etc), almost definitely
- Budget issues. You can get started for free in Unity, but it doesn’t stay free. Game engines vary from completely free (and open source), to a small one-time purchase to royalty based. What economic scenario works best for you can heavily influence your decision. Unreal Engine and CryEngine, for example, are royalty based, Defold and Godot are free to use, GameMaker has a one-time fee, Construct has a subscription, Lumberyard is free to use as long as you use Amazon servers, etc
- You are creating a game for fun or as a learning experience… use what interests you the most then, reasoning be damned
- It’s not an engine you are after. Many people, especially coders, actually want to work at a lower level, closer to the metal. You might be better served using a framework like MonoGame, C#, SDL, SFML, Love or even a renderer like OGRE
- You are on an unsupported or minimally supported operating system. Want to create games on Linux for example, while Unity Editor runs on Linux, it’s not always the greatest experience or best supported
- You are targeting a single platform. Is HTML5 your primary or only platform? I’d argue in most cases this is a bad choice to use Unity. If the black box build process fails, you’re screwed. You may be better off using a native library ( Three.js, Babylon, PlayCanvas, Phaser, etc ), and have tighter control over the generated code and a much nicer debugging experience
- You don’t like Unity. It’s ok, you’re allowed to just not like it. You may not like the way it structures code, or the way the UI works, or the API design… all are perfectly valid reasons to like on engine and dislike another one. It’s ultimately the reason we have so many options and this is a good thing
So why shouldn’t you just use Unity? Well, maybe you should… it’s a great game engine. But other engines exist, and those engines exist and thrive for a reason as listed above.
What is your favourite game engine?
Such a tough question! We have tried many, many game engines and so asking us to pick one is like asking us who is our favourite child. Luckily we only have one awesome kid to pick from.
What is the difference between devga.me and gamefromscratch.com?Devga.me is meant to be a modern, clean site focused solely on longer tutorials series. Gamefromscratch will be focused on more timely information such as breaking news as well as shorter or one off tutorials, but it will continue to contain all of the tutorials it has to day. Gamefromscratch will also highlight new developments on Devga.me and the YouTube channel.The easiest way to think of it is, Gamefromscratch is like a newspaper, while DevGame is like a book.
Have you ever considered writing a book?
Funny you should ask that question. I am in fact a published author. My mom and 10 people sprinkled across the world are proud owners of this awesome book that I wrote on the Playstation Mobile Development Kit. (affiliate link)
I’m currently writing a book on Godot. You can get an early view of the work-in-progress by sponsoring us on Patreon.