tinyMMO

This is my entry for TIGSource Assemblee.

It is a browser MMORPG with a javascript client and java server. Why javascript? I wanted to see if it was possible. A java client would have given me much better results but using javascript and ajax actually turned out okay.

tinyMMO

Cute :slight_smile: Lag was horrible (typing something it took about 20 sec until I saw it myself), same goes for attacking, I had no idea if I was actually attacking or not. People were teleporting around and when entering the first cave to the east the game reloaded and I was again on the same map (until one time when all I got was a gray screen and I couldn’t do anything).

My error console is filled with about a hundred: arPlayers[strPlayerName] is undefined

Latency said about 1-2 seconds but it seemed like a lot more.

Mike

That’s weird. Can you tell me your OS/browser?

I can’t fix it until after the judging, though. The competition time is up.

It’s pretty cool, but I agree that it’s a bit laggy (I had about 800-2000 ping) and it seemed kind of buggy as a wizard (refused to shoot spells a lot of the time for whatever reason, even though I appeared to have mana and a target).

same here, was running really slowly for me, thought it might be javascript then noticed the 2000+ ping.

Vista + Chrome

XP SP2 and Firefox 3.5.7

Worked ok but entered some case and it crashed.

[quote]type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /GameMap.jsp at line 46

43: var bChatMode;
44: var strChatMessage = “”;
45: var currentTarget;
46: var strMapLayer0 = “<%=zone.getMapLayer0()%>”;
47: var strMapImpassible = “<%=zone.getMapImpassible()%>”;
48: var strMapObjects = “<%=zone.getMapObjects()%>”;
49: var strZone = “<%=zone.name%>”;

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause

java.lang.NullPointerException
org.apache.jsp.GameMap_jsp._jspService(GameMap_jsp.java:96)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
[/quote]

That is way cool!
Even though it does get a bit laggy, its a very nice start. That is definitely something worlth building on!

Good job!

Thanks!

I wrote this game as an experiment in using Javascript for graphics and networking. Its gotten a lot of positive feedback except for the horrible lag. I was originally intending to put in tons more content with my NPC scripting engine but I ran out of time before the competition ended.

I am thinking of porting it to the Google App Engine. I can only imagine the server performance would be much better and the hosting is free. My current host (MochaHost) is constantly experiencing slow response times, which is death to a game that relies on HTTP as a networking protocol.

Has anyone had positive or negative experiences with Google App Engine? I know I would have to rewrite part of the server since they don’t support threading or file writes but its not very complicated so it wouldn’t take much.

As I recall Sticken Wars used HTTP on Google App Engine, didn’t it? Or maybe I’m wrong.

Indeed, but the multiplayer games going out of sync pretty much ruined it :-\

I moved it to Google Apps. So far it seems to be much more responsive.

http://tinymmo.appspot.com/login.jsp

umm, well, I could walk around.

couldnt kill anything :P.

in the inn there was like 2000 latency, but way less outside…

pretty cool though, amazing what you can do with simple javascript