HTML5 Tabanlı Oyunlar İçin Yapay Zeka Kütüphanesi: DignityAI

 Günümüzde internetin hızlanması, uygulamaların birçoğunun internet ortama taşınmasına neden olmuştur.   Web sayfalarının bu kadar etkin olarak kullanılması, her uygulamanın her tarayıcıda herhangi bir plugin gerektirmeden sorunsuzca çalışması gerekliliğini ortaya çıkarmıştır. İşte bu noktada HTML5, geliştiricilerin yardımına koşan bir standart olarak ortaya çıkmıştır. HTML5 genel olarak, CSS ve Javascript'in birleşimi ile oluşan yeni bir standartlar bütünüdür. İnternet ortamına aktarılan uygulamaların bir tanesi de oyunlardır.  Bu noktada,  HTML5 için geliştirilen oyun motorları incelenerek; özellikleri, sundukları olanaklar araştırılmıştır. Bu oyun motorları; popüler oyun motorlarının seviyesini yakalamaya yakın olmalarına rağmen, herhangi bir yapay zeka kütüphanesinin şimdiye kadar HTML5 tabanlı oyunlar için geliştirilmemiş olduğu görülmüştür. Bu çalışmada, söz konusu eksikliği gidermek amacı ile DignityAI yapay zeka kütüphanesi geliştirilmiştir. Geliştirilen kütüphane, oyun motorundan bağımsız olarak tüm HTML5 oyunlarına entegre edilebilen ve bu oyunlara yapay zeka dinamiklerini katabilme yeteneğine sahip bir kütüphanedir.  

Artificial intelligence library for html5 based games: DignityAI

Today, acceleration of internet and common use of web pages, revealed the necessity of work with any browser smoothlyfor each application without of requirement of any plug-in. Generally, HTML5 is a new body of standards which is formedwith the combination of CSS and JavaScript. In this context, by analysing game engines developed for HTML5, theirfeatures and advantages are investigated. Although, these game engines are close to catch up with the level of populargame engines, it is seen that none of artificial intelligence library was developed for HTML5 based games up to now. Inthis study, DignityAI artificial intelligence library is developed to fill this deficiency. Developed library has ability to beintegrated to all HTML5 games independently from game engine and to add artificial intelligence dynamics to thesegames.

___

  • [1] J. Wexler, «Artificial Intelligence in Games: A look at the smarts behind Lionhead Studio’s “Black and White” and where it can and will go in the future,» 2002. [Çevrimiçi]. Available: http://www.cs.rochester.edu/~brown/242/assts/termprojs/games.pdf. [%1 tarihinde erişilmiştir19 April 2016].
  • [2] Z. Middleton, «Case History: The Evolution of Artificial Intelligence in Computer Games,» 2002. [Çevrimiçi]. Available: http://web.stanford.edu/group/htgg/sts145papers/zmiddleton_2002_1.pdf. [Accessed 19 04 2016].
  • [3] M. Stall, «My baby, the finite state machine,» 2006. [Çevrimiçi]. Available: http://blogs.msdn.com/b/jmstall/archive/2006/09/13/baby-state-machine.aspx. [Accessed 21 04 2016].
  • [4] B. Schwab, AI game engine programming, Boston, Massachusetts: Cengage Learning, 2009.
  • [5] P. Lubbers, B. Albers ve F. Salim, Pro HTML5 programming, New York: Apress, 2011.
  • [6] A. Freeman, The Definitive Guide to HTML5, New York: Apress, 2011.
  • [7] T. Parisi, WebGL: up and running, California: O'Reilly Media, 2012.
  • [8] S. Rabin, AI Game Programming Wisdom, Newton Centre: Charles River Media, 2002.
  • [9] K. Compton and M. Mateas, "Procedural Level Design for Platform Games," in In Proceedings Of The Second Artificial Intelligence And Interactive Digital Entertainment Conference, California, 2006.
  • [10] D. Beirne, "Racing Game AI: An Investigation into AI Techniques for Motorsport Simulation Games," 2007. [Online]. Available: http://www.mygamedemos.com/Abertay/David%20Beirne%20CS%201130A%20Artificial%20Intelligence%20for%20Games%20-%20Racing%20Game%20AI.pdf. [Accessed 21 04 2016].
  • [11] J. Gordon, «A finite state machine javascript micro framework. Github Repository,» 2011. [Çevrimiçi]. Available: https://github.com/jakesgordon/javascript-state-machine. [Accessed 21 04 2016].
  • [12] J. Cowart, «js ex machina - finite state machines in JavaScript. Github Repository,» 2012. [Çevrimiçi]. Available: https://github.com/ifandelse/machina.js. [Accessed 21 04 2016].
  • [13] X. Xu, «A comprehensive path-finding library for grid based games. Github Repository,» 2011. [Çevrimiçi]. Available: https://github.com/qiao/PathFinding.js. [Accessed 21 04 2016].
  • [14] A. Subagio, Learning Construct 2: Design and create your own engaging, extensible and addictive game using Construct 2, Birmingham: Packt Publishing, 2014.
  • [15] D. Cielen ve A. Meysman, HTML5 Game Development with ImpactJS: A step-by-step guide to developing your own 2D games, Birmingham: Packt Publishing, 2013.
  • [16] B. Bibat, "HTML 5 Shoot’em Up in an Afternoon: Learn (or teach) the basics of Game Programming with this free Phaser tutorial," 2014. [Online]. Available: https://leanpub.com/html5shootemupinanafternoon/read. [Accessed 21 04 2016].
  • [17] P. Kashyap, «Investigation into the use of HTML 5 game engines to create a responsive social educational game for children,» 2015. [Çevrimiçi]. Available: https://espace.cdu.edu.au/eserv/cdu:46185/Thesis_CDU_46185_Kashyap_P.pdf. [Accessed 21 04 2016].
  • [18] B. McInnis, R. Shimizu, H. Furukawa, R. Fushimi, R. Tanaka ve K. Kratzer, HTML5 Game Programming with enchant.js, New York: Apress, 2013.
  • [19] B. Uslu, «DignityAI - AI Library for HTML5 Games. Github Repository,» 2015. [Çevrimiçi]. Available: https://github.com/berkanuslu/dignityai. [Accessed 21 04 2016].
  • [20] B. Uslu, «DignityAI Demo 1: Tanx AI. Github Repository,» 2015. [Çevrimiçi]. Available: https://github.com/berkanuslu/dignity_tank. [Accessed 21 04 2016].