Newsletter #75 - Aeronautics and Shoot 'Em Ups

First SHMUP demo, exceptions for error handling, T&L with Direct3D, aeronautics in SHMUPs, sketches, SHMUP demo video.


The first demo of our test project (a vertical scrolling SHMUP) has been released.  For details, click here.

From the Programmer
Written by Invisible

Starting fresh without any wrappers around the APIs has been interesting.  The code is actually a lot simpler, and I spend more time working on the actual game rather than the engine.  This has led me to wonder if the "game engine" which people sometimes talk about is actually a game specific framework, not a collection of generic wrappers and utilities.

I have decided to use exceptions for error handling.  This would also allow me to catch any other exception and report it in a more user-friendly way (although I have not taken advantage of this yet).  The exception class is pretty basic; just a message and a constructor which accepts a variable amount of arguments and constructs the message using vsprintf().  I have plans to create my own error reporting system which generates the crash dump and sends it to an error reporting server, but this will probably have to wait.

All transformations are now handled by Direct3D.  Besides some tests with 3D graphics, this is the first time I have written a game without using pre-transformed and lit vertices.  This makes the code a lot cleaner and easier to write.  I do have a tip for anyone attempting this though:  If you do not have any lights, make sure lighting is turned off.  I spent multiple hours debugging the rendering code before I realized that the graphics were invisible because they weren't lit.  Another nice thing about letting Direct3D handle transformations is that it is really easy to add parallax scrolling; simply place the layers infront of the camera and move the camera around.

I spent some time over the last couple weeks learning about aeronautics.  Because this is the first SHMUP I have worked on which is not in space, the only way to get it "feeling" right is to learn how planes fly in real life.  I don't feel like I have learned the subject well enough to teach it, so I won't be discussing my findings here.  However, if you are interested in learning about aeronautics, I recommend the following article: Aerodynamics in flight: flight principles applied to airplanes.  The game ended up using air resistance, banking, and multiple thrusters to get the ship moving in the right direction.  Not completely accurate, but close enough.

Artist's Easel
Drawn by GreyKnight

iScribble Sketches #33

(Click to enlarge)

(Click to enlarge)

(Click to enlarge)

Community Spotlight
Written by jaythemage

If you have anything you would like to say in the next community spotlight article, please post it here.

Latest Jobs


Vancouver, BC, Canada

Bladework games

Remote (United States)
Senior Gameplay Engineer

University of Canterbury

Christchurch, Canterbury, New Zealand
Academic in Game Arts and Animation

Fred Rogers Productions

Hybrid (424 South 27th Street, Pittsburgh, PA, USA
Producer - Games & Websites
More Jobs   


Explore the
Advertise with
Follow us

Game Developer Job Board

Game Developer


Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Advertise with

Game Developer

Engage game professionals and drive sales using an array of Game Developer media solutions to meet your objectives.

Learn More
Follow us


Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more