Advertisement

Learning C# by Programming Games

  • Arjan Egges
  • Jeroen D. Fokker
  • Mark H. Overmars

Table of contents

  1. Front Matter
    Pages I-XXII
  2. Getting Started

    1. Front Matter
      Pages 1-1
    2. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 3-9
    3. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 11-25
    4. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 27-41
    5. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 43-62
  3. Creating Colorful Games

    1. Front Matter
      Pages 63-64
    2. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 65-79
    3. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 81-93
    4. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 95-124
    5. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 125-140
    6. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 141-150
    7. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 151-169
    8. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 171-180
  4. Structures and Patterns

    1. Front Matter
      Pages 181-182
    2. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 183-195
    3. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 197-202
    4. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 203-223
    5. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 225-231
    6. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 233-248
    7. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 249-254
    8. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 255-269
  5. Making Your Games Appealing

    1. Front Matter
      Pages 271-272
    2. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 273-279
    3. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 281-288
    4. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 289-296
    5. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 297-314
    6. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 315-326
    7. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 327-337
  6. Animation and Complexity

    1. Front Matter
      Pages 339-340
    2. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 341-349
    3. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 351-360
    4. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 361-375
    5. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 377-386
    6. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 387-392
    7. Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 393-402
  7. Back Matter
    Pages 403-443

About this book

Introduction

C# is the language of choice for learning how to program. It is a very well structured object-oriented language and avoids some of the problems of Java.  An excellent free programming environment is available for C#, as well as a game programming framework. And (if necessary) moving from C# to C++ is easy.

Developing computer games is a perfect way to learn how to program in modern programming languages. This book teaches how to program in C# through the creation of computer games – and without requiring any previous programming experience.

Contrary to most programming books, Egges, Fokker and Overmars do not organize the presentation according to programming language constructs, but instead use the structure and elements of computer games as a framework. For instance, there are chapters on dealing with player input, game objects, game worlds, game states, levels, animation, physics, and intelligence.  The reader will be guided through the development of four games showing the various aspects of game development. Starting with a simple shooting game, the authors move on to puzzle games consisting of multiple levels, and conclude the book by developing a full-fledged platform game with animation, game physics, and intelligent enemies. They show a number of commonly used techniques in games, such as drawing layers of sprites, rotating, scaling and animating sprites, showing a heads-up display, dealing with physics, handling interaction between game objects, and creating pleasing visual effects such as snow or glitter. At the same time, they provide a thorough introduction to C# and object-oriented programming, introducing step by step important aspects of programming in general, including many  programming constructs and idioms, syntax diagrams, collections, and exception handling.

The book is also designed to be used as a basis for a game-oriented programming course. For each part, there are concluding exercises and challenges, which are generally more complex programming endeavors. Lots of supplementary materials for organizing such a course are available on the accompanying web site http://www.csharpprogramminggames.com, including installation instructions, solutions to the exercises, software installation instructions, game sprites and sounds.

Keywords

Animation C# Game Programming Games Microsoft® XNA® Object-Oriented Programming

Authors and affiliations

  • Arjan Egges
    • 1
  • Jeroen D. Fokker
    • 2
  • Mark H. Overmars
    • 3
  1. 1.Dept. of Information, and Computing SciencesUtrecht UniversityUtrechtNetherlands
  2. 2.Dept. of Information and, Computing SciencesUtrecht UniversityUtrechtNetherlands
  3. 3.Dept. of Information, and Computing SciencesUtrecht UniversityUtrechtNetherlands

Bibliographic information

  • DOI https://doi.org/10.1007/978-3-642-36580-5
  • Copyright Information Springer-Verlag Berlin Heidelberg 2013
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Computer Science
  • Print ISBN 978-3-642-36579-9
  • Online ISBN 978-3-642-36580-5
  • Buy this book on publisher's site
Industry Sectors
Electronics
IT & Software
Telecommunications
Aerospace
Engineering