| 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.