Project Description

XNA Core Game Programming library.
Uses interfaces and delegates, in tune with the .NET way, with inheritence used for implementation reuse.

Motivation

Traditional techniques for game programming in C++ involve inheritence, and lots of it! Modern programming techniques make use of interfaces and closures (delegates).
Opting in to a feature (e.g. require Content Manager) traditionally required providing a virtual method to call, then overriding it in subclasses. Now you can simply implement an interface, and plug in!

Reality

Like you, I have a day job that does not involve game programming. It does however involve programming; for me it is a hobby and a career. As such, time on this project is limited, and all we need is participation and the lots of little bits of time and effort add up to something good!

You Decide

Keep reading, and if you like these concepts, then this project is for you!

Components

The XNA Games Core uses a number of cooperating components.

Component Boundaries

The interaction boundaries of the system components are represented by interfaces. In order for a component to opt-in to a service (e.g. to register packages), it must implement the necessary interface(s). These are used by the "owner" of the interface (not the implementor).

Component Overview

Screen Manager
Layers
Packages
Input Manager
Game State Machine
Operations

Last edited Jul 7, 2008 at 5:17 PM by escapellc, version 17