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
  • 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.


Orion Granatir (Intel)'s picture

Hey Koichi,

Thanks for posting on the forum about your issues related to Windows Messaging. Please keep up the posting on the forum. Even if there are not a lot of replied, we have a lot of people reading them :D

I'll head over to the forums after reviewing these comments.

Koichi Senada's picture

hi Amit Makhija!
Sure thing, Intel Smoke Demo can run on Pentium 4 CPU.
I am sure it can run on a single processor and single core CPU.
Why did you ask?

Amit Makhija's picture

this can work on Pentium 4 or not??

Koichi Senada's picture

hi Intel Smoke team!
We seem to have solved our issue related to Windows Messaging on our own already.
Is there any work on Smoke lately?

Koichi Senada's picture

hi Intel Smoke team!
I have posted another question to
This time it's related to Windows Messaging related functions like PeekMessage, which can be received correctly in SystemGraphics only and related to receiving those messages at SystemInput.
Also, is that possible to talk to you by some instant messaging systems or email?

anonymous's picture

hi intel smoke team,

thanks for this great technology. i've wanted/tried to make something similar - threading different subsystems for "realtime" applications - for a while and smoke definitly comes in handy. i'll need some time to look through the code and documentation though. one question i have right now - you mentioned in one of your presentations that changing the physics subsystem was very easy. do you have any information on that? i try to build a crossplatform solution (macosx and windows, maybe linux later) and i would love to use havok but it seems that it does not work with macosx. so i'll try bullet for now. do you have any information/tutorial/documentation on how to generally implement a new subsystem or how to change the physics system. which one did you use for swapping? did you use (O)PAL?

i hope you guys get more time from intel to maintain the code, develop and document it further, because this is an awesome and very valuable project! thank you very much and keep up the good work!

Orion Granatir (Intel)'s picture

Hey koichisenada,

I'll post a longer reply on your forum post :)
Short answer: We did manage to get it running on VS2008, but there were some limiting factors to shipping that version.


Koichi Senada's picture

Has anyone managed to port Smoke to any other IDE than Visual Studio 2005?
I am trying to compile the Smoke solution with Visual Studio 2008.
Seems like these comments are more popular than Smoke related forum where I have posted my question at

currentloops's picture

Ok, I anticipate receiving our Blade Server and vSphere ESX in the coming month, so will try out my "Eye Of The Predator" Visual Adrenaline entry with the instrumented Intel metrics to record the comparison in fps. The objective is to separate out each networked player as a virtual participant for regression testing and use HP Loadrunner and HP Diagnostics to monitor system performance. I will report the results on the forum then. Cheers

Orion Granatir (Intel)'s picture

Hey CurrentLoops,

No, I have not tried running Smoke virtually. That an interesting idea... however, I believe the biggest problem will be the speed of virtualized DirectX. I'd love to hear about the results if you give it a try... enter you results in the Thread Like Wildfire contest here:
and you'll probably win a $100 gift card :D


Add a Comment

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