Skip to main content
Log in

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

  • Original Paper
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. http://www.torcs.sourceforge.net/

References

  • 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–1508

  • 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–324

  • García R, de Pedro T (1998) Modeling a fuzzy coprocessor and its programming language. Mathw Soft Comput 5(2–3):167–174

    MATH  Google Scholar 

  • Herrera F, Lozano M, Verdegay JL (1995) Tuning fuzzy logic controllers by genetic algorithms. Int J Approx Reason 12:299–315

    Article  MATH  MathSciNet  Google Scholar 

  • 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–139

    Article  Google Scholar 

  • Hong TP, Huang KY, Lin WY (2002) Applying genetic algorithms to game search trees. Soft Comput: A Fusion Found Methodol Appl 6(3):277–283

    Article  MATH  Google Scholar 

  • Hsu F (2002) Behind deep blue. PhD thesis, Princeton University Press

  • Laird JE (2002) Research in human-level AI using computer games. Commun ACM 3(8):32–35

    Google Scholar 

  • Loiacono D, Togelius J, Lanzi PL (2008a) Car racing competition WCCI2008. Software manual

  • 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 games

  • 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 1

  • 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–147

    Article  Google Scholar 

  • Lucas SM (2009) Computational intelligence and AI in games: a new IEEE transactions. IEEE Trans Comput Intell AI Games 1(1):1–3

    Article  MathSciNet  Google Scholar 

  • 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–278

  • 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 systems

  • 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–262

  • 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–270

  • 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–387

  • Schaeffer J (2009) One jump ahead: computer perfection at checkers. Springer-Verlag, New York

  • Schaeffer J, Burch N, Yngvi Björnsson AK, Mueller M, Lake R, Lu P, Sutphen S (2007) Checkers is solved. Sci Agric 317:1518–1522

    Google Scholar 

  • 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–1958

  • 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–298

  • 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–329

    Article  Google Scholar 

  • Zadeh LA (1965) Fuzzy sets. Inf Control 8:338–353

    Article  MATH  MathSciNet  Google Scholar 

Download references

Acknowledgments

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Enrique Onieva.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Onieva, E., Pelta, D.A., Milanés, V. et al. A fuzzy-rule-based driving architecture for non-player characters in a car racing game. Soft Comput 15, 1617–1629 (2011). https://doi.org/10.1007/s00500-011-0691-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-011-0691-6

Keywords

Navigation