home *** CD-ROM | disk | FTP | other *** search
/ Secret Service 51B / SSERVCD_51B.BIN / VRTECH / CGDC97.TXT < prev   
Text File  |  1997-05-27  |  28KB  |  552 lines

  1.     Video Reality(TM): Creating Navigable Feature Film Environments
  2.  
  3.                           John A. Toebes, VIII
  4.                  Vice President, Research and Development
  5.                           toebes@southpeak.com
  6.                           SouthPeak Interactive
  7.                      One Research Drive, Cary, NC 27513
  8.  
  9.  
  10. Synopsis
  11.  
  12. Interactive video is considered somewhat of an oxymoron in the gaming
  13. industry.  Much of the effort to date has been of the form of switching
  14. video streams based on user input.  During this time, polygon-based
  15. games have been created to provide the user with a more interactive
  16. experience while sacrificing the quality and realism that the video
  17. environment provides.  With this increase in realism, the collaboration
  18. necessary to produce these video based titles has grown.
  19.  
  20. The Video Reality(TM) technology is both a technology and a development
  21. system targeted at addressing the needs of both the game creators and
  22. the game players.
  23.  
  24. For the players, Video Reality delivers continuous freedom of movement
  25. with a 360 degree field of vision throughout the game environment.
  26. Some games limit players to multi-directional vision only at re-defined
  27. spots, then move them from one of these spots to another without giving
  28. them the immediate opportunity to change their minds, back-track, or
  29. even choose what they are looking at while they go.  Video Reality
  30. completely immerses the players in the game, letting them control where
  31. they want to go, when they want to go, and what they want to look at on
  32. the way there.
  33.  
  34. For the creators, Video Reality delivers a multi-user, highly automated
  35. tool to facilitate the collaborative process of planning, designing,
  36. assembling, optimizing and running immersive, video-based computer
  37. games.  The system has been developed as a technology for creating a
  38. wide range of interactive titles and not just for a single title.
  39.  
  40.  
  41. Origins
  42.  
  43. Two traditional gaming environments: 
  44.             Video Click-and-Play vs. Rendered-on-the-Fly
  45.  
  46. We created Video Reality by looking at both ends of the spectrum for
  47. presenting a gaming environment.  On one end of the spectrum, we have
  48. what we call the "Video" style of click the mouse and a video or show a
  49. picture which has been used quite successfully in a number of titles
  50. because it offers the opportunity to provide a high quality image to 
  51. the user.  On the other end, we have what we call the "Reality"  style 
  52. -- virtual reality polygon based environments which are rendered on the
  53. fly to provide the greatest degree of freedom of movement.
  54.  
  55. Categories -
  56. Video: Click and Play ("Video") 
  57. Render: Render on the Fly ("Reality")
  58.  
  59. Color Quality -
  60. Video:  High Quality 
  61.         (16-bit color and better or 8-bit optimized palettes)
  62. Render: Based on memory and machine performance (Typically 8 bit)
  63.  
  64. Detail -
  65. Video:  Rich detailed environments. 
  66.         Ray traced,100,000+ polygons or real environment.
  67. Render: Limited by machine performance 10,000+ polygons
  68.  
  69. Navigation -
  70. Video: Limited to predefined shots and locations
  71. Render: Unlimited (within constraints of the rendering engine)
  72.  
  73. Variability of Environment -
  74. Video: Typically limited to display on pre-rendered backgrounds
  75. Render: High degree of variability as provided by rendering/animation 
  76.         engine.
  77.  
  78. Game Play -
  79. Video: Typically puzzle solving/searching or twitch based action
  80. Render: Typically shoot-em-up action
  81.  
  82.  
  83. While both of these have their advantages, there is an opportunity to 
  84. provide the best of both environments.  In fact, a constant demand from
  85. the render-on-the-fly crowd is more, faster, better polygon rendering 
  86. to which there has been a response of hardware 3D accelerators.  No 
  87. matter what happens, the performance will be limited to how fast we can
  88. make the hardware.  If we are to assume that it typically takes about 
  89. one hour to render a single high-quality frame on a high-end 
  90. workstation (short cuts can certainly cut this time down), and we were
  91. to assume that machines double in performance every year (Moore's law
  92. implies a doubling in performance every 18 months), then we should see
  93. the average machine able to render at 30 frames/second sometime around
  94. the year 2014[i]. :) 
  95.  
  96. Given the desire to provide the best of both worlds in the near future,
  97. we decided to attack the problem of making the video based environment 
  98. more navigable.  We rejected a number of techniques which involved 
  99. simply putting the user on a path and allowing them to make 'twitch' 
  100. choices.  Instead we focused on techniques that allow a user to 
  101. essentially control a camera in an environment.  The problems were then
  102. reduced to figuring out how to capture the environment and then allow
  103. the user to play it back.  Along the way, we read many quotes from 
  104. people that said that video can not be interactive.
  105.  
  106.  
  107. Planning a technology and not a single title
  108.  
  109. We decided to focus first on making a technology and then on the titles
  110. using the technology.  This was an easy ordering for us since we 
  111. already had in mind quite a few potential titles.  The approach of 
  112. planning for a technology allowed for the freedom of sitting back and 
  113. designing a complete system without having to worry about delivering a 
  114. title yesterday.  It allowed us the necessary time to smooth out the 
  115. rough edges and to plan for a system that is capable of handling 
  116. multiple titles efficiently instead of being tied to a single title.
  117.  
  118.  
  119. Our work broke out into several important parts:
  120.  
  121. 1)  Architecting the development system.  We assembled a team of 
  122. seasoned system designers (and gamers) to lay out the overall system 
  123. components.  This first structure chart occupied an entire wall in the 
  124. conference room and is still valid today.  We looked at making the 
  125. system flexible to handle a wide variety of titles while optimizing 
  126. those things that were commonly done.
  127.  
  128. 2)  Planning video production methods.  Because we are part of a video 
  129. production facility that has been working for 15 years with video and 
  130. film, we had the opportunity to plan the technology around the way that
  131. production people work instead of forcing them into a programmer 
  132. mindset.
  133.  
  134. 3)  Testing the technology.  This is certainly one of the most fun 
  135. parts.  Over the course of the first two years, we shot a number of 
  136. sample productions and put them together with the toolset to learn what
  137. was necessary to be efficient as well as to iron out problems with 
  138. shooting a Video Reality production.  Of course, none of these 
  139. productions were ever planned to be shipped to a customer.
  140.  
  141. Only when we were satisfied that the technology would produce a viable 
  142. title did we actually start on our first production - Temujin(TM): The 
  143. Capricorn Collection(TM).  This title was designed from the start to 
  144. take advantage of the strengths of our technology, while at the same 
  145. time offering the richness, characters, and gameplay that people have 
  146. come to expect in a top-quality game. 
  147.  
  148. It is worth noting that if we were only attempting to produce a single 
  149. title (or a small series of titles), this approach is not  a very cost 
  150. effective one.  Much of the effort in creating a reusable tool-set 
  151. could have been more productively focused on the individual titles.  
  152.  
  153.  
  154. Introducing Video Reality
  155.  
  156. The result of this is a system that allows us to film (or render in 
  157. high quality graphics) a complete and richly populated environment.  
  158. The user can seamlessly navigate through this environment interacting 
  159. with objects and characters as part of a well orchestrated experience.
  160. This resulting "spatial video" is a fundamentally new concept which we 
  161. have invested more than a hundred person years in developing and fine 
  162. tuning.
  163.  
  164.  
  165. Targeting a minimum platform
  166.  
  167. Very early on in our development cycle, we looked at the minimum 
  168. machine configuration necessary to deliver an acceptable experience 
  169. and had initially settled on a DX4/100 with a hardware MPEG playback 
  170. assist.  However, after attempting to work with the MPEG hardware 
  171. manufacturers with little success, we ended up targeting a Pentium(r) 
  172. 90 class machine.  While this seemed like abandoning part of the 
  173. market, we felt that it was more important to preserve a minimum level
  174. of experience.  In order to maximize our success in the marketplace, 
  175. we decided to hold back the technology until this was an acceptable 
  176. minimum platform.
  177.  
  178.  
  179. Designing for collaboration
  180.  
  181. The most important part of our technology was to ensure that the titles
  182. can be created efficiently.  We did not want to be held back waiting on
  183. a single person to edit a title, so we instead focused on a truly 
  184. multi-user collaborative environment.  By treating the production as a 
  185. database, we were able to allow a number of people to work on the title
  186. at once.  In fact, we have had a dozen people working on hotspots for 
  187. the same production all at one time.
  188.  
  189. This collaboration goes beyond the tool-set.  The process of creating a
  190. title involves taking the best that everyone has to offer.  It is easy 
  191. to spot the titles that were created primarily by an artist, or a 
  192. programmer, or a film producer.  It is when you have several of them 
  193. working together to balance a game that the best titles are created.  
  194. In doing this, we broke down the different types of people who 
  195. participate in the process:
  196.  
  197. Person- Responsibilities/Talents
  198. Writer- Creates story, dialog, characters, and settings
  199. Game Designer- Creates logic and connective gameplay
  200. Title Engineer- Creates high level logic and provides game play balance
  201. Lead Programmer- Creates low level logic and 'flash'
  202. Tools Developer- Automates inefficient game creation tasks
  203. Graphic Artist- Creates artwork and backdrops
  204. Director/Producer- Creates film/video environments that fit into the
  205.                     game
  206. Audio Engineer- Creates sound and music for the game
  207. Video Engineer- Provides balance and quality in the video environment
  208. Navigator- (Unique to Video Reality) Ensures navigability of the
  209.            captured Environment
  210. User Interface Designer- Creates GUI and user interface metaphors
  211.  
  212. By allowing each person to do their job within the environment, we were
  213. able to maximize the talents of all the people involved.  For example, 
  214. the User Interface Designer can quickly import bitmaps and try out the 
  215. created controls without having to go through the often tedious process
  216. of creating separate control component bitmaps.  The Audio Engineer can
  217. test out sound components within the runtime environment.  The Title 
  218. Engineer can focus on the important task of play balancing the title 
  219. -- without having to worry about how a particular bitmap is going to be
  220. rendered on the screen.  Even the writer is given an opportunity to 
  221. test out the script in a playable mode.
  222.  
  223. While we went to great lengths to provide for collaboration, we did not
  224. want to recreate the wheel.  There are many excellent tools out there 
  225. for creating bitmaps and editing together video.  For these types of 
  226. operations, we chose to continue to use those tools in their native 
  227. form, but to quickly incorporate their output into the Video Reality 
  228. system.
  229.  
  230.  
  231. Capabilities
  232.  
  233. The Basics (bitmaps, sound, music, mouse)
  234.  
  235. Because Video Reality was designed as a interactive title development 
  236. system, it has all of the basic capabilities that one would expect.  
  237. You can display and move bitmaps, play sound, play music, respond to 
  238. mouse moves and clicks, save and restore productions, and even manage 
  239. inventory.
  240.  
  241. Navigable Video
  242.  
  243. What makes the technology particularly unique is that it offers a 
  244. method of creating highly navigable video.  This means that the end 
  245. user can move through the environment at will.  They can choose to go 
  246. somewhere, look around as they are going there, stop at any time, and 
  247. even go back to where they came - all on their own terms.  If you were
  248. to video tape a house to show off to someone, they would be forced to
  249. go through it in the order that you taped it.  However, with Video 
  250. Reality, they can choose to go through in any order looking where they
  251. want to.
  252.  
  253. Hotspots
  254.  
  255. If all someone could do was to walk through a scene, it could be pretty
  256. boring (although the pictures would be pretty).  Clearly as someone is 
  257. looking at something they would like to be able to interact with it.  
  258. Recognizing that such an environment would be far richer, we developed
  259. a technology that allows us to manage a very large number of hot-spots 
  260. across the entire video environment.  For example, we have been able to
  261. shoot a greenhouse and put a hot-spot on every plant in the environment
  262. on every frame that it appears in - over 27,000 clickable areas - in 
  263. just under three weeks. What the hotspots do is completely in the 
  264. control of the Title Engineer.
  265.  
  266. Integrated spatial/dramatic scenes
  267.  
  268. Once you have clicked on a hotspot or performed some actions, there is
  269. often some sort of a dramatic event that may need to be carried out.  
  270. However, instead of jumping to a cut scene as is typical, the dramatic
  271. video is seamlessly integrated into the user's navigation.  While we 
  272. often refer to these as dramatic scenes for production purposes, it is
  273. often difficult to separate them out from the truly navigable video.
  274.  
  275. Object integration
  276.  
  277. By itself, video may not offer enough variability in the environment.  
  278. There are only so many replenishable items (stacks of paper, cups of 
  279. pencils, an infinite supply of anything) that you can put into a title.
  280. Often there is a need to provide a unique item which the user can take 
  281. with them.  We have approached this in one of two ways.  For central 
  282. items which may have a dramatic effect on an environment, we can 
  283. pre-create the environment both with and without the object.  At 
  284. runtime we can automatically select the appropriate clips.  For other
  285. objects, we can dynamically adjust the video image to include a 
  286. picture of the object anti-aliased into the image.   The placement of
  287. these objects is done at edit time and can allow for a very high 
  288. quality integration.
  289.  
  290. Of course, this allows our graphic artists to really stretch their 
  291. talents as they create models of actual objects which were encountered 
  292. on the set to match the environment exactly.
  293.  
  294. GUI design
  295.  
  296. Another important aspect to creating a gaming environment is to allow 
  297. for a user interface which is consistent with the gaming environment.  
  298. Typically this requires the creation of organic design elements which 
  299. fit into the character of the experience.  With this constraint, the 
  300. typical drag a button out of the toolbox and slap it into the 
  301. environment just doesn't cut it.  However, when a graphic designer has 
  302. to create custom buttons and button states for each spot that the user 
  303. interacts with, it can quickly be overwhelming.  There are many 
  304. examples of titles where the final graphic was misplaced by a single 
  305. pixel, marring what would have otherwise been a very beautiful effect.
  306. With our GUI Designer(TM) tool, the graphic artist can quickly import
  307. a series of bitmaps and then identify the active areas of the bitmaps.
  308. The system automatically handles cutting them out and even defining the
  309. basic logic.
  310.  
  311. Basic logic
  312.  
  313. This basic logic can range from something as simple as playing a sound
  314. to showing a picture.  In fact, it is extremely common that the same 
  315. action or series of actions applies to a wide range of elements in a 
  316. title.  To make this more efficient, the Video Reality system was 
  317. designed with a simple flow language (with a syntax that is familiar to
  318. people who use Microsoft's Visual Basic) that has been extended with 
  319. object oriented concepts.  Hence a simple class can be created for a 
  320. button, yet the actions can be overridden for a button which may need 
  321. special handling.  Because of this, while we originally expected our 
  322. first title to have 3000-5000 of these tiny flows, we are finding that 
  323. the reuse paradigm is so strong that we are currently anticipating 
  324. fewer than 1000 of these 3-15 line subroutines to be written for the 
  325. entire title.
  326.  
  327. ActiveX integration
  328.  
  329. We recognized that there are two types of programmers.  Someone who is 
  330. good at play balancing the logic of any title is not a likely candidate
  331. for the high performance graphic intense routines.  Instead of having 
  332. to find such a rare person, we can instead take advantage of the people
  333. who are good at one of these areas and have them work together.
  334.  
  335. Through the use of Microsoft's ActiveX technology, we have the ability
  336. to separately build (and test!) any of these graphically intense 
  337. components and then integrate them into the production.  The flow 
  338. language can readily communicate with these components and provide the
  339. high level control of the applications.  We were then able to have 
  340. separate programmers write these custom components such as a page 
  341. turner, newspaper reader, jigsaw puzzle, navigation map, and even a 
  342. scorpion game.  In fact, the jigsaw puzzle OCX turned out to be so 
  343. much fun that we decided to send it out as a separate product (at 
  344. this writing, we at SouthPeak Interactive have released four Virtual 
  345. Jigsaw(TM) products) and to incorporate it into our web page.
  346.  
  347.  
  348. The Process
  349.  
  350. Having the capabilities in the system is not sufficient to bringing out
  351. a title.  We also set in place a complete process for putting together
  352. a production.  While every system has some sort of process to creating
  353. a title, what we have done is put a lot of effort into the planning and
  354. collaboration.
  355.  
  356.  
  357. 1. Planning the experience
  358.  
  359. All great titles start out with an idea.  With StoryWriter(TM), we are
  360. able to put together a playable script for the title quickly while 
  361. identifying assets and components.  The output of this process directly
  362. feeds into the production database.  Because we recognized that many 
  363. writers prefer to work in Microsoft Word, we used the automation 
  364. capabilities of Word97 to allow us to interactively define a script and
  365. run it right in that environment.  This ability to test a script in 
  366. development is very important early in the process to identify holes in
  367. the logic and to tighten up game play.
  368.  
  369. The StoryWriter system allows the game designer to identify all of the 
  370. assets, characters, logic, conversations, environments, and custom 
  371. components.  In this way the script is as much a programming design 
  372. document as it is a game play description.
  373.  
  374. As the script becomes more refined and detailed, the assets and basic 
  375. components get more defined in the system.  The title engineering team 
  376. can take the refined script and add real assets to fill in the 
  377. placeholders at any time.  In this way, there is a smooth progression 
  378. from a prototype to a finished product.
  379.  
  380.  
  381. 2. Designing the environment
  382.  
  383. During the later phases of the story development, the title engineering
  384. team also starts the task of creating the basic programming glue that 
  385. holds the title together.  Video Reality Studio provides them with a 
  386. large number of basic classes and components to start from providing 
  387. the basics behind button logic, navigation, some inventory management,
  388. and even video control.  During this phase, the user interface is 
  389. designed and polished using the toolset.
  390.  
  391. This is where the real game play is put in.  While some tools have 
  392. attempted to take the programmer out of the picture, we recognized that
  393. there are really two types of programmers that you want involved in the
  394. product.  For all of the high level logic and glue that makes a game 
  395. playable and balanced, the title engineering team uses our high level 
  396. flow language and objects.  However, we didn't forget that there is a
  397. need for a level of interactivity that goes beyond the basics.  For 
  398. these, we were able to take advantage of component technology to allow
  399. a C++ programmer to create the more interactive components.
  400.  
  401. The result of this is a playable title with very rough assets 
  402. (yes, that blue watering can is supposed to represent the Amulet of 
  403. Knowledge) and plenty of placeholders.  We can mark these assets as 
  404. placeholders instead of having to remember to replace them later on 
  405. (or worse, shipping a product with a temporary asset).
  406.  
  407.  
  408. 3. Assembling the components
  409.  
  410. As the title is being laid out, the production crew is working rapidly 
  411. to create all of the assets: video clips, bitmaps, sound effects, etc..
  412. With any interactive product, there are tens of thousands of individual
  413. assets, sometimes with many iterations on the same asset until it is
  414. right.  In fact, sometimes the new asset doesn't work out as well as 
  415. the old one.  For this, the system being designed around a database 
  416. works very well.  We track multiple candidates for a single asset and
  417. allow the title engineering team to choose which candidate will be used
  418. for the final product.
  419.  
  420. The multi-user nature of Video Reality Studio really helps in this 
  421. phase because of the overwhelming number of assets that need to be 
  422. handled.  Because the system allows for multiple concurrent users 
  423. working on the same production, the bottleneck of waiting for a single
  424. person to check in assets is reduced. 
  425.  
  426. One important place where this bottleneck is completely eliminated is 
  427. the addition of hotspots to this extremely rich environment.  With the 
  428. ability to have multiple people working on the same project, it is easy
  429. to assign the tasks of different areas to different people to achieve 
  430. the value of the proverbial "Mongolian horde" approach to solving a 
  431. task.  We have had as many as 20 people all working on the same 
  432. production at one time defining hotspots and their actions.  Most 
  433. importantly here is that the Lead Title Engineer is freed from this 
  434. monotonous task to be able to concentrate on the overall gameplay.
  435.  
  436.  
  437. 4. Optimizing the layout
  438.  
  439. While we designed a multi-user database for creating and maintaining a 
  440. production, we knew that this would not be optimal for running a final 
  441. production on the user's machine.  Furthermore, we did not want the 
  442. title engineering team to have to go through a series of tedious steps 
  443. in creating a final CD only to find that something has been left out.
  444.  
  445. To solve this problem, we have a binder process which takes the 
  446. database, assembles all of the assets (performing a final sanity check 
  447. on all of them), converts them to their final representation, and lays 
  448. them out for the CD.  It puts everything under a single directory (or 
  449. multiple directories for multiple disks) which includes all of the 
  450. assets and executable components.  All the engineering team has to do 
  451. is burn the final CD straight from that directory.
  452.  
  453. The binder system also is responsible for optimizing the placement of 
  454. the assets on the CD in order to ensure that the system runs more 
  455. efficiently as well as trimming away any excess in the assets (extra 
  456. frames, unused audio, unreachable logic).
  457.  
  458.  
  459. 5. Running the final product
  460.  
  461. What is probably the most impressive part that the user never sees is 
  462. that the final CD has everything necessary to just run on the end 
  463. user's system.  Through our proprietary auto-load technology, the 
  464. system dynamically adapts to whatever the user has installed on their
  465. machine - including incompatible versions of DLLs.  If the user's 
  466. machine is already in a running state, nothing is replaced.  Instead 
  467. the runtime system dynamically loads the appropriate versions from 
  468. the CD for the duration of the game.
  469.  
  470. Once up and running, the Video Reality Engine goes through the task of 
  471. allowing the user to seamlessly navigate through the environment.  The 
  472. engine manages access to the disk, dynamically pulling in assets and 
  473. logic as they are needed - even taking advantage of times that the user
  474. is pausing to think.
  475.  
  476. An extra bonus that was designed into the system from the start is the 
  477. ability to debug even the final production.  Through the use of special
  478. side files (which are built into a separate directory), the title 
  479. engineering team has the ability to view source code, set breakpoints, 
  480. examine variables, and generally trace the flow of the environment.  
  481. This system also allowed us to build in a complete testing environment 
  482. so that all of the actions that a tester takes can be captured and 
  483. played back at will.  Since this capturing can be directed over the 
  484. network to another machine, any crashes can be diagnosed and reproduced
  485. by simply playing back the captured file.  This makes quick work of any
  486. of those intermittent crashes.
  487.  
  488. By combining this technology with our ActiveX integration, we have also
  489. built into the beta portion of the cycle the ability for our testing 
  490. lab to simply press a key and not only enter the description of the 
  491. problem, but have the system track where they were in the game.  This 
  492. has greatly reduced our turnaround for fixing problems reported by 
  493. the testers.
  494.  
  495.  
  496. The Results
  497.  
  498. In the end, it is not the technology or the amount of planning that 
  499. went into the title that makes it appealing to the end user.  They 
  500. must find the experience to be enjoyable and challenging.  With the 
  501. Video Reality technology, we have created the opportunity to put them 
  502. in real (or created in painstaking detail) environments.  The game 
  503. designer is offered an opportunity to concentrate on the gameplay 
  504. aspects to provide a balanced game.
  505.  
  506. The end result is that the user gets the richness of a video 
  507. environment, the rendered navigability of a virtual reality 
  508. environment, and the gameplay that only a well balanced team can 
  509. provide.
  510.  
  511.              
  512. Where Do We Go From Here
  513.  
  514. Video Reality is a long way from being finished.  The industry and 
  515. platforms will continue to evolve.  Around the corner is DVD which we 
  516. feel is an excellent medium to deliver Video Reality titles on.  The 
  517. usage of MPEG-2 immediately quadruples the usable resolution of the 
  518. environment with virtually no impact on the development process.
  519.  
  520. While it might not have been initially obvious, the inserted objects 
  521. and even characters in the environment could be rendered by taking 
  522. advantage of many of the advances in 3D hardware.  Instead of 
  523. dedicating the majority of polygons to the environment and a scant 
  524. few to the characters and objects, we can create richly detailed 
  525. and animated characters by applying thousands of polygons to them 
  526. instead.
  527.  
  528. Because we are focused on the R&D aspects of the technology, we will
  529. continue to evolve Video Reality to provide richer and more interactive
  530. game experiences.  Temujin: The Capricorn Collection is only the first 
  531. of many titles to come.
  532.  
  533.  
  534.  
  535. Copyright
  536. Video Reality, GUI Designer, StoryWriter, Temujin, The Capricorn 
  537. Collection, and Virtual Jigsaw and the Video Reality logo are 
  538. trademarks licensed to SouthPeak Interactive LLC, Cary, NC, USA. 
  539. Other trademarks are the property of their respective holders. 
  540.  
  541.  
  542. [i] At 1 hour/frame, you end up with: 
  543.     1 hour =60 minutes =60*60 seconds =60*60*30 frames =108,000 times 
  544.     slower than we need to be.  If we double each year, we have 1998=2,
  545.     1999=4, 2000=8, ... 2012=32768,  2013=65536,  2014=131072.  
  546.     Really applying Moore's law of every 18 months and using the more
  547.     conservative figure of 4 hours per frame, the actual break even 
  548.     year is 2042, but we like to be optimists.
  549.             
  550.  
  551.  
  552.