Sign in to follow this  
niklas_a

[web] Web-based real-time MMORPG

Recommended Posts

Hi, I have some thoughts around creating a web-based real-time browser based MMORPG. Not a full featured MMO but something simple as a proof-of-concept. Does any have any examples of other similar projects? I know alot of turn-based games but this is not really what I am looking for here. Thanks! BR Nick

Share this post


Link to post
Share on other sites
postred something similar at the other gamedev site but fits here

I am currently building a Web Based mmo using PHP and Mysql, I recently added ajax and javascript though

Forsaken sanctum is a browser based MMORPG. It features a 99% player run enviroment and economy. Players build all shops, houses, towns, weapons, armor, items, ect. The only thing that is in the game is materials from which all things are made.
I have written the engine from the ground up using PHP, javascript, Ajax, HTML, and MYSQL. Its still a WIP as is all the screen shown. Its actually a second generation engine, the first is still live in beta but will be replaced by the new engine within the next month or two as we move to beta 3.0.
I recently finished the mapping system, it consists of over 16,000 maps in which the players can build on, buy, and even grow plants for harvesting.


(building a shop)

combat pics are place holders


a test showing how players can build shops anywhere


I had it where the players could move around with the wasd keys but it just didnt fit the style very well.

javascript and ajax works great for this as you can built descent sized maps and load them real time like zones but faster. This is a different version of the map and travel system I was testing




do these forums not allow pics? or is it just because I do not have enough posts yet? regardless follow links to screens.

[Edited by - Hallsofvallhalla on June 3, 2009 9:37:17 AM]

Share this post


Link to post
Share on other sites
Quote:
Original post by Hallsofvallhalla
do these forums not allow pics? or is it just because I do not have enough posts yet? regardless follow links to screens.


These forums uses HTML for links and images, so just use normal <img> tags.

Share this post


Link to post
Share on other sites
I was looking for similar things last month and found Queville as an example of a real-time browser-based MMO using AJAX.

It's the only one I've come across so far.

It's worth looking at gTile too, which is a nice looking javascript tile engine (not multiplayer though).

Share this post


Link to post
Share on other sites
sorry to double post but I made a small example of ajax and movement. It uses WASD keys, I only spent about 30 minutes on it and only tested it in firefox but all movement is updated and saved to the database, I havent gotten it to show other players yet but with a little time I will. Maybe someone here has a tip on how to do it the best way

Ajax Test

you have to register but thats only for a session id and a player. Its just a username and password. Nothing more.

Share this post


Link to post
Share on other sites
Heh, I knew this was possible theoretically with javascript but actually seeing it is something else. Unfortunately, click-festing the WASD buttons will probably give peope cramps before they level up once. Maybe "press once and keep going, press again to stop" or something along those lines would be a better control mechanic, but that will be more difficult to implement.

Share this post


Link to post
Share on other sites
[quote name='cbotman' timestamp='1243947096' post='4466631']
I was looking for similar things last month and found [url="http://queville.com/"]Queville[/url] as an example of a real-time browser-based MMO using AJAX.

It's the only one I've come across so far.
[/quote]

As author of said Queville, I can tell you that what you seek is AJAX ... that means JavaScript and DHTML ... plus something for the server, such as PHP or Perl. I use Perl because I believe it to be faster at handling flat files (could be wrong, either way doesn't really matter).

You can use the "hidden iframe trick" for AJAX, which allows you to run javascript directly from your server ... or you can use XMLHttpRequest and let your client decode the data. In other words, print "parent.variable=1; " executes from an iframe ... but if your using the XMLHttpRequest method, you can only download data from your server which your client must then process. Queville has always used the iframe trick, but I am about to use both ... the game server will run in the iframe, while a new chat server will run in the XMLHttpRequest.

It's actually ironic ... when I first started writing Queville (which was called Fordana at the time) ... there was a big anti-javascript movement going on, and the phrase AJAX wasn't even coined. I made a post somewhere asking about it and was told it was not possible. A month later gMail went live. It's nice to see someone else making a similar post years later, only instead of being told it's not possible ... I see my work as a leading example. [proud look]

-Joe

http://queville.com

Share this post


Link to post
Share on other sites
Good work Quintrix and way to be innovative. It's people like you that move the gaming industry in new directions.

If you are starting from scratch, I highly recommend looking at using Node.js for your game engine. Add in Socket.IO and you have a real-time, bi-directional communication channel that you leverage to make very fast web-based games.

You can then do all your programming in JavaScript (both for the client and the server) and you'll have built-in scripting language. :)

Performance wise, Server-Side JavaScript has come a very long way in a very short period of time, thanks to the speed battle between Google and Mozilla.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this