---
created_at: '2017-02-21T11:32:40.000Z'
title: The Cool Cam (2007)
url: http://thedailywtf.com/articles/The-Cool-Cam
author: sytringy05
points: 55
story_text: 
comment_text: 
num_comments: 11
story_id: 
story_title: 
story_url: 
parent_id: 
created_at_i: 1487676760
_tags:
- story
- author_sytringy05
- story_13694823
objectID: '13694823'

---
[Source](http://thedailywtf.com/articles/The-Cool-Cam "Permalink to The Cool Cam - The Daily WTF")

# The Cool Cam - The Daily WTF

[ ![][1] ][2]

* [Feature Articles][3]
    * Most Recent Articles
    * [Shiny Side Up][4]
    * [Cousin of ITAPPMONROBOT][5]
    * [It's Called Abstraction, and It's a Good Thing][6]
    * [Budget Cuts][7]
    * [For Want of a CR…][8]
    * [We Sell Bonds!][9]
    * [The More Things Change: Fortran Edition][10]
    * [All Saints' Day][11]
* [CodeSOD][12]
    * Most Recent Articles
    * [Functional IsFunction][13]
    * [The Telltale Snippet][14]
    * [All the Rest Have Thirty One…][15]
    * [I Take Exception][16]
    * [How To Creat Socket?][17]
    * [PRINCESS DEATH CLOWNS][18]
    * [The Pythonic Wheel Reinvention][19]
    * [The Least of the Max][20]
* [Error'd][21]
    * Most Recent Articles
    * [Everybody's Invited!][22]
    * [Preparing for the Future][23]
    * [Whatever Happened to January 2nd?][24]
    * [The Biggest Loser][25]
    * [#TITLE_OF_ERRORD2#][26]
    * [Alphabetical Soup][27]
    * [Hamilton, Hamilton, Hamilton, Hamilton][28]
    * [The Elephant in the Room][29]
* [ ![][30] ![][31] Forums ][32]
* Other Articles
    * [Random Article][33]
    * Other Series
    * [Alex's Soapbox][34]
    * [Announcements][35]
    * [Best of…][36]
    * [Best of Email][37]
    * [Best of the Sidebar][38]
    * [Bring Your Own Code][39]
    * [Coded Smorgasbord][40]
    * [Mandatory Fun Day][41]
    * [Off Topic][42]
    * [Representative Line][43]
    * [News Roundup][44]
    * [Editor's Soapbox][45]
    * [Software on the Rocks][46]
    * [Souvenir Potpourri][47]
    * [Sponsor Post][48]
    * [Tales from the Interview][49]
    * [The Daily WTF: Live][50]
    * [Virtudyne][51]

![][52]

* [feature articles][3]
* [codesod][12]
* [error'd][21]
* [forums][32]
* [other articles][53]
* [random article][33]

[ ![][54] ][55]

## The Cool Cam

by [Jake Vinson][56] in [Feature Articles][3] on 2007-08-14 [Edit][57]

![][58] [Jake Vinson][56]

![][59]**Brand G.** got his start in the game industry working at MicroProse, famous for classics such as Civilization, the X-COM series, Masters of Orion, Pirates, and Dark Earth (one of my personal favorites). MicroProse was also known for its military simulation games, such as Gunship, Pacific Air War, M-1 Tank Platoon, and Falcon 4.0. Brand was brought on to work on such a simulation, European Air War.

European Air War was doomed. It was four years in development and not even close to being ready to ship. In Brand's first month at MicroProse, the whole programming team on European Air War quit, sensing that their project was on the verge of cancellation. Not only that, but everyone had grown tired enduring the stress of the weekly "why-shouldn't-we-cancel-this-project" meetings with the executives. In these meetings, they'd have to choose their words carefully when answering the executives' tough questions about the budget as well as major bugs in the system such as...

* **Why are the planes flying backwards sometimes?**  
_Well, uhh, a little known thing about Nazi technology developed in World War I..._
* **Why do the wings come off the plane whenever you fire the guns?**  
_Uhh, err..._
* **Why does the plane bounce up and out of the earth's atmosphere when you crash into the ground?**  
_Umm, in high-speed collisions like that it's not totally unreasonable that a plane's velocity torque rotary girder viscosity..._

These meetings were tough. It almost seemed as though the execs were only keeping the project alive for the sadistic pleasure they took in watching the developers squirm. And among the bugs mentioned above, there were mountains more. For instance, planes couldn't take off or land. At all. Well, you could try to land, but that would cause the bug where the plane would bounce off the ground and into outer space. So to address the issue, all missions started out mid-flight and wouldn't require (or even allow) you to land.

Another fun bug caused the enemy AI to do your work for you. A rogue enemy plane would suddenly reject his mother country and start shooting down his own teammates. That is, until his wings fell off the plane since he was firing his guns. Then he'd kamikaze his plane into the ground, which would launch the plane into outer space that the MicroProse executives probably didn't find nearly as funny as I do.

Brand would stress out about defending the game at the weekly meetings, but that didn't mean that he thought concerns about European Air War's progress were unfounded. Facing a mountain of bugs and a project ready for the chopping block, he was relieved when another developer was added to the team, effectively halving the abuse Brand would have to deal with on a weekly basis. We'll call the new developer "Tim."

Tim knew what he was getting into when he came aboard the project. He knew about the bugs, about the budget, and about the impending cancellation of the whole thing. And with the major issues, you'd figure he'd start with any one of them. Maybe the one with the wings falling off whenever guns were fired. Especially considering the game is called "European Air War." If the wings ("air") and guns ("war") come off the plane, the game title should just be reduced to "European," or perhaps "European Wingless Plane Amidst Nazi Battle Simulator." You could start up a game and watch Nazis shoot eachothers' planes down until yours crashed.

With all of the bugs he could get started on, he decided it was necessary to add a new feature instead. He developed a camera system that would focus on anything "cool" happening near the player. For instance, one plane shakes another with a delicate evasive maneuver. Or it'd mount to a bomb right as a B-17's bay was opening, following its descent onto the earth. Or it'd follow a plane being shot down, ablaze and spiraling toward the ground, engines sputtering.

The "Cool Cam" was cool. But it didn't change the fact that the game was almost completely broken. Brand wanted to confront Tim about bug priority and all of the code he was toiling away to debug, but held his tongue. No one could save the project at this point anyway.

At the next week's meeting with management, the air felt heavy. With each passing week the execs were seeing money hemorrhaged into a dying project that they'd had a full team on for four years. Tim started up the game and played carefully to avoid the obvious bugs. Getting a double whammy of tough questions ("How overbudget is this project?" and "Why shouldn't we cancel this right now?"), Tim made sure his plane was level and flying evenly and let go of the joystick and hit the cool cam button.

Brand sat there silently, watching the monitor. Tim turned toward the execs, about to stumble through an answer they probably wouldn't accept. The room was silent, save for the steady hum of the plane's engines coming out of the computer speakers. Suddenly, the camera zoomed in on an explosion, following a flaming plane barreling toward the earth, then the focus moved slightly to another plane quickly evading the flaming shell. Tim took the controls again when the execs lobbed another tough question about bugs they'd made no progress in fixing. Again, Tim leveled the plane and hit the cool cam button. And again, he didn't have to answer because everyone was fixated on the screen.

Tim's "cool cam" saved European Air War. It went from a money-leaking embarrassment to a top-tier release for MicroProse. The weekly meetings got easier, more developers were brought on, and the team managed to put together one hell of a game. It reviewed well after its 1998 release and is still a popular game for history buffs. And it probably wouldn't have been released if not for a programmer that knew what the project needed most; the cool cam.

[View all 162 comments »][60]

* ![][61]
* ![][62]
* ![][63]
* ![][64]
* * *

[Overflowing Style Sheets »][65] «[ When the Query String Is Just Not Enough][66]

[Contact][67] [Privacy Policy][68] [RSS][69]

* * *

Copyright © 2004 - 2017 Inedo Publishing - v2018.3

Monitored by [Panopta][70] • Deployed with [BuildMaster][71]

[1]: http://thedailywtf.com/Content/Images/wtf-logo.png
[2]: http://thedailywtf.com/
[3]: http://thedailywtf.com/series/feature-articles
[4]: http://thedailywtf.com/articles/shiny-side-up
[5]: http://thedailywtf.com/articles/cousin-of-itappmonrobot
[6]: http://thedailywtf.com/articles/it-s-called-abstraction-and-it-s-a-good-thing
[7]: http://thedailywtf.com/articles/budget-cuts
[8]: http://thedailywtf.com/articles/for-want-of-a-cr
[9]: http://thedailywtf.com/articles/we-sell-bonds
[10]: http://thedailywtf.com/articles/the-more-things-change-fortran-edition
[11]: http://thedailywtf.com/articles/all-saints-day
[12]: http://thedailywtf.com/series/code-sod
[13]: http://thedailywtf.com/articles/functional-isfunction
[14]: http://thedailywtf.com/articles/the-telltale-snippet
[15]: http://thedailywtf.com/articles/all-the-rest-have-thirty-one
[16]: http://thedailywtf.com/articles/i-take-exception
[17]: http://thedailywtf.com/articles/how-to-creat-socket
[18]: http://thedailywtf.com/articles/princess-death-clowns
[19]: http://thedailywtf.com/articles/the-pythonic-wheel-reinvention
[20]: http://thedailywtf.com/articles/the-least-of-the-max
[21]: http://thedailywtf.com/series/errord
[22]: http://thedailywtf.com/articles/everybody-s-invited
[23]: http://thedailywtf.com/articles/preparing-for-the-future
[24]: http://thedailywtf.com/articles/whatever-happened-to-january-2nd
[25]: http://thedailywtf.com/articles/the-biggest-loser
[26]: http://thedailywtf.com/articles/title-of-errord2
[27]: http://thedailywtf.com/articles/alphabetical-soup
[28]: http://thedailywtf.com/articles/hamilton-hamilton-hamilton-hamilton
[29]: http://thedailywtf.com/articles/the-elephant-in-the-room
[30]: http://thedailywtf.com/Content/Images/forums-icon-white.svg
[31]: http://thedailywtf.com/Content/Images/forums-icon-black.svg
[32]: https://what.thedailywtf.com
[33]: http://thedailywtf.com/articles/random
[34]: http://thedailywtf.com/series/alexs-soapbox
[35]: http://thedailywtf.com/series/announcements
[36]: http://thedailywtf.com/series/best-of
[37]: http://thedailywtf.com/series/best-of-email
[38]: http://thedailywtf.com/series/best-of-the-sidebar
[39]: http://thedailywtf.com/series/bring-your-own-code
[40]: http://thedailywtf.com/series/coded-smorgasbord
[41]: http://thedailywtf.com/series/mandatory-fun-day
[42]: http://thedailywtf.com/series/off-topic
[43]: http://thedailywtf.com/series/representative-line
[44]: http://thedailywtf.com/series/roundup
[45]: http://thedailywtf.com/series/soapbox
[46]: http://thedailywtf.com/series/software-on-the-rocks
[47]: http://thedailywtf.com/series/souvenir-potpourri
[48]: http://thedailywtf.com/series/sponsorship
[49]: http://thedailywtf.com/series/tales-from-the-interview
[50]: http://thedailywtf.com/series/tdwtf-live
[51]: http://thedailywtf.com/series/virtudyne
[52]: http://thedailywtf.com/Content/Images/mobile-menu.svg
[53]: http://thedailywtf.com/articles
[54]: http://thedailywtf.com/fblast/d61c9814f1b14695bbafd75c653c70b8
[55]: http://thedailywtf.com/fbuster/7bd22555da9e40029b83a494c562cc76
[56]: http://thedailywtf.com/authors/jake-vinson
[57]: http://thedailywtf.com/admin/article/edit/5390
[58]: http://thedailywtf.com/content/images/authors/no-image.png
[59]: http://img.worsethanfailure.com/images/200708/eaw.jpg
[60]: https://thedailywtf.com/articles/comments/The-Cool-Cam
[61]: http://thedailywtf.com/Content/Images/email-24.png
[62]: http://thedailywtf.com/Content/Images/googleplus-24.png
[63]: http://thedailywtf.com/Content/Images/facebook-24.png
[64]: http://thedailywtf.com/Content/Images/twitter-24.png
[65]: http://thedailywtf.com//thedailywtf.com/articles/Overflowing-Style-Sheets
[66]: http://thedailywtf.com//thedailywtf.com/articles/When-the-Query-String-Is-Just-Not-Enough
[67]: http://thedailywtf.com/contact
[68]: http://thedailywtf.com/info/privacy
[69]: http://syndication.thedailywtf.com/TheDailyWtf
[70]: https://www.panopta.com/
[71]: https://inedo.com/landing/buildmaster

