In the labs you will solve C++ programming problems in a UNIX programming environment resembling the one installed in the UNIX labs (CSC 153/159, computers ug02..ug35.cs.ualberta.ca and uf02..uf25.cs.ualberta.ca)
Also, in the course project you will develop StarCraft 2 agents in C++ using the SC2 API
To work on programming problems at home you need:
To test your installation, download test.sh, makefile, and ex1.cpp, and issue ./test.sh in a terminal in the download directory
A copy of SC2, and SC2-API installed
To setup above software environment there are a few options:
On Windows, MacOS, and Linux you can use X2Go to access lab computers and have their desktops be streamed to a window on your computer. This works quite well, actually. It's almost like sitting in the lab (CSC 153/159), with all required software already installed
For lab B0 we ask *all* students to install, configure, and test the X2Go client on your computer. This will allow you to work on course assignments even if you run into issues with alternative installations!
If you run Linux or MacOS, you should be fine after installing programming tools and OpenGL development libraries
On Windows you have the option of hosting Ubuntu which is rather convenient:
- Install Ubuntu through the Windows store - Enable rendering of GUI applications from Ubuntu/WLSS in Windows using a Windows X-server - Install VxSrv on Windows - On Ubuntu/WLSS open .bashrc and add the following lines to the end, then save file and restart: # tell GUI display to use the Windows X-server listening on localhost:0.0 export DISPLAY=localhost:0.0 # make rendering happen on the Windows side of things rather than Ubuntu export LIBGL_ALWAYS_INDIRECT=1 - Install libraries needed for openGL dev: sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev (or similar - I haven't tested this)
Alternatively, you could use Linux or Windows VMs or even dual-boot into Linux or Windows. Note that SC2 can be run using Wine on Linux, but for SC2 software development in the project it will be better to use Visual Studio on Windows
Important: Submitted lab and assignment solutions will be evaluated on lab computers. This means that your programs can only contain standard C++14 and OpenGL code. For a final test - if you are not using X2Go - you should copy your source code to a lab computer using scp, log in using ssh, and compile and run your code to ensure there are no errors or warnings, and that it actually works - like so:
me=my-ccid@u???.cs.ualberta.ca # e.g. mburo@ug21.cs.ualberta.ca scp test.cpp $me: ssh -X $me g++ -Wall -Wextra -std=c++14 test.cpp ./a.out
Note the -X parameter which enables X11 forwarding. It allows the remote application to open a window on your end - which will become important in the OpenGL labs at the end of the course. To test your XWindow setup run xeyes on ug01.cs.ualberta.ca. Alternatively, you can also test your programs in your X2Go environment, which you installed prior to lab B0 ...