Programming Language, IDE, and Graphics Library:


In this class, for this quarter, we will use:

1.      Programming Language:  C#, if you have not worked with C# before, be prepared to learn it in the first week by yourself. By this point, after CSS342, you should be very familiar with Java or C++. Well, C# is very similar to both.

2.      Graphics API: We will be using the GTCS1Lib. This is a very simple library we build for teaching and learning introductory programming concepts based on building games.

                                i.            You can find out more about the research project here. This library is based on the Microsoft XNA framework and later ported to MonoGame though in this class we will not learn anything about the XNA framework or about MonoGame.

                              ii.            Computer Graphics: check out CSS450, CSS451, and CSS552 if you are interested in learning about Computer Graphics.

                            iii.            Game Engine Development: check out CSS490 (to be offered again next Winter as CSS452) if you are interested in how to build a GTCSLib-like game engine (beware, the next offering of CSS452 is likely to have CSS450 as a pre-req).

Here are the details about the software you will need to install, and some other details:

1.      The Integrated Development Environment (IDE): All examples in class are provided in VS2015 (Community).  I don't think you will be able to open any of the examples with earlier versions of Visual Studio. You can download VS2015 Community IDE for free. So, please work with VS2015.

·         You would need .Net Framework 4.5.

2.      You DO NOT need to install MonoGame: We are using mono-game, only very slightly. The template projects provided from our course web-site is self-contained where you can compile run without explicitly installing Mono-Game. You are welcome to install Mono-Game if you want to, though be warned: I find the whole installation process confusing and quite a waste of time. If you choose to install Mono Game, please DO NOT ask me for anything in particular, I have no idea what they are set up to support of which version of MonoGame works with versions of Visual Studio.

3.      The GTCS1Lib: This is the very simple XNA framework based library we will be using, the previous version of the library is called XNACS1Lib in some of the following documentation, you may still encounter the old name, my apologies for that. Please equate all XNACS1Lib with GTCS1Lib.

·         Here are the step-by-step guides and tutorials on how to work with this very simple library.

·         Here is the documentation for the library.

·         Here is the source code to the library (no needed for our class, just in case you are interested).

 

Learning C#: To learn a new programming language, my recommendation is to examine existing source code performing tasks you are familiar with. Mostly, you will be looking for “how to” and not “what is”. In another word, you are learning to use a new tool and not learning any new concepts. If you like to read “physical paper” books, any book out there on C# will do, I do not have a good recommendation because I do not refer to any of them. When I need answers to “how to” do something in C#, I look for code snippets online, and I refer to C#’s reference manual at: http://msdn.microsoft.com/en-us/library/kx37x362.aspx. In our class all sample source code are provided in C#, so that is a good source for examples.