Smoke - Game Technology Demo - Retired

This demo has been retired as it was developed for earlier generation hardware.

 

The demo is still available for download if desired.

 

What If Home | Product Overview | Intel® TM ABI specification | Technical Requirements
FAQ | Primary Technology Contacts | Discussion Forum | Blog

 


Product Overview

Smoke is a tech demo that showcases a framework to support n-way threading of game technologies. By properly threading a game it can have more accurate physics, smarter AI, more particles, and/or a faster frame-rate. Smoke demonstrates one way to achieve better games.

All of the source code for Smoke is available for download.

The demo includes:

  • N-way threaded framework using Intel® Threading Building Blocks
  • Physics simulation using Havok Physics™
    • Download a free copy of Havok PC (5.5 or greater) from www.havok.com
  • Graphics and scene management using Ogre3D
    • Complex meshes/shaders
    • Skeletal animation
    • Particle systems
  • Procedurally generated fire that spreads dynamically and realistically
  • 3D audio using FMOD
  • Artificial Intelligence controlled animals
  • Input and interactivity using DirectInput
  • Performance profiling
What's new with Release 1.2
  • Smoke now has a simpler build and builds with Visual Studio 2008 SP1
  • Fixed occasional crash when subdividing objects, after physics collision
  • Fixed a number of memory leaks and uses of uninitialized memory
  • Ambient lighting now lights the shaded side of objects
  • Smoke runs faster, mostly due to speedups in fire object code

 


Product Info

Video:Smoke Overview Video & Tech Overview Video

Article: An Overview of Procedural Fire,  Designing a Parallel Game Engine, &

Optimizing Game Engines with the New Intel® Graphic Performance Analyzers 3.0 Platform View

Installation: You can download the installer for the demo.

You can download all the source code here. There are build instructions included in the source code zip file under smoke\docs


System Requirements

  • CPU: Intel® Core™ 2 Quad Processor or better (Intel® Core™> i7 recommend)
  • GFX: NVIDIA 8800 GTS or better (Smoke was developed using 8800 GTS cards)
  • OS: 32-bit Windows XP or Vista
  • MEM: 2 GB of RAM of better
  • Optional: Stereo speakers, Xbox 360 controller for Windows
  • Software: Latest version of DirectX and .NET

 

You can also watch the other video done to Take an in-depth look at Intel’s Smoke Demo


Frequently Asked Questions

Q: Where can I get the source?

A: All the source is available.

Q: How do I build the source code?

A: There are build instructions included in the source code zip file under Smoke\docs.

Q: How do I see the advantages of threading?

A: While the demo is running you can toggle the number of active threads.

  • Press Ctrl+1 for 1 thread
  • Press Ctrl+2 for 2 threads
  • Press Ctrl+4 for 4 threads
  • Press Ctrl+x for maximum threads (depends on the CPU)

 

Q: What is the license?

A: You can read the license here. The goal is to allow developers to use the Smoke code written by Intel for any purpose (including derivative works) with no limitations or obligations.

 


Primary Technical Contacts

Orion Granatir is a senior engineer in the Visual Computing Software Division. He is the Tech Lead on the Smoke project. Prior to joining Intel in 2007, Orion worked on several PlayStation 3 titles as a senior programmer with Insomniac Games. His most recent published titles are Resistance: Fall of Man and Ratchet and Clank Future: Tools of Destruction.

 


For more complete information about compiler optimizations, see our Optimization Notice.

75 comments

Top
Abhay Hegde's picture

Thanks Orion & Paul. I am currently working on creating a customized rendering scene with the basic objective of running it better on Intel hardware. May not be as marvelous smoke but still :) ...taking my first steps into the world of game development :)

Paul Lindberg (Intel)'s picture

For more info on changing demo content, turning different systems on and off, moving existing content around, etc., check out the "Configuring Smoke" doc, in docsConfiguration.rtf. It shows the different kinds of config files you can edit.

You can also look at a little different content in the slightly-newer release of Smoke from GDC this year (especially the Zombie). :-) Check out the source zip from the Game Threading Tutorial at http://software.intel.com/en-us/articles/intel-at-gdc/. The Zombie content is also in the upcoming R1.2 Smoke release (although we haven't dropped him into the default scene - hm, may need to think about that).

Orion Granatir (Intel)'s picture

Hey Abhay,
I assume you want to change the content of the demo. If you look at demo.cdf, this file is the description of the scene. It's a bunch of XML that tells the app where to place objects, how they interact with objects, and other relationships. You can see, most of the content is mesh files to be loaded by Ogre. The artist that worked on the project created content in 3DS Max and used a plug-in to export content in a format for Ogre. Visit the Ogre3D.org for more info on generating content for Ogre.

Abhay Hegde's picture

Pure Awesomeness!!

Thanks for the Smoke team for providing a great demo. It was really 'smokin' !

Orion, i have a question.
I would like to create a similar game scene for my college project and perform a bencmarking analysis on different Intel processors . Could you briefly please explain me as to how i can make use of the Smoke source code/improvise to create a custom made video.

Mike Yi (Intel)'s picture

A couple of the developers on the Smoke team are working on the Smoke project, focusing on performance optimization. We'll be releasing articles, videos and blogging about what we did and what tools we used to extract the most performance out of Smoke. Hopefully, game developers will find these series of articles helpful in reaching greater performance in their games. We have already presented our first phase of optimization work on Smoke at the Intel Developer Forum in September. Luckily, the presentation was recorded and is already live on our site. Part 1 of the video can be found here: http://software.intel.com/en-us/videos/optimizing-a-video-game-smoke-fanning-the-flames-to-really-make-it-burn-part-1/ which also has links to the rest of the presentation. The slides can be found here: www.intel.com/go/idfsessions The presentation reviewed the demo code design and then showed a complete performance study, with step-by-step use of Intel tools: - Benchmark and measure a baseline - Find common memory and data race bugs with Intel® Parallel Studio - Drill down into hot spots in the code, and highlight why they're hot with Intel Parallel Studio and Intel® VTuneTM Analyzer - Find concurrency problems with Intel® Thread Profiler - Show some speedups made in the code We are planning to release the updates we made to the Smoke code in the coming weeks, which includes a performance speed up and a port of the code to Visual Studio 2008. Both an executable and source code will be made available, as usual. Please let us know if you have any suggestions for making Smoke better!

anonymous's picture

The demo video shows utilization for 8 cpus (reading all in 90%s)-- was that a quad processor
and if so the calculation is misleading/inexact as the real utilization on a quad could only be a max sum
of 400% (waiting for cache lines to fill shouldnt count as 'execution')

If it was 2 quads then 'never mind' ....

anonymous's picture

The first 2 passes on e5200 @ 3.96 give me 24fps after the 3rd pass , it averages 16fps ,....Anybody try this on older Pentium d 965 ee with hyper-threading ? Just curious on it's Hyper-threading capabilities...

anonymous's picture

How long is this demo supposed to run ? ,(Until you stop it?) , I get 24-26 on e5200 @ 3.96 ,Not bad?.....

anonymous's picture

Hello Orion

i study the code, find that the render system spends much more time, can't it be optimized?

Orion Granatir (Intel)'s picture

Hey Amit Makhija,

Koichi is right; it should run on a Pentium 4. However, we did not test it so I can't be 100% sure. The project is designed for modern multi-core processors.

Pages

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.