CityEngine is one of many tools used to make Need For Speed. EA didn't use CityEngine as a start-to-finish solution. It sped up their development by reducing time spent on certain tasks so it could be reinvested elsewhere:
Game artists aren’t looking for a one-button procedural solution. Instead, they’re interested in procedural methods that help with tedious tasks and provide results that adjust to gaming constraints. Procedural methods should free artists to spend time creating and polishing, rather than performing mundane, repetitive, and time-consuming tasks
In terms of using CityEngine efficiently:
Effective use of the CityEngine, and indeed almost any urban-modeling tool, requires familiarity with architecture. You should begin by acquiring a good understanding of basic building elements such as windows, doors, columns, pilasters, quoins, gates, roofs, cornices, arches, walls, and ornaments. We recommend examining one to three architecture books with labeled illustrations of these elements. One of the best is by Köpf and Binding, but unfortunately it’s available only in German. A similar book is a Visual Dictionary of Architecture
From there, EA identified their typical high level work flow as follows:
- Design idea/concept
- Analyze design and parameters
- Create elements and textures
- Encode design rules
- Add stochastic behavior
- Generate models
Notice that CityEngine is only used at the last step. It can be used to build a massive amount of 3D architectural content efficiently and handily. But doing so is contextual relative to the time and work spent prior to that step.
For information about how CityEngine was used in Need For Speed, I recommend reading
Procedural Methods for Urban Modeling Tutorial Procedural Urban Modeling in Practice.
The paper's co-authors includes two staffers from EA that worked on the Need For Speed series and the cofounder of Procedural Inc (developer of CityEngine). The quoted text blocks are from that paper.