HTML5 Games/BananaBread: Difference between revisions

m
 
(20 intermediate revisions by 2 users not shown)
Line 3: Line 3:
Make an HTML5 first person shooter by porting the Sauerbraten code to JavaScript along with new web-optimized art assets.
Make an HTML5 first person shooter by porting the Sauerbraten code to JavaScript along with new web-optimized art assets.


Note: Milestone 1 was completed successfully, the docs on this page may be out of date. See the project site in the links at the bottom for more current stuff.
==Status==


=Milestone Two=
* Milestone 3 is slated to get underway on the 28th of January.


==Requirements==
* Milestone 2 is currently underway, progress has been rapid and we expect to have a working demo in the near future.
** Video of BananaBread working over WebRTC: [http://vimeo.com/57658941 Vimeo Video]
 
* Milestone 1 was completed successfully, the docs on this page may be out of date. See the project site in the links at the bottom for more current stuff.
 
=Milestone Three=
 
==Functional Requirements==
 
* Firefox Android support on high end phones
* Touch Interface Support
 
==Duration==
 
This is very hard to predict at the moment as there are significant potential challenges to getting this to work on Mobile.
 
==Resource Requirements==
 
* Alon Zakai (?)
** Will need to be working for the duration of the project on trouble shooting and optimizing Emscripten.
* Vladimir Vukicevic (?)
** Vlad will be focused on solving platform performance and blocking issues to making this work.
 
==Specific Tasks==
 
* Test port in Firefox Android and determine major blocking issues.
* Review project plan at this point and determine more specific tasks.
* Will need to design and develop a touch interface for the game.
* ?
* Finish web dev on master server and interfaces to game engine.
* Work with marketing ahead of time to make a plan for launch.
* Video in HD.
 
==Dependencies==
 
* None currently, project is slated to begin on the 28th of January when Vlad returns from vacation.
 
==Benefits==
 
* Show viability of 3D on mobile.
* Improve the platform to better support games on mobile.
 
==Risks==
 
* This is a really hard challenge and it is expected that a lot of work will have to go into the platform as a result.  As the this risk is also a key reason to attempt the project, there is no way to mitigate it.  Time frame for this projects success is unknown as a result.
 
=Milestone Two - Completed=
 
==Functional Requirements==


* Multiplayer gameplay
* Multiplayer gameplay
Line 14: Line 62:
* Two new levels
* Two new levels
** A larger map for 6 players to play capture-the-flag
** A larger map for 6 players to play capture-the-flag
==Duration==
2 months, WebRTC is still a pretty big unknown, will need to re-estimate once WebRTC connection is confirmed to work for the use case.


==Resource Requirements==
==Resource Requirements==


TBD after completion of Miletone One.
* Alon Zakai (2 Months)
** Will need to be working for the duration of the project on trouble shooting and optimizing Emscripten.
* Gregor Koch (2 months)
** Create game maps (worlds inside which play takes place) and texture sets for the maps.
* Alan Kligman (1 month)
** Alan is working on the WebRTC matching server and client side implementation.
* Web Developer (2-4 weeks)
 
==Specific Tasks==
* Set up testing environment - two browsers that can connect to each other. Preferably on the same machine
* Get the engine's networking layer to work over WebRTC
* Connect clients using master server in a simple way
* Develop art: new levels and pickups
* Finish web dev on master server and interfaces to game engine
* Work with marketing ahead of time to make a plan for launch
* Video in HD


==Dependencies==
==Dependencies==


* WebRTC, which allows UDP sockets to be used, crucial for responsive network play
* WebRTC, which allows UDP sockets to be used, crucial for responsive network play
* Needs Milestone one, but not two.
 
==Benefits==
 
* Test WebRTC
* Be the first to demo WebRTC games and drive that
* Prove even peer to peer multiplayer games work on the web
* Shows that fast network communication is now possible
 
==Risks==
 
* WebRTC UDP sockets not landing, or staying landed
** Mitigation: Not start until this is done
** This is now done!
* WebRTC UDP sockets behaving oddly or restricted in some manner, or otherwise cannot implement UDP sockets like the game engine expects
** Mitigation: Investigate early to insure the solution will work for the project, we won't start art or master server until we have better insight


=Milestone One - Completed=
=Milestone One - Completed=
Line 91: Line 172:
=Reference Links=
=Reference Links=


* BananaBread Release Site: https://developer.mozilla.org/en-US/demos/detail/bananabread
* BananaBread github page: https://github.com/kripken/BananaBread
* BananaBread github page: https://github.com/kripken/BananaBread
* Sauerbraten/Cube 2: http://sauerbraten.org/
* Sauerbraten/Cube 2: http://sauerbraten.org/
* Mandreel tech demo: http://dl.dropbox.com/u/6873971/data/cube2/index.html
* Mandreel tech demo: http://dl.dropbox.com/u/6873971/data/cube2/index.html
Confirmed users
855

edits