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.