English | 中文 | Русский | Français
2,590 Posts served
8,343 Conversations started
|
President & CTO of Terminal Reality Inc. |
Synchronization between threads in the Infernal Engine Thread synchronization is a complicated problem and rarely discussed in practice. We came to our own conclusions via experimentation and what worked well for us during the production of Ghostbusters. Ghostbusters used two kinds of synchronization primitives, "crude locks" and "critical sections". A crude lock is [...]
Game Optimization Challenges for Modern Hardware Although we seem to have hit a ~3GHz limit in processor speed, Moore's law may still be holding as more and more cores are added to a processor at this speed. As processors have gotten faster and faster, memory latency has gotten longer and longer over time. This [...]
Game Loop Parallelization in the Infernal Engine In the old days of single processor computers, your game loop would run every process for the game in single step, the results were 100% deterministic. Your game loop looked much like the following: 1. Run the tick code for every actor 2. Perform rigid body simulation 3. [...]
Ghostbusters was an unusually long project for us - we started in January 2006 with a prototype. For the first nine months of development, we were working on recreating the ballroom scene where Slimer is captured from the first movie, obtaining the movie license, and getting a green light to develop the project. [...]