Soft Computing

, Volume 15, Issue 8, pp 1617–1629 | Cite as

A fuzzy-rule-based driving architecture for non-player characters in a car racing game

  • Enrique OnievaEmail author
  • David A. Pelta
  • Vicente Milanés
  • Joshue Pérez
Original Paper


Videogame-based competitions have been the target of considerable interest among researchers over the past few years since they provide an ideal framework in which to apply soft computing techniques. One of the most popular competitions is the Simulated Car Racing Competition which, thanks to the realism implemented by recent car simulators, provides an excellent test bed for the application of autonomous driving techniques. The present work describes the design and implementation of a car controller able to deal with competitive racing situations. The complete driving architecture consists of six simple modules, each one responsible for a basic aspect of car driving. Three modules use simple functions to control gear shifting, steering movements, and pedal positions. A fourth manages speed control by means of a simple fuzzy system. The other two modules are in charge of (i) adapting the driving behaviour to the presence of other cars, and (ii) implementing a basic ‘inter-lap’ learning mechanism in order to remember key track segments and adapt the speed accordingly in future laps. The controller was evaluated in two ways. First, in runs without adversaries over several track designs, our controller allowed some of the longest distances to be covered in a set time in comparison with data from other previous controllers, and second, as a participant in the 2009 Simulated Car Racing Competition which it ended up winning.


Fuzzy control Car racing Videogames 



This work was supported by the Spanish Ministry of Science and Innovation under the projects Tránsito (TRA2008-06602-C03-01), CityElec (PS-370000-2009-4), and TIN2008-01948, by the Ministerio de Fomento under the project GUIADE (T9/08), and by the Consejería de Innovación, Ciencia y Empresa, Junta de Andalucía, under Project P07-TIC-02970. The authors wish to thank the organizers of the 2009 Simulated Car Racing Competition for their effort in organizing the event and for allowing our team to participate without having submitted associated publications.


  1. Arroyabe JL, Aranguren G, Nozal LAL, Martin JL (2000) Autonomous vehicle guidance with fuzzy algorithm. In: Proceedings of 26th annual conference of the IEEE Industrial Electronics Society IECON 2000, vol 3, pp 1503–1508Google Scholar
  2. Butz MV, Lonneker TD (2009) Optimized sensory-motor couplings plus strategy extensions for the torcs car racing challenge. In: IEEE symposium on computational intelligence and games, 2009 (CIG 2009), 7–10 September 2009, pp 317–324Google Scholar
  3. García R, de Pedro T (1998) Modeling a fuzzy coprocessor and its programming language. Mathw Soft Comput 5(2–3):167–174zbMATHGoogle Scholar
  4. Herrera F, Lozano M, Verdegay JL (1995) Tuning fuzzy logic controllers by genetic algorithms. Int J Approx Reason 12:299–315zbMATHCrossRefMathSciNetGoogle Scholar
  5. Homaifar A, McCormick E (1995) Simultaneous design of membership functions and rule sets for fuzzy controller using genetic algorithms. IEEE Trans Fuzzy Syst 3(2):129–139CrossRefGoogle Scholar
  6. Hong TP, Huang KY, Lin WY (2002) Applying genetic algorithms to game search trees. Soft Comput: A Fusion Found Methodol Appl 6(3):277–283zbMATHCrossRefGoogle Scholar
  7. Hsu F (2002) Behind deep blue. PhD thesis, Princeton University PressGoogle Scholar
  8. Laird JE (2002) Research in human-level AI using computer games. Commun ACM 3(8):32–35Google Scholar
  9. Loiacono D, Togelius J, Lanzi PL (2008a) Car racing competition WCCI2008. Software manualGoogle Scholar
  10. Loiacono D, Togelius J, Lanzi PL, Kinnaird-Heether L, Lucas SM, Simmerson M, Perez D, Reynolds RG, Saez Y (2008b) The WCCI 2008 simulated car racing competition. In: Proceedings of the IEEE symposium on computational intelligence and gamesGoogle Scholar
  11. Loiacono D, Togelius J, Lanzi PL (2009) Simulated car racing. In: Proceedings of IEEE symposium on computational intelligence and games CIG 2009, 7–10 September 2009, p 1Google Scholar
  12. Loiacono D, Lanzi PL, Togelius J, Onieva E, Pelta DA, Butz MV, Lonneker TD, Cardamone L, Perez D, Saez Y, Preuss M, Quadflieg J (2010) The 2009 simulated car racing championship. IEEE Trans Comput Intell AI Games 2(2):131–147CrossRefGoogle Scholar
  13. Lucas SM (2009) Computational intelligence and AI in games: a new IEEE transactions. IEEE Trans Comput Intell AI Games 1(1):1–3CrossRefMathSciNetGoogle Scholar
  14. Munoz J, Gutierrez G, Sanchis A (2009) Controller for torcs created by imitation. In: IEEE symposium on computational intelligence and games, 2009 (CIG 2009), 7–10 September 2009, pp 271–278Google Scholar
  15. Onieva E, Alonso J, Pérez J, Milanés V, de Pedro T (2009a) Autonomous car fuzzy control modeled by iterative genetic algorithms. In: Proc 2009 IEEE international conference on fuzzy systemsGoogle Scholar
  16. Onieva E, Pelta DA, Alonso J, Milanes V, Perez J (2009b) A modular parametric architecture for the torcs racing engine. In: Proc IEEE symposium on computational intelligence and games (CIG 2009), 7–10 September 2009, pp 256–262Google Scholar
  17. Perez D, Recio G, Saez Y, Isasi P (2009) Evolving a fuzzy controller for a car racing competition. In: IEEE symposium on computational intelligence and games, 2009 (CIG 2009), 7–10 September 2009, pp 263–270Google Scholar
  18. Rosca JP (1996) Generality versus size in genetic programming. In: Genetic programming 1996: proceedings of the first annual conference. Stanford University, MIT Press, Cambridge, pp 381–387Google Scholar
  19. Schaeffer J (2009) One jump ahead: computer perfection at checkers. Springer-Verlag, New YorkGoogle Scholar
  20. Schaeffer J, Burch N, Yngvi Björnsson AK, Mueller M, Lake R, Lu P, Sutphen S (2007) Checkers is solved. Sci Agric 317:1518–1522Google Scholar
  21. Schloman J, Blackfordm B (2007) Genetic programming evolves a human competitive player for a complex, on-line, interactive, multiplayer game of strategy. In: Proceedings of the genetic and evolutionary computation conference, pp 1951–1958Google Scholar
  22. Siegel EV, Chaffee DA (1996) Genetically optimizing the speed of programs evolved to play tetris. In: Advances in genetic programming, vol 2. MIT Press, Cambridge, pp 279–298Google Scholar
  23. Togelius J, Lucas S, Duc Thang H, Garibaldi JM, Nakashima T, Hiong Tan C, lhanany I, Berant S, Hingston P, MacCallum RM, Haferlach T, Gowrisankar A, Burrow P (2008) The 2007 IEEE CEC simulated car racing competition. Genet Program Evol Mach 9:295–329CrossRefGoogle Scholar
  24. Zadeh LA (1965) Fuzzy sets. Inf Control 8:338–353zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Enrique Onieva
    • 1
    Email author
  • David A. Pelta
    • 2
  • Vicente Milanés
    • 1
  • Joshue Pérez
    • 1
  1. 1.AUTOPIA program of the Center for Automation and RoboticsUniversidad Politécnica de Madrid–Consejo Superior de Investigaciones CientíficasMadridSpain
  2. 2.Department of Computer Science and Artificial IntelligenceUniversity of GranadaGranadaSpain

Personalised recommendations