C# course : Game Programming / PDF

C# course : Game Programming  / PDF











C# course : Game Programming  / PDF



















Table of Contents




1. Introduction. 1
2. Background. 1
2.1 History of Video Games. 1
2.2 From Assembly to C#. 2
2.3 The Story of C#. 2
3. Basics of a Video Game. 3
3.1 Game Design. 3
3.3 Object-Oriented Programming. 3
3.2 The Set Up. 3
4. Concepts of Game Programming. 4
4.1 Preparing the Project 4
4.2 Game Objects as Classes. 4
4.3 Main Game Loop. 5
4.4 Movement and Collision Detection. 5
5. The Code behind a Video Game. 5
5.1 Idea of Namespaces, Classes and Interfaces. 6
5.2 Data and Data Collections. 6




****************






Sample of the pdf document 





Introduction

                In the early 1970’s when first video games began to appear, they were very simple and programmed on rather primitive computers. Video games began to develop at the same pace as the High Level languages and amongst some of the first programming languages used for video games were Assembly language, FORTRAN and BASIC[i]. Such programming languages allowed for limited capabilities of games and the code was hard to read.

With the development of successful games like “Pong” and “Tetris” video game industry charted its beginning3. Higher demand for video games produced higher expectations from video game developers. It was customary to expect the newly released games to impress the consumer with some innovative aspect. As a result, evolution in High Level languages began to take place and languages like C/C++, Java, and Python were invented1. With the coming of these languages games began to become more and more sophisticated advancing at an increasing rate and were offering new and ground-breaking features like: Artificial Intelligence (AI), vast world environment, stunning visuals, and complex game play.

Currently, video game industry’s standard is C++ language, as it offers great abilities to create modern video games. Along with C++, DirectX has become the most used Application Program Interface (API) for video game development1. However, with the ever improving programming languages video games will become more advanced and provide interesting features for the video game fans.

                One of the most innovative languages in the computer science field is C# (pronounced see-sharp) and comes from the Microsoft team. C# was developed to replace its predecessor C++. C# incorporates most of the features that C++ provided and it also includes many benefits that Java programming language has. The most significant feature of C# is the support of Microsoft’s .NET framework. The framework offers tons of useful benefits and features that make C# an incredibly advanced High Level language2. Because of all of this, many game developers may make the switch from C++ to C#. Benefits of C# and .NET provide benefits such as easily manageable code, lots of built in functions, support for DirectX and many others7.

                The knowledge of programming games with C#, does not only open up career opportunities in the billion dollar video game industry, but also expands the knowledge of important ideas behind computer programming[ii]. Experience with game programming allows understanding of AI, advanced data structures, memory storage, graphics, algorithms, and further advanced programming subjects8. Most modern games are very advanced and utilize some of the most advanced topics in programming. Such games take many years to develop, have a multi-million dollar budget, employ a large team of programmers and designers, and consist of millions of lines of code2. However, in order to learn the more complex elements of C# programming and create modern type games, a beginner programmer must learn the simple basics7.

 That is why programmers should begin with easy games and progress to more complicated ones. Object-Oriented (OO) programming also becomes an important subject, when it comes to video game development. Video games are heavily based on objects and it would be extremely hard to program modern games in non-Object-Oriented languages. Since C# is strictly OO language, and it contains many pre-built functions, it emerges as the game programming language of the future7.

                This document will introduce fundamental knowledge about game programming using C#. The reader will be familiarized with the basics behind creating a game and how C# and .NET make learning game programming fun and painless experience. Some previous knowledge of C++ or Java programming is required for understanding the jargons further used. Understanding the basics of video games will set the programmer on the path to creating more advanced games with interesting features. Nevertheless, in the beginning it is crucial to understand the main concepts of C# and how it can be utilized to create video games........









Download C# course : Game Programming  / PDF














C# course : Game Programming  / PDF


1 commentaire: