Click here to Skip to main content
15,886,799 members
Articles / Programming Languages / C#
Article

Airplane War 0.2

Rate me:
Please Sign up or sign in to vote.
3.65/5 (13 votes)
24 Jun 20031 min read 226.5K   2.2K   53   51
Airplane War is a basic flight simulator designed in C# and directx 9

Sample screenshot

Introduction

Airplane War is a basic flight simulator designed in C# and directx 9 which was one of the first games ever released after DirectX9. Its main purpose was to allow new developers to learn how to code in C# and managed DirectX but it can become a serious flight simulator for gamers.

Version 0.2 includes new enhancements from the first release:

  • Improved game physics.
  • Improved DirectInput, now it supports keyboard, joystick, keypad and mouse.
  • Added DirectPlay to allow playing on network.
  • Recoded to make it clearer.
  • Airplane now follows the landscape.

If you want to help in future releases, specially graphics and 3d designers but also developers are needed. You are more than welcome to join. Just go to: www.sourceforge.net/projects/airplanewar and drop me a message.

Things still to do

  • Add sound (anyone willing to look for sound libraries and some cool effects?)
  • Add friction when landing.
  • Add collision detection between airplanes.
  • Add network shooting.

As I said, anyone is more than welcome to help finish the game.

Airplane Controls:

Keyboard

0 to turn off engine.
1 to 9 to turn on and full speed engine.
space bar to shoot.
Arrow keys to move around.

Joysticks/Gamepads

Just play around with it, standard controls.

History

Version 0.1 (December 21st, 2002):

  • First version released and first game released using directx 9 managed code.
  • Written in less than 24 long hours.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Other
United States United States
http://www.joaquingrech.com

Comments and Discussions

 
Questionairplanewar02 Pin
Matthew Slager10-Sep-14 8:36
Matthew Slager10-Sep-14 8:36 
Generaland out of this came this Pin
Joaquin Grech (Creative1)12-May-11 2:54
Joaquin Grech (Creative1)12-May-11 2:54 
QuestionRe: and out of this came this Pin
coolshark6-Jun-12 2:52
coolshark6-Jun-12 2:52 
Questionwinrar Pin
coregod7-Nov-07 5:02
coregod7-Nov-07 5:02 
GeneralGreat intro... but lacking Pin
CodingBruce12-Jul-07 12:09
CodingBruce12-Jul-07 12:09 
A couple months back I downloaded this with the intention of creating a glider simulation. I was immediately excited by it and it looked very promising.

The code took a lot of tweaking to even compile under .Net 2.0. What I finally realized is that while being a great intro to 3D game programming and flight simulation, the quality at the detailed level is not what I want.

So I set about systematically changing it piece by piece. Here's how it went:

1 - Replaced Direct Play with a UDP based client/server protocal based on the Code Project: "Gensis UDP Server Client". http://www.codeproject.com/cs/internet/Genesis.asp[^]
2 - Removed the keyboard input to use the system events as microsoft now suggests
3 - Removed the DirectInput Actions and created my own configurable Key & Button Action Mapper
4 - I created a joystick configuration dialog
5 - The graphics and the aerodynamics modeling where all mix-mashed together. I removed this whole sale, see the next two.
6 - The physics model has bugs (errors). I'm using the rigid body dynmics modeling from this site:
http://www.gaffer.org/game-physics/physics-in-3d[^]
7 - The flight modelling is functional, but trivial. I've added a force build up model which will allow the creation or an arbitrary number of forces; liftingbodies (wings and tail surfaces), landing gear, thrust.


When I'm done I should have a first class simulation entirely in .Net 2.0/C#. Hopefully it may even be a bit easier to follow. I may write an article (or series) on it, respond if you would be interested.



-bruce

GeneralRe: Great intro... but lacking Pin
Joaquin Grech (Creative1)12-Jul-07 12:20
Joaquin Grech (Creative1)12-Jul-07 12:20 
GeneralRe: Great intro... but lacking Pin
CodingBruce12-Jul-07 12:32
CodingBruce12-Jul-07 12:32 
GeneralUpdate Pin
CodingBruce18-Jul-07 11:11
CodingBruce18-Jul-07 11:11 
Generalcompilation errors Pin
Md Saleem Navalur15-Jun-07 8:25
Md Saleem Navalur15-Jun-07 8:25 
Generalcompilation errors Pin
Georgi Petrov27-Jun-06 2:36
Georgi Petrov27-Jun-06 2:36 
Generalconverting Ansi C to C# Pin
Luu Khoa16-Oct-03 16:23
Luu Khoa16-Oct-03 16:23 
GeneralRe: converting Ansi C to C# Pin
Christian Graus16-Oct-03 17:59
protectorChristian Graus16-Oct-03 17:59 
Generalthere is a exception in the program. Pin
firnwolf23-Sep-03 5:32
firnwolf23-Sep-03 5:32 
GeneralRe: there is a exception in the program. Pin
23-Sep-03 5:41
suss23-Sep-03 5:41 
GeneralRe: there is a exception in the program. Pin
Kevin Yan8-Jan-04 2:04
Kevin Yan8-Jan-04 2:04 
GeneralRe: there is a exception in the program. Pin
Joaquin Grech (Creative1)8-Jan-04 12:31
Joaquin Grech (Creative1)8-Jan-04 12:31 
GeneralRe: there is a exception in the program. Pin
vladeemir6-May-04 6:31
vladeemir6-May-04 6:31 
GeneralRe: there is a exception in the program. Pin
Anonymous8-May-04 4:30
Anonymous8-May-04 4:30 
GeneralDirectX9 Pin
bobsheep2-Jul-03 1:40
bobsheep2-Jul-03 1:40 
GeneralRe: DirectX9 Pin
Joaquin Grech (Creative1)2-Jul-03 2:27
Joaquin Grech (Creative1)2-Jul-03 2:27 
GeneralRe: DirectX9 Pin
bobsheep2-Jul-03 2:57
bobsheep2-Jul-03 2:57 
GeneralRe: DirectX9 Pin
wcater2-Jul-03 3:14
wcater2-Jul-03 3:14 
GeneralRe: DirectX9 Pin
Joaquin Grech (Creative1)2-Jul-03 3:18
Joaquin Grech (Creative1)2-Jul-03 3:18 
GeneralRe: DirectX9 Pin
bobsheep2-Jul-03 3:28
bobsheep2-Jul-03 3:28 
GeneralRe: DirectX9 Pin
bobsheep2-Jul-03 3:54
bobsheep2-Jul-03 3:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.