Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
readme.txt | 2013-02-28 | 3.2 kB | |
openmc-src-0.1.zip | 2013-02-28 | 16.0 MB | |
SampleWorld.zip | 2013-02-28 | 1.5 MB | |
openmc-tomcat-sql.war | 2013-02-28 | 9.4 MB | |
openmc-tomcat-hibernate-sql.war | 2013-02-28 | 9.4 MB | |
openmc-gae-datastore.war | 2013-02-28 | 15.8 MB | |
Totals: 6 Items | 52.0 MB | 0 |
OpenMC ====== A Free OpenSource WebGL MineCraft implementation. OpenMC server runs on Tomcat/MySQL or Google AppEngine (GAE). GAE is supported with Hibernate ($$$) or datastore (Free) storage. GAE import may not work since it relies on Apache Commons FileUpload which is not supported. Try a demo at http://openmcdemo.appspot.com (login as demo/demo) Features: - import offical MC levels in ZIP format - supports offical MC v1.4.x texture packs - Runs in any WebGL compatible browser that also supports mouse locking - Chrome works - Firefox should work but doesn't yet (mouse locking issue) - IE - not a chance - Opera - not tested - Safari - not tested - can load basic worlds, no mobs yet, some basic crafting - new chunks generated currently use a VERY simple algorithim (anyone reverse engineered the offical one yet?) Todo: - proper lighting - mobs, items, etc. - too much to list here Installation (Tomcat): - install Tomcat/MySQL first (leave root password blank) - copy WAR file to Tomcat's webapps folder - open http://localhost/openmc to get started (login as admin/admin) Installation (GAE): - extract WAR file into temp folder - edit WEB-INF/appengine.xml and change application id - execute "appcfg update ." - open http://your_id.appspot.com/ to get started (login as admin/admin) Thanks to: - minecraftwiki.net - for file formats, data values, etc. - learningwebgl.com - WebGL tutorials - nehe.gamedev.net - NeHe OpenGL tutorials - ? - for Minecraft Texture packs By : Peter Quiring (pquiring at gmail dot com) URL : http://openmcwebgl.sf.net Dev Notes: - This is my THIRD attempt to create a Minecraft clone. I tried first in Flash 3D (molehill) but the API was just too slow after a dozen or so chunks were loaded. I was able to get basic crafting started. Then again in C++/Direct3D but it's been so long since I used C++ it's become painful. I almost gave up on this attempt but after fighting with Chrome I finally got acceptable performance. - It seems like glMatrix.js and OpenGL use opposite handed rotations (left handed vs right handed) - I learned Hibernate in 2 days just for this project. - I originally was going to use different texture files so I remapped all data values but it would have costed 4x more drawElement() calls so I decided to use MC 1.4.x texture maps as is but still changed the data value IDs to ease the game logic. Not sure if that was a good idea or not. - Which datastore is faster ? Currently it seems as though Hibernate is faster because it uses connection pools, although it causes Tomcat to crash a lot when you load new WAR files, and still has problems with connection timeouts. So I suggest just plain old SQL in a dev environment. Hibernate uses c3p0 which I've used in the past, and in my previous projects it would crash tomcat after running for a month, so I switched to direct SQL and stopped having issues. c3p0 is not designed for prod environments (hibernate's website even claims this). GAE is by far the slowest. - Since the game runs on a webapp, creating a multi-user environment should be easy.