CS298 Proposal

JavaScript Game Engine for Mobile using HTML5

nakul Natu (nakul.natu@gmail.com)

Advisor: Dr. Chris Pollett

Committee Members: Dr. Teoh ,Mr. Anirudha Shinde.

Abstract:

The goal of this project is to develop a mobile JavaScript game engine which uses HTML5. We will be able to create platform independent mobile games using this engine. To achieve game persistence, HTML5 local storage will be used. The created games will be stored on the desktop of the device in the form of a data URL, and this can be clicked just like a native app. When the user launches the data URL, the game will open in a browser but the user will feel he is in a native app. The data URL contains the complete game. HTML5 has many restrictions on use of local storage, connecting it to the data URL will be a really challenging aspect of this project. I will also provide test games created using the engine to support my project.

CS297 Results

  • Created a simple JavaScript game Pong for mobile device and also created its data URL.
  • Studied existing game engine by developing a small game "Flower Picker" using "Crafty".
  • Added high score functionality to the game using HTML5 local storage.
  • Checked for different ways to give game native app look by connecting data URL and html5 local storage.

Proposed Schedule

Week 1 - 2: 01/25/2012 - 02/07/2012CS298 Proposal
Week 3: 02/08/2012 - 02/14/2012Decide game engine spec
Week 4 - 5: 02/15/2012 - 02/28/2012Design and start coding for game engine - Deliverable_1
Week 6 - 7: 03/01/2012 - 03/14/2012Code game engine with some functionality
Week 8 -9: 03/15/2012 - 03/28/2012Finish game engine coding and start testing - Deliverable_2
Week 10: 03/29/2012 - 04/11/2012Create a test game and finish testing - Deliverable_3
Week 11 - 12: 04/12/2012 - 04/25/2012Start writing CS298 report and fix bugs
Week 13: 04/26/2012 - 05/02/2012Finish the report
Week 14 - 15: 05/03/2012 - 05/16/2012Prepare for oral defense and presentation

Key Deliverables:

  • Software
    • Deliverable_1 : Game engine design document
    • Deliverable_2 : JavaScript Game Engine
    • Deliverable_3 : Test Game created with the engine
  • Report
    • CS298 Report

Innovations and Challenges

  • Game engine is based on JavaScript and HTML5, hence we can create portable games. We don't need to write different code for different mobile devices. It will be challenging to take into account different browsers and operating systems while writing the game engine.
  • Game created will be accessible same as native app. User will not feel anything different. But it is difficult to connect data URL or bookmarklet to local storage.

References:

[MARK2009] Dive Into HTML5. Mark Pilgrim. http://diveintohtml5.org/. 2009.

[RICK2010] Developing portable mobile web applications. Rick Rogers. Linux Journal Volume 2010 Issue 197. 2010.

[JORG2011] Collaborative framework for browser games development. In proceedings of the 2011 Workshop on Open Source and Design of Communication. 2011

[LMAS1998] RFC2397 : The "data" URL scheme. L. Masinter. IETF. August 1998