| By Kevin Wittmer | Article Rating: |
|
| February 27, 2006 02:00 PM EST | Reads: |
15,677 |
If you are interested in writing computer games or simulations in .NET, then the Apress book Beginning .NET Game Programming will prove to be a valuable resource. A trio of authors, notably David Weller, Alexandre Santos Laboa, and Ellen Hatton, wrote this book, which introduces the reader to many of the fundamental concepts that go into programming a game. All topics are illustrated in .NET using Visual Basic .NET or C# along with the .NET Framework managed wrapper APIs for DirectX and GDI+.
The book is organized principally around four game projects, including a .NET version of Tetris, as well as a space arcade game called Spacewar. Nearly every section of the book is accompanied by several source code listings that demonstrate the concept at hand. Because the source code plays an important role in introducing the reader to a particular concept, most will appreciate that this book is available in either a Visual Basic .NET or C# edition. Thus if you prefer to read source code examples from one language to another, be sure to find the edition that matches your language preference.
There are a dozen or so core programming concepts that are fundamental in developing a graphics-based computer game or simulation, and they include the base game object, the field or world, image manipulation, sprites and sprite animation, the game or simulation loop, collision detection, and path finding. In addition to these concepts, there is a myriad of fundamental concepts and technical details involving the APIs used for 2D and 3D graphics display and rendering, as well as sound output. Finally, there are intermediate to advanced topics that most games require such as network I/O for multi-user gaming as well as applying AI algorithms to implement intelligent or challenging strategies for interactive game objects.
This book touches on all of these topics to varying degrees. The material is divided into seven chapters with the first chapter tackling the basics of GDI+ and collision detection. Although the authors do a good job of introducing algorithms such as Axis Aligned Bounding Boxes (AABB) for implementing collision detection, I would have preferred that more basic game programming concepts such as sprites (introduced in chapter 2, after the introduction on applying AI in games) be developed for the reader first.
Chapter 3, "Managed DirectX First Steps" is packed with several key topics. The first part of the chapter launches into the managed DirectX API and also provides an overview of DirectX, DirectX 3D, and GDI+. This introduction takes you through devices, device parameters and capabilities, and display modes and into 3D coordinate systems, scene creation, camera placement and textures, as well as a very brief introduction to matrices and transformations that are part and parcel of 3D computer graphics. If your focus is on developing a 3D game or simulation, you'll want to supplement the material found here with additional resources (to help the reader here, the authors provide a resource section at the end of nearly every chapter to present additional information).
Chapter 4 provides an introduction to key concepts that include vector and trigonometric functions (used to calculate object velocity, etc.) and the game field, and also delves further into sprites with an introduction to sprite animation. In addition, the authors devote coverage to developing a game project proposal (in this context, the proposal is used to define the scope of the game and the requirements that are involved). Chapters 5 through 7 develop the Spacewar arcade-style game, illustrating the concepts introduced in the first four chapters while also introducing more advanced concepts such as point sprites. As a bonus chapter, they walk the reader through porting .NETTrix to the Pocket PC compact framework.
Beginning .NET Game Programming (in C# or VB.NET) will provide you with a good start toward developing 2D or 3D games or simulations. Although the book was written with .NET 1.x in mind, all of the fundamental game programming concepts that this book presents are independent of a particular .NET release, and thus are applicable to both .NET 2.0 as well as .NET 1.1.
SIDEBAR
Title: Beginning .NET Game Programming in VB.NET, Beginning .NET Game Programming in C#
Authors: David Weller, Alexandre Santos Lobao, and Ellen Hatton
Publisher: Apress paperback/414 pp.
Published February 27, 2006 Reads 15,677
Copyright © 2006 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Kevin Wittmer
Kevin Wittmer works for SmartSignal Corporation as a technical lead. His programming interests span .NET, Java, C++, and Perl.
![]() |
David Weller 03/01/06 10:26:58 PM EST | |||
Thanks for the kind words, Kevin! |
||||
![]() |
SYS-CON Belgium News Desk 02/27/06 03:10:20 PM EST | |||
If you are interested in writing computer games or simulations in .NET, then the Apress book 'Beginning .NET Game Programming' will prove to be a valuable resource. A trio of authors, notably David Weller, Alexandre Santos Laboa, and Ellen Hatton, wrote this book, which introduces the reader to many of the fundamental concepts that go into programming a game. All topics are illustrated in .NET using Visual Basic .NET or C# along with the .NET Framework managed wrapper APIs for DirectX and GDI+. |
||||
- Cloud People: A Who's Who of Cloud Computing
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- Streamline Health® Engages KPMG as Its New Independent Registered Public Accountants
- Session Topics: 12th Cloud Expo / Cloud Expo New York
- Cloud Expo New York: Developing the World’s First IaaS Marketplace
- Cloud Expo New York: Aligning Your Cloud Security with the Business
- Commander of U.S. Cyber Command and National Security Agency Director, General Keith Alexander, To Keynote Day One of Black Hat USA 2013
- Five Big Data Features in SQL Server
- According to Nick Gholkar, Accounting Apps Make Conducting Business Easier
- NIST to Sponsor FFRDC Widespread Adoption of Integrated CyberSecurity
- Cloud Business Solutions, Social Media, and Platform Systems of Engagement Market Shares, Strategies, and Forecasts, Worldwide, 2013 to 2019
- Lunch Keynote at Cloud Expo | Strategies for App Delivery in the Cloud Era
- Cloud People: A Who's Who of Cloud Computing
- Windows Azure IaaS Reaches General Availability
- AMD and Adobe Collaborate on Upcoming Version of Adobe Premiere Pro Software to Enable Breakthrough Video Editing Performance Through Open Standards
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- State and Local Governments Adopt Microsoft Dynamics CRM to Improve Citizen Service Delivery
- Cloud Expo New York: Deploying Hybrid Cloud for Performance and Uptime
- Predixion Software Announces General Availability of the Latest Version of its Predictive Analytics Platform
- Streamline Health® Engages KPMG as Its New Independent Registered Public Accountants
- Session Topics: 12th Cloud Expo / Cloud Expo New York
- Cloud Expo New York: Developing the World’s First IaaS Marketplace
- MEI Pharma Announces $15.2 Million Registered Offering Of Common Stock
- Cloud Computing Is Simplifying Things
- Google Maps and ASP.NET
- Converting VB6 to VB.NET, Part I
- How to Write High-Performance C# Code
- Where Are RIA Technologies Headed in 2008?
- Crystal Reports XI & How It Has Changed
- Creating Controls for.NET Compact Framework in Visual Studio 2005
- Programmatically Posting Data to ASP .NET Web Applications
- Implementing Tab Navigation with ASP.NET 2.0
- AJAX World RIA Conference & Expo Kicks Off in New York City
- i-Technology Viewpoint: "SOA Sucks"
- .NET Archives: Getting Reacquainted with the Father of C#
- i-Technology Photo Exclusive: Bill Gates & Steve Jobs In "Nerds"























