English | 中文 | Русский | Français
2,857 Posts served
8,606 Conversations started
|
President & CTO of Terminal Reality Inc. |
Often times, the simplest and most elegant algorithms are obvious, but take the longest to figure out. In one level for an Infernal Engine game, we wanted to fully displacement map every pixel in our scenery, but we couldn't afford the complexity of the shader on each and every pixel. One solution would [...]
For the past few years, Ubuntu has been my favorite Linux distribution. With a fresh install of Ubuntu Desktop 9.10 on my CULV Core2 Duo SU7300 Timeline 1810T, I was getting around 3.5 hours of battery life. This was not even half the promised battery life (8 hours) from the manufacturer. Diagnosing and fixing [...]
CULV is the line of Intel's new ultra low voltage processors for laptops - this means higher performance and great battery life. It gives you more computing power when you need it (it even can run the Infernal Engine Editor!!!), hardware HD video playback, and stellar battery life that you are used to with [...]
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. [...]