Advertisement

Learning C# by Programming Games

  • Wouter van Toll
  • Arjan Egges
  • Jeroen D. Fokker
Textbook

Table of contents

  1. Front Matter
    Pages i-xxvi
  2. Getting Started

    1. Front Matter
      Pages 1-1
    2. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 3-8
    3. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 9-23
    4. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 25-40
    5. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 41-63
  3. Game Objects and Interaction

    1. Front Matter
      Pages 65-68
    2. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 69-89
    3. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 91-106
    4. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 107-143
    5. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 145-172
    6. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 173-187
    7. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 189-209
    8. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 211-222
  4. Structures and Patterns

    1. Front Matter
      Pages 223-226
    2. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 227-239
    3. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 241-261
    4. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 263-284
    5. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 285-308
    6. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 309-324
  5. Menus and Levels

    1. Front Matter
      Pages 325-328
    2. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 329-347
    3. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 349-369
    4. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 371-400
    5. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 401-419
    6. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 421-430
  6. Animation and Complexity

    1. Front Matter
      Pages 431-434
    2. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 435-449
    3. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 451-459
    4. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 461-479
    5. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 481-490
    6. Wouter van Toll, Arjan Egges, Jeroen D. Fokker
      Pages 491-504
  7. Back Matter
    Pages 505-512

About this book

Introduction

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, van Toll, Egges, and Fokker 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, dealing with physics, handling interaction between game objects, and creating pleasing visual effects. At the same time, they provide a thorough introduction to C# and object-oriented programming, introducing step by step important programming concepts such as loops, methods, classes, collections, and exception handling.

This second edition includes a few notable updates. First of all, the book and all example programs are now based on the library MonoGame 3.6, instead of the obsolete XNA Game Studio. Second, instead of explaining how the example programs work, the text now invites readers to write these programs themselves, with clearly marked reference points throughout the text. Third, the book now makes a clearer distinction between general (C#) programming concepts and concepts that are specific to game development. Fourth, the most important programming concepts are now summarized in convenient “Quick Reference” boxes, which replace the syntax diagrams of the first edition. Finally, the updated exercises are now grouped per chapter and can be found at the end of each chapter, allowing readers to test their knowledge more directly.

The book is also designed to be used as a basis for a game-oriented programming course. Supplementary materials for organizing such a course are available on an accompanying web site, which also includes all example programs, game sprites, sounds, and the solutions to all exercises.

Keywords

Animation C# Game Programming Games Object-Oriented Programming MonoGame 3.6

Authors and affiliations

  • Wouter van Toll
    • 1
  • Arjan Egges
    • 2
  • Jeroen D. Fokker
    • 3
  1. 1.RennesFrance
  2. 2.UtrechtThe Netherlands
  3. 3.Department of Information and Computing SciencesUtrecht UniversityUtrechtThe Netherlands

Bibliographic information

  • DOI https://doi.org/10.1007/978-3-662-59252-6
  • Copyright Information Springer-Verlag GmbH Germany, part of Springer Nature 2019
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Computer Science
  • Print ISBN 978-3-662-59251-9
  • Online ISBN 978-3-662-59252-6
  • Buy this book on publisher's site