Thursday, January 19, 2012

What computer languages should I learn in order to make a fully functional MMORPG?

I am trying to make an MMORPG for awhile and I am having difficulty finding what languages I should use to create it. I have learned some C++ and I think I have learned all that I can of HTML.... Please help.What computer languages should I learn in order to make a fully functional MMORPG?
It depends how you want to go about it. Here is an analysis of the most common two:



*** Browser based ***

There are several styles of browser based games but they are usually confined to the non-action based/non-real time category. In general the game play consists of building things that have an associated currency and time cost (the time cost is an important part in regulating game play) and interacting with other users by timed attacks and back-and-forth request style trading. There can also be NPCs (non-player characters) with whom you can interact with in "real-time", thus adding to the feeling actually playing a game and not just interacting with a time delayed database! That is in fact what these kind of game essentially are, playing with numbers in a database based on your rule system which almost invariably involves time-costs.



Languages/Technologies: HTML / PHP / SQL / JavaScript / XML / Flash

Pros:

* Completely cross-platform (will work on many operating systems: windows, linux, mac, etc.)

* Less complicated programming necessary as you are essentially scripting, that is, not compiling the code you write. Also some of the aforementioned languages make large syntactical allowances (aren't as strict).

* There are many programs available to help you write and debug your code (such as Dreamweaver) and manage your project. Much of the code you will need can also be found as snippets online so you won't need to write the whole thing from scratch.



Cons:

* Less freedom in what you can achieve. Compared to a language like C++, web based scripting is quite limited. However you may not need these complexities.

* It may take you a while to learn each of these languages and systems if you're not already familiar with them. They are all pretty much based on C/C++/Java syntax though so it shouldn't be too hard if you know some C++, they are all much simpler and easier to use than C++.





*** Executable Client, communicating over the Internet ***

Games of pretty much any style can be written in C++ using some of the many libraries available to help you. There are game libraries available such as OpenGL (which is cross-platform), DirectX, Allegro and many others. These offer functionality for graphics, game style IO (i.e. support for joypads, etc.), network access via TCP/IP, and other fundamental functions used in game programing (e.g. timers, etc.)



Languages/Technologies: C++ with libraries (such as OpenGL, DirectX, etc.)

Pros:

* Free to construct your engine as you see fit. There are many many possibilities in terms of game style. You can make any kind of game, from the simplest first person ray-caster shoot 'em up to Fall Out 3 grade games.



Cons:

* C++ binaries will be platform dependent, meaning you will either have to distribute the code and have links to the libraries you use (plus use a cross-platform libraries such as OpenGL and not DirectX which is windows only) or compile binaries for each operating system you wish to offer support for. Mac OS' are out in general as there are no free compilers available for them (although now that they use Intel CPUs you can run windows programs on an emulator, slowly though)

* Quite difficult to write a full game with high quality graphics, good game play and proper networking. If it's your first time you will want to start very simple.

* By the same token, if you are new C++ in general, you will want to keep it even simpler or team up with other people.

* You will need to set up a server to allow a massive (by definition of the type of game you want to make) amount of users to play with each other at the same time. This is a huge, expensive and difficult task.





In conclusion I would say go for the browser based game. You can set up a free website with Php and mySQL support at www.zymic.com and read up on www.w3schools.com for tutorials on each of the languages I mentioned. If you need more help feel free to PM me, no problem.



Good luck whichever approach you decide to take.
  • cream blush
  • No comments:

    Post a Comment