Download Latest Version openmc-bin-0.20-win32-cygwin.zip (1.4 MB)
Email in envelope

Get an email when there's a new version of OpenMC

Home / source / version 0.1
Name Modified Size InfoDownloads / 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.

Source: readme.txt, updated 2013-02-28