Browser-based MMORPG

Started by
25 comments, last by Hodgman 17 years, 1 month ago
Hello everybody, I'm from France and I want to study art and become a game-designer.

I know there are loads of people around here who are all like "hey I'm gonna make the best MMORPG ever just tell me where I can download an MMORPG-maker" but I hope I'm not like those.
Well here we go : I want to create an MMORPG, playable in the browser, using PHP and MySQL and stuffs. I can learn a language quite fast, I can code in HTML, CSS, &#106avascript and I used to make games in Basic. Now I'm learning PHP and MySQL and I don't know where I should start if I want to make a simple MMORPG... Can you please give me some hints ?
My game will be about a heroic-fantasy world (yes I know, that's so original) with a map with tiles, an inventory, and buildings built by players themselves (they'll need skills and wood/stone/whatever) - of course if that's a bit more than I can swallow I'll make something easier. The "special feeling" that'll make it cool is the graphics : I'm pretty skilled at Photoshop (you can look at my work here - I did it for an MMORPG where I'm only a player, and it has been implemented ^^) - BTW if anyone needs some game designer (not 3D) I can do it (if I can earn a few bucks it sure would be better !).
Advertisement
What I would recommend is learning the basics of Object Oriented Programming (OOP). It's all about building large applications which consists of small block or objects. Let me give you a small example:

Let's say you have a few objects; Game, Database, Player etc.

The Game-object holds methods that control the game-logic. The Database-object containts methods to communicate with the database and the Player-object has all the information about the player(s).

I hope this tutorial will give you a better idea of what OOP is:

http://www.sitepoint.com/article/php-paging-result-sets

Now if you're wondering why you should bother building an OOP-framework for a game, the answer is simple. Because you're building with buildingblocks, it will be much simpler to add functionality, to maintain the code and to understand how it works. The buildingblocks are classes (which PHP supports) which contain everything that the object needs.

When you have the essential buildingblocks (classes) ready you can then make another class which starts the game and organizes the flow of the program. Now it may sound really complicated, but when you understand OOP you'll realize that it's perfectly suited for a MMORPG-application.

Conclusion: I think it would be best if you learn some OOP and build your application class by class. If you're not familiar with OOP it will be a bit more difficult when you start out, but once you know how to use it well, it will make your life so much easier ;)

Good luck!
Quote:Original post by Orteil
Hello everybody, I'm from France and I want to study art and become a game-designer.


Lots of people seem to want to become a game designer, or at least think they do. Game design isn't really what most people think it is, though.

Quote:I know there are loads of people around here who are all like "hey I'm gonna make the best MMORPG ever just tell me where I can download an MMORPG-maker" but I hope I'm not like those.


Well, you're not posting in Help Wanted, so that's a start...

Quote:Well here we go : I want to create an MMORPG, playable in the browser, using PHP and MySQL and stuffs. I can learn a language quite fast, I can code in HTML, CSS, &#106avascript and I used to make games in Basic. Now I'm learning PHP and MySQL and I don't know where I should start if I want to make a simple MMORPG... Can you please give me some hints ?


None of these technologies are really appropriate or relevant to MMORPG creation, except MySQL. If they were, you could find an example of an existing MMORPG using them ;) But consider, for example: what's the most advanced &#106avascript usage you've seen &#111;n a webpage before? Now, compare that to what an MMORPG does &#111;n the client side - rendering 3D graphics at &gt;30 FPS. See the mismatch? :) &#106avascript and PHP are really mostly intended for minor manipulations of HTML, and HTML and CSS in turn don't even really count as programming languages - you can't *calculate* anything with HTML; it just describes how to present text. (Hint: it stands for HyperText *Markup* Language).<br><br><!--QUOTE--><BLOCKQUOTE><span class="smallfont">Quote:</span><table border=0 cellpadding=4 cellspacing=0 width="95%"><tr><td class=quote><!--/QUOTE--><!--STARTQUOTE-->My game will be about a heroic-fantasy world (yes I know, that's so original) with a map with tiles, an inventory, and buildings built by players themselves (they'll need skills and wood/stone/whatever)<!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br><br>In addition to being sarcastically "so original", this doesn't really describe anything. Of course you would need those things at least - I think you underestimate, by several orders of magnitude, just how many things would need to be decided for an MMORPG. You've barely described enough to *start* working &#111;n a *single-player* desktop game, hoping to work it out as you go along.<br><br>Hint: MMORPG stands for Massively Multiplayer &#79;nline Role Playing Game.<br><br>Putting something &#79;nline adds a whole other degree of complexity to something. Learn how to make something that works &#111;n &#111;ne computer first.<br><br>Making something Multiplayer adds a whole other degree of complexity to something. Learn how to make something that works for &#111;ne player first.<br><br>Making something Massive obviously is harder than not doing so ;) And it tends to interact badly with the &#79;nline idea, too. There are huge amounts of technological research that go into making these systems work.<br><br>Put bluntly: MMORPGs are developed by teams of tens to hundreds of people, funded by tens of millions of dollars, over a period best measured in years. This is why it's impossible not to be "like those other MMORPG-maker wannabes", except by giving up the idea entirely. To make it manageable by &#111;ne person - even &#111;ne of the most talented in the world - requires cutting the scale down so much that it can't possibly be called an MMORPG any more.<br><br><!--QUOTE--><BLOCKQUOTE><span class="smallfont">Quote:</span><table border=0 cellpadding=4 cellspacing=0 width="95%"><tr><td class=quote><!--/QUOTE--><!--STARTQUOTE-->of course if that's a bit more than I can swallow I'll make something easier. The "special feeling" that'll make it cool is the graphics : I'm pretty skilled at Photoshop (you can look at my work <a href="http://u-blog.net/guilds/article/tiipsi">here</a> - I did it for an MMORPG where I'm &#111;nly a player, and it has been implemented ^^)<!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br><br>There is plenty of demand in the industry for artists, you know. If you have talent as an artist, there is no reason you should feel the need to prove yourself as either a programmer or a designer. Almost everyone is really good at something - noone's really good at everything.<br><br><!--QUOTE--><BLOCKQUOTE><span class="smallfont">Quote:</span><table border=0 cellpadding=4 cellspacing=0 width="95%"><tr><td class=quote><!--/QUOTE--><!--STARTQUOTE-->- BTW if anyone needs some game designer (not 3D) I can do it (if I can earn a few bucks it sure would be better !).<!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br><br>What do you mean "not 3D"? Graphics have hardly anything to do with the game design. Game design is about "what happens" in varying circumstances while playing the game.
Quote:Original post by Zahlman
Quote:Original post by Orteil
Hello everybody, I'm from France and I want to study art and become a game-designer.


