Skip to main content
  • Textbook
  • © 2013

Learning C# by Programming Games

  • Unique combined presentation of general programming techniques and computer game development, organized along the structure of games

  • Additional website http://www.csharpprogramminggames.com with numerous exercises, solutions, and ready-to-use game assets (like e.g. sprites and sounds)

  • Readers will see various fascinating games of growing complexity

  • All tools needed to program and replay the games are freely available

  • All authors are highly experienced in teaching and game programming, Mark Overmars was named as one of the top 50 influential people in game development by the U.S. magazine GameDeveloper in 2010

  • Includes supplementary material: sn.pub/extras

  • 123k Accesses

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (30 chapters)

  1. Front Matter

    Pages I-XXII
  2. Getting Started

    1. Front Matter

      Pages 1-1
    2. Building Your First Game Application

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 3-9
    3. Programming

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 11-25
    4. Game Programming Basics

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 27-41
    5. Creating a Game World

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 43-62
  3. Creating Colorful Games

    1. Front Matter

      Pages 63-64
    2. Knowing What the Player Is Doing

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 65-79
    3. Reacting to Player Input

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 81-93
    4. Basic Game Objects

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 95-124
    5. Adding Interaction

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 125-140
    6. A Limited Number of Lives

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 141-150
    7. Organizing Game Objects

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 151-169
    8. Finishing the Game

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 171-180
  4. Structures and Patterns

    1. Front Matter

      Pages 181-182
    2. Collections of Game Objects

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 183-195
    3. Fullscreen Games

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 197-202
    4. Game Objects in a Structure

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 203-223
    5. Redesigning the Game World

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 225-231
    6. Gameplay Programming

      • Arjan Egges, Jeroen D. Fokker, Mark H. Overmars
      Pages 233-248

About this book

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.

Authors and Affiliations

  • Dept. of Information, and Computing Sciences, Utrecht University, Utrecht, Netherlands

    Arjan Egges, Mark H. Overmars

  • Dept. of Information and, Computing Sciences, Utrecht University, Utrecht, Netherlands

    Jeroen D. Fokker

About the authors

Arjan Egges is an associate professor in the Games and Virtual Worlds group in the Department of Information and Computing Sciences at Utrecht University in the Netherlands. Heading the Motion Capture Lab there, his current research focuses on the integration of motion capture animation into navigation and object manipulation tasks. He regularly teaches various courses related to games and computer animation, and recently designed the new introductory programming course for the university’s new Game Technology bachelor program, using C# as the language of choice.

Jeroen Fokker is an assistant professor in the Software Technology group at Utrecht University. As the director of education, he is responsible for the undergraduate programs in Computer Science and Information Science. He has been teaching introductory programming courses for over 20 years, using C++, Haskell, Java, and C#, as well as courses on compiler construction.

Mark H. Overmars is a full professor in computer science at Utrecht University. Here he has done research into computational geometry, robotics, and game technology. Mark is responsible for the Game Technology educational program at Utrecht University. Furthermore, he is the author of the Game Maker software package, originally designed as a tool to teach children about the basics of object-oriented design and to raise their interest in computer science. The package, though, has developed into a full-blown authoring package for games used in education by amateurs and by professional game developers. Mark was named as one of the top 50 influential people in game development by the U.S. magazine GameDeveloper in 2010.

Bibliographic Information

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access