![]() |
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:
|
What's new with Release 1.2
|
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.


Comments
Wow, this is really great content. Thank you so much for the code and articles. Very COOL stuff!
Does it work with Windows Vista 64 or is it 32 bit only?
Thanks for the comment DDd ^_^
I saw your post on AiGameDev.com, I'd like to hear what you end up doing with Smoke
Hey Ricardo,
We built and tested Smoke using 32bit. You can try and build and run 64... let me know how it goes!
Hey guys,
I think this is an excellent project and something that deserves more attention in undergraduate games development based degrees. I'm a third year student at the University of Lincoln, UK doing a games based degree, but we don't really cover any basic engine fundamentals, let alone threading and paralell game design.
As part of my dissertation I'm doing an in-depth analysis of various open-source game engines, particularly the Quake-series. I'm planning to do a chapter on the importance of paralell game engines in today/tomorrow's games industry and all of this information you have provided will prove very useful. I had a quick play at bringing some threaded functionality to the Q3 engine (though it is very, very basic). I have a short blog entry about it here: http: // learninglab.lincoln.ac.uk/blogs/jmunro/2008/12/02/attempt-at-threading-quake-iii/
Thanks for the hard-work!
Hey James,
I'm glad to hear about your interest in parallel game design. I'm working with the Intel Academic Community (http://software.intel.com/en-us/academic) to develop material about parallel game design using Smoke.
Here is a link you might be interested in: http://software.intel.com/en-us/videos/gdc-session-threading-quake-4-and-quake-wars-part-1 Anu has done some interesting working threading Quake 4.
It sounds like a very interesting dissertation. Please keep me up-to-date and let me how your project turns out.
Thank You!! I can't wait to check this out. I'm on an Intel Mac... I believe all the libraries you mention are cross-platform. Have you had anyone test out the engine on OSX yet?
woops, I missed the mention of the win32/Dx dependency, though I know Ogre3d claims abstraction over Dx and OGL. What might prevent this from running on an OSX intel mahine?
Hey CJ,
No one has tried in on OSX. I would be very interested to know if you can get it to work. The biggest dependencies on Windows are DirectX and .NET. DirectX is used by Ogre3D... however, you should be able to use OpenGL instead of DirectX (OpenGL is just a separate plug for Ogre). The scripting system uses .NET... but you can feel free to disable the scripting project (it's not used in the demo at the moment). In the \bin folder you will find Smoke.gdf... delete the reference to the scripting system (you might need to remove it from Demo.cdf too).
Now here are the big challenges. There are a few systems that also depend on DX. These is SystemInput and SystemFire. SystemInput uses DirectX's input support. But that's easy enough to replace (or disable). SystemFire uses DirectX for some of the math calculations. Our math library should support all the needed functionality... we just didn’t have time to get all the DX out of there.
Good luck and let me know how it goes!
Is there any way to make the demo stop spinning like crazy? :)
Pages