Skip to content
Iñaki Ayucar edited this page Mar 27, 2017 · 4 revisions

Welcome to the PANG wiki!

PANG Github Project is the result of some software I wrote and use in videogame development training courses. The main objective of those courses is to teach game development from scratch, focusing on some modern patterns and best practice like API abstraction and OOP, while having fun developing a classic arcade game in modern C# programming language.

Important note: All original PANG arcade game assets are property of their respective owners (probably the Mitchell Corporation and Capcom). They are currently available at www.spriters-resource.com and have been included in this project for educational purposes only.

The software has been structured in 2 layers:

  • PangCore: holds the the game-related logic, which is (and should be) totally API-independent
  • Pang_XX_2015: which are the output projects in Visual Studio 2015 flavor. These implement all the API-dependent stuff (which should be only a couple of classes with very few code), and there's one for each platform currently supported: one for Windows-GDI and another one for Windows-SharpDX.

The main reason to have a GDI-based version ( GDI!! :O ), is to teach my students that there's no magic behind DirectX, and that it's feasible to write games with no DirectX or OpenGL knowledge.

It also helps distribution, as the project has no hardware or API requirements: just plain .Net code. It's slow and ugly. But it suffices for a game like PANG (in fact, it should go way beyond 120 FPS in any modern PC).

Implementing new flavors of PANG for other platforms should be as easy as implementing the Renderer and Input layers.

I´ll add more documentation here as soon as I can.

Cheers,

Clone this wiki locally