I Basics of 3D Game Development
In this chapter youâll install the principal software tools used in this book and test them out to make sure that they run: Visual Studio, Unity, GIMP, Blender, and Audacity. In the following chapter youâll use these tools to make a small 3D game. Youâll continue to use these tools throughout this book. Later on in this book youâll install MuseScore for music composition and notation. Your main hub for all of this will be Unity.
This book was written to let you follow along with a series of steps. By doing so you will experience firsthand what itâs like to be a game developer. There are hundreds of numbered steps in this book, requiring you to pay very close attention and to do them in order, one by one. Most of the steps are followed by additional explanations, descriptions, or screen shots.
When coding, making just the wrong kind of mistake can have devastating consequences for your project. The devastation can occur immediately, but if youâre unlucky itâll be days, months, or even years later. This is the nature of the beast. Some mistakes can come to haunt you decades later. Really. The best way to avoid this painful embarrassment is to test early and often. Type carefully, and make very sure that you donât skip any steps. If you only have a few bugs along the way, youâll be doing better than most. Simply accept that this will happen to you, and when it does, fix the problem, learn from it, and move on.
Your Computers
Youâll need to have access to a PC or Mac to follow along with the steps in this book. Your system needs to meet the development system requirements for Unity. In the spring of 2021, the Unity company released the 2020.3.0f1 LTS version of Unity, the version used for this book. LTS stands for long-term support, which means Unity will support this version for 2 years, fixing bugs but not changing it otherwise. So, you should be OK when using the latest version of 2020 LTS Unity, for example, 2020.3.3f1. Here is a summary of the system requirements for 2020 LTS:
- OS: Windows 7 SP1+, Windows 10, 64-bit versions only; or macOS High Sierra 10.13+.
- CPU: X64 architecture with SSE2 instruction set support.
- DX10-, DX11-, and DX12-capable GPUs. For Macs Metal-capable Intel and AMD GPUs.
Look at unity.com for details. Itâs in the Unity Manual under System requirements for 2020.3. While not strictly necessary, itâs highly recommended that your screen has at least 1920x1080 resolution. Some laptops or older desktop systems might have lower native resolutions. If that is your situation you should seriously consider upgrading or replacing your display. You should probably get at least one 4K monitor because many of your players will have one. A two or three monitor setup with a fairly recent graphics card is recommended in order to maximize your game development productivity and enjoyment. If you donât have multiple monitors, Virtual Desktops in Windows and Mission Control on your Mac are very useful and workable alternatives. If you wish to support real-time ray tracing in your project, then search the web for high-end graphics cards or laptops that support real-time ray tracing and get one. Yes, they are expensive as of 2022, but prices are decreasing, and availability is improving. This book contains an optional section on ray tracing in the lighting chapter (Chapter 21).
If your system meets the requirements for Unity, it will be more than adequate for the other software tools used in this book. And yes, you really should have fast internet access. If you donât know the speed of your internet connection, this would be a good time to find out. Run a speed test and check that your download speed is at least 10 Megabits per second, the faster the better. 30 Megabits per second is recommended for an enjoyable experience. Some of your downloads will be large and time consuming, but once everything is downloaded and installed, youâll be able to work on your project with slow or even no internet access. In case youâre curious, the author uses a three-monitor setup with a 75 Mbit internet connection.
This book assumes that you have a three-button mouse and a numpad. There are workarounds but your life will be much easier if you connect these devices to your system when needed.
Most serious game developers have access to several systems, old and new, laptops and desktops, maybe even both PCs and Macs. Really old systems may not be compatible with Unity development, but they can sometimes be used for doing Visual Studio projects or for the creation of graphics, sound, or music. They may also be good enough for testing your games, so by all means, keep your old systems if you can deal with storing them and keeping them updated. Itâs important to test your games on a variety of systems before releasing them to the public and to your external testers.
As stated in the title, this book focuses on the development of 3D games for PCs and Macs. If youâre interested in developing non-game applications, this book may also be for you. Unity got its name from its ability to allow for the creation of games once and to then deploy them to many targets such as desktops, consoles, and mobile devices. An early slogan for Unity was âAuthor once â deploy everywhere.â That was and still is a noble sentiment, though in reality itâs somewhat more complicated than that. All games in this book will run on ...