Archive for January, 2011

Games as Applets 2

Friday, January 21st, 2011

Talking with kappaOne, one of the LWJGL developers, he pointed us that our applet solution has one problem. When js is disabled or it has failed to load, then the applet tag is not written, then the game is not loaded.

In order to fix this problem, we adopted part of his solution. He always creates the applet tag for the game and then hides it using js. If for some reason js fails, then the applet starts automatically.

The new html needed looks like this:

Html:

  
<div id="applet" class="applet" align="center">
	<applet id="gameApplet" width="800" height="600" code="com.gemserk.games.appletverifier.AppletVerifier" archive="http://www.gemserk.com/appletverifier-0.0.1-SNAPSHOT.jar">
		<param name="jnlp_href" value="http://www.gemserk.com/prototipos/zombierockers-webstart-release/launch-applet.jnlp" >
	</applet>
</div>

And this is the modified js with a merge between his solution and ours:

Javascript:

  
var width="800";
var height="600";
var jnlp_href="http://www.gemserk.com/prototipos/zombierockers-webstart-release/launch-applet.jnlp";
var screenshotUrl="http://blog.gemserk.com/wp-content/uploads/2010/12/zombierockers-screenshot01.jpg";
var appletTag;

var requiredVersion = '1.6.0_10+'
var attributes = { code:'com.gemserk.games.appletverifier.AppletVerifier',  width:width, height:height} ; 
var parameters = {jnlp_href: jnlp_href}; 

hideApplet(); 

function hideApplet(){
	var appletbox=document.getElementById('applet');
		appletTag = appletbox.innerHTML;

	if (navigator.appName == 'Microsoft Internet Explorer') {
		var params = "";
		var p = appletbox.getElementsByTagName("PARAM");
		for(var i=0; i < p.length; i++) {
			params += p[i].outerHTML;
		}
		appletTag = appletTag.replace("</APPLET>", params+"</APPLET>");
	}

	var isRequiredVersion = deployJava.versionCheck(requiredVersion);
	var text = ""
	var callback = ""

	if (isRequiredVersion) {
		text = "Click to play"
		callback = "showApplet()"
	} else {
		text = "You don't have java plugin enabled, click to install"
		callback = "installJava(\'" + requiredVersion + "\')"
	}

	// adds the screenshot inside the applet div
	var screenshotDivHtml = "<div id=\"screenshot\" class=\"play\" onclick=\""+callback+"\" style=\"width:"+width+"px; height:"+height+"px;\">";
	screenshotDivHtml += "<span>"+text+"</span>";
	screenshotDivHtml += "<img id=\"screenshotImage\" src=\""+screenshotUrl+"\" alt=\""+text+"\" width=\""+width+"px\" height=\""+height+"px\">"+"</img>";
	screenshotDivHtml += "</div>";

	appletbox.innerHTML=screenshotDivHtml;
}

function showApplet(){
	var appletbox=document.getElementById('applet');
	appletbox.innerHTML = appletTag;
}

function installJava(version) { 
	deployJava.installJRE(version);
}

You can see a working example here.

Thats all.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Ludum Dare 19 Results

Thursday, January 13th, 2011

Well, Ludum Dare 19 is finished, obviously Discover the Way didn't won any category, but at least we have some feedback.

The game made position 58 of 133, this is its rating:

Inn Fun The Gra Aud Hum Ove Com
3 3 3 4 2 - 3 -
2 3 2 3 2 2 3 5
4 3 2 3 2 2 3 3
3 3 2 3 3 - 3 3
2 1 1 3 1 1 2 -
3 4 5 3 - 2 4 5
2 2 2 3 2 1 2 -
2 3 2 4 2 1 3 4
3 3 1 3 3 - 3 3
4 5 3 4 3 1 4 3
2 2 1 3 3 - 3 3
3 3 2 3 2 2 3 2
3 3 2 3 3 - 3 3
3 1 1 3 2 - 2 2
3 3 3 3 2 - 3 4
4 2 4 4 4 - 3 4
2.88 2.75 2.25 3.25 2.40 1.50 2.94 3.38

Follow the link to the game page at the contest if you want to see users comments, remember though that people rated the first version which was not polished nor balanced enough.

Here you can see all Ludum Dare 19 results.

Some final thoughts:

First of all, I really liked the idea of the game, but on the other hand I knew it wasn't going to win. However, I believe I made some mistakes that made the game have a worse rating.

The first mistake was the name, I named the game Discover the Name because I had no game by that moment, I was deciding what to do and though it was a funny name. After realizing the main objective was to discover a safe path between two points, then I thought to change the name to Discover the Way or Discover the Path, to give the player an idea of what he has to do, but I didn't. That caused confusion to the players because they were expecting they have to discover a hidden name, not a hidden path.

Another mistake was to be to lazy to make some balance to the game before the contest ends, I finished the game about 2hs before but I was tired so I entered that version. The day after, I took less than 1hr to balance it a bit, and the game changed a lot, it became more playable and it gave more importance to the main objective because the player couldn't take shortcuts to the targets any more, he has to discover a safe path, that is the real relation to the contest Theme (Discovery).

The third mistake, less important than the others was to remove the gameplay video from the game's page. The game's entry allow contestants to put only 5 links. At fist I put a link to the game, to the source code, a link to our blog, a link to the a gameplay video and a link to the jam version of the game, but after I uploaded the timelapse video to youtube I had to remove one of the links and the gameplay video seemed to be the best choice because I had a link to it inside our blog. That was a mistake because new players watched the gameplay video to see what they have to do in the game, it was some kind of tutorial, without it players felt disoriented.

I made a short postmortem at Ludum Dare's blog, follow the link if you want to read it.

That's all, thanks for reading.

UPDATE: added game position and updated link to Ludum Dare 19 results in order.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)