Lots of people seem to want to become a game designer, or at least think they do. Game design isn't really what most people think it is, though.

Quote:I know there are loads of people around here who are all like "hey I'm gonna make the best MMORPG ever just tell me where I can download an MMORPG-maker" but I hope I'm not like those.


Well, you're not posting in Help Wanted, so that's a start...

Quote:Well here we go : I want to create an MMORPG, playable in the browser, using PHP and MySQL and stuffs. I can learn a language quite fast, I can code in HTML, CSS, &#106avascript and I used to make games in Basic. Now I'm learning PHP and MySQL and I don't know where I should start if I want to make a simple MMORPG... Can you please give me some hints ?


None of these technologies are really appropriate or relevant to MMORPG creation, except MySQL. If they were, you could find an example of an existing MMORPG using them ;) But consider, for example: what's the most advanced &#106avascript usage you've seen &#111;n a webpage before? Now, compare that to what an MMORPG does &#111;n the client side - rendering 3D graphics at &gt;30 FPS. See the mismatch? :) &#106avascript and PHP are really mostly intended for minor manipulations of HTML, and HTML and CSS in turn don't even really count as programming languages - you can't *calculate* anything with HTML; it just describes how to present text. (Hint: it stands for HyperText *Markup* Language).<br><br><!--QUOTE--><BLOCKQUOTE><span class="smallfont">Quote:</span><table border=0 cellpadding=4 cellspacing=0 width="95%"><tr><td class=quote><!--/QUOTE--><!--STARTQUOTE-->My game will be about a heroic-fantasy world (yes I know, that's so original) with a map with tiles, an inventory, and buildings built by players themselves (they'll need skills and wood/stone/whatever)<!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br><br>In addition to being sarcastically "so original", this doesn't really describe anything. Of course you would need those things at least - I think you underestimate, by several orders of magnitude, just how many things would need to be decided for an MMORPG. You've barely described enough to *start* working &#111;n a *single-player* desktop game, hoping to work it out as you go along.<br><br>Hint: MMORPG stands for Massively Multiplayer &#79;nline Role Playing Game.<br><br>Putting something &#79;nline adds a whole other degree of complexity to something. Learn how to make something that works &#111;n &#111;ne computer first.<br><br>Making something Multiplayer adds a whole other degree of complexity to something. Learn how to make something that works for &#111;ne player first.<br><br>Making something Massive obviously is harder than not doing so ;) And it tends to interact badly with the &#79;nline idea, too. There are huge amounts of technological research that go into making these systems work.<br><br>Put bluntly: MMORPGs are developed by teams of tens to hundreds of people, funded by tens of millions of dollars, over a period best measured in years. This is why it's impossible not to be "like those other MMORPG-maker wannabes", except by giving up the idea entirely. To make it manageable by &#111;ne person - even &#111;ne of the most talented in the world - requires cutting the scale down so much that it can't possibly be called an MMORPG any more.<br><br><!--QUOTE--><BLOCKQUOTE><span class="smallfont">Quote:</span><table border=0 cellpadding=4 cellspacing=0 width="95%"><tr><td class=quote><!--/QUOTE--><!--STARTQUOTE-->of course if that's a bit more than I can swallow I'll make something easier. The "special feeling" that'll make it cool is the graphics : I'm pretty skilled at Photoshop (you can look at my work <a href="http://u-blog.net/guilds/article/tiipsi">here</a> - I did it for an MMORPG where I'm &#111;nly a player, and it has been implemented ^^)<!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br><br>There is plenty of demand in the industry for artists, you know. If you have talent as an artist, there is no reason you should feel the need to prove yourself as either a programmer or a designer. Almost everyone is really good at something - noone's really good at everything.<br><br><!--QUOTE--><BLOCKQUOTE><span class="smallfont">Quote:</span><table border=0 cellpadding=4 cellspacing=0 width="95%"><tr><td class=quote><!--/QUOTE--><!--STARTQUOTE-->- BTW if anyone needs some game designer (not 3D) I can do it (if I can earn a few bucks it sure would be better !).<!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br><br>What do you mean "not 3D"? Graphics have hardly anything to do with the game design. Game design is about "what happens" in varying circumstances while playing the game.<!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br><br>Could you maybe chill out? Youre being far more sarcastic and rude than you have to be. If you are sick of answering questions then please dont answer them because being rude isnt helping anybody.
Quote:Original post by Talus057
Could you maybe chill out?


