This textbook was authored for the CIS 580 - Fundamentals of Game Programming course at Kansas State University. This front matter is specific to that course. If you are not enrolled in the course, please disregard this section.
For this course, we will be using a number of software packages including:
These have been installed in the classroom lab, as well as all Computer Science labs. It is strongly suggested that you install the same versions on your own development machines if you plan on working from home. Alternatively, you can remote desktop into a lab computer and use the installed software there.
To use a remote desktop, you must first install a remote desktop client on your computer. Microsoft supplies a client for most platforms, which you can find links to and information about here.
The remote desktop server is behind a network firewall, so when accessing it from off-campus, you must be using the K-State Virtual Private Network (VPN). It has its own client that also must be installed. You can learn about K-State’s VPN and download the client on K-State’s VPN Page
For remote desktop servers, you can use those maintained by The Department of Computer Science.
If you would prefer to install the software on your own development machine, you can obtain no-cost copies of Microsoft Visual Studio Professional Edition through Microsoft’s Azure Portal and signing in with your K-State eid and password.
After signing in, click the “Software” option in the left menu, and browse the available software for what you need.
The Visual Studio Community Edition is also available as a free download here. While not as full-featured as the Professional edition you can download through Azure Portal, it will be sufficient for the needs of this class.
MonoGame can then be installed as a plugin to Visual Studio 2019, following the Getting Started Guide. While it is possible to develop on Linux or macOS, all course materials will be presented for Windows, and it is recommended you use that development environment.
While not strictly required for the course, these additional software packages may come in very handy:
A broader list of useful tools can be found here