I am perfectly chilled out.

Quote:Youre being far more sarcastic


I have said nothing sarcastic.

Quote:and rude than you have to be.


I am not being rude. I am being blunt; there is a difference. I do not wish to waste the OP's time by imagining a slight hope for what is actually impossible.

Quote:If you are sick of answering questions


I am certainly not sick of answering questions; I do tire of seeing certain questions on occasion, but I do leave things alone when I don't feel up to the task of an accurate reply.

Quote:then please dont answer them because being rude isnt helping anybody.


I don't like to "pull rank", but my rating - established gradually over my years as a member of the forums - seems to indicate that a majority of people find me helpful and not rude.
Hi Orteil,

I fear that Zahlman was right when he meant that PHP, HTML, MySQL and &#106avascript would not work for an MMORPG (althought I thought about trying smaller games with this).

Anyway there is still Java (saying this amoung C++ gurus I should maybe duck and run) but for browser games Java is great (and not only for browser games). Its an completly object orientated programming language and, for my opinion, easy to learn with "quick" results (basics).

Because I have no expieriences in the professional business I just can repeat what I heard that often: concentrate on one field (in your case may arts) and if you are a pro there you can still get in another field (eg programming).

That does not mean your idea of a MMORPG in a browser died, just concentrate on arts (and why not design, its your idea, who should better know what should happen in the world than you). All I want to say is: think through the design, write down your ideas to share it with others and look for programmers willing to give you a small overwiew during the production of your game.

Also the hints of development from Zalman are a good idea (as far as I can say as an unpro). Start with creating the world on one computer for one player, then 2 players on one computer and then the network code.


Well, that is what I think.

Just because I am interested, how detailed are your ideas yet, our lets say your vision?
Dont forget that Gamedev is the only place in the world where everyone started with C++ and everyone will come down on you if you dont recommend starting with Python.

Speaking of Python. Python could get you quite far in a persue to make a MORPG.
Since you are familiar with &#106avascript, you might also consider using Java which has some nice features for browser based applications
The main problem is that you're going to need a way to hold state on the server, and I'm not talking about a database because if you track the player positions in a DB and query it at regular intervals, you'll run into performance problems very quickly.
The way PHP or Python is normally used on the web isn't very suitable for that because they usually operate in a stateless kind of fashion.
What will actually work though is Java servlets.

Another problem is that with a &#106avascript/AJAX kind of aproach, you're pretty much restricted to using the HTTP protocol which has a huge overhead over plain TCP/IP and it's also a connection-less protocol which means you'll waste a lot of time with TCP handshakes. <br><br>I think a combination that may actually work is Comet (HTTP-streaming) and Servlets (or really any kind of stateful server) but I can assure you that PHP + MySQL won't scale.
Orteil, when you get something going I'd love to see you maybe start recruiting a small team in the Help Wanted section or you can also just look there for teammates. As far as game design, I can't help you much with the programming and I am too busy to do any art for you, but I really think you can go through with this if you learn enough.
Sorry for the double post. But to be honest, despite YOUR experience it is very hard to make a game, never the less something as difficult as an MMORPG. And to do it by yourself is extremely difficult for even the best of the game designers. So I suggest you start with a smaller project and if you like it then you can build on that. If this isn't your first project or your first game, still an MMO is hard to make

This topic is closed to new replies.

Advertisement