Programming languages

Started by
8 comments, last by Xai 16 years, 11 months ago
hi, i have a brief knowledge of: Java C++ DarkBasic ActionScript (Flash) C Sharp Im thinking of making an online MMOPRG can everyone please suggest what language would be the most appropriate ( remember its gonna be online)option, either on my already started on list or others.
Advertisement
The "massive" aspect of an MMORPG is beyond you, period, so give that part up now. If you're really good, you could make a non-massive multiplayer RPG... but it strikes me that if you (a) have to ask what the best language for the job is, and (b) you describe your knowledge as "brief," you'll probably want to a start on a smaller-scale project.

The best language for the job is the one you know the best, with the following caveats:
DarkBasic and ActionScript don't neccessarily lend themselves to anything more than trivial networking (if that), because they are languages designed to be used primarily in a hosted sandbox, which itself places restrictions on what you can do . Consequently, I would suggest you disregard them, as you'll likely need to jump through a lot of obnoxious, hacky hoops to get decent networking going.

Of the remaining three, pick the one you know and like best, and use that.
so... can i host a c++ application directly on a domain without download???

(i did say online)

reply plz
a MMO game has 2 core pieces, and many many subpieces that can be quite different.

The hardest piece to code for an MMO (compared to other games) is the server, because it needs to be an extremely reliable, efficient data processing and forwarding powerhouse. The most important elements to this are really good database design, database coding and optimizing practices, efficient multithreaded programming, networking and good data handling processes (minimal excess data copies or manipulations). It must scale up from a normal games needs for 1-8 players in a single level to handling thousands of players in a whole region of space. Here you will HAVE to use a database, and therefore some knowledge of such things and manipulation languages like SQL are very very improtant. Then for the code, any efficient heavy-lifting language will do ... C, Java, C#, C++, etc. Probably even LISP would work if designed right. Given my personal knowledge I'd use C++ or C#, but that's just cause I know the database parts of C# better than any other language, and I know the algorithm and processing uses of C++ best. If you know Java like I know C#, then it would be an equivelent choice for the server side (ie a good one). Your situation is of course not the same as mine. Also, more than 1 language may be used, as there may be services responsible for processing actions which are seperate from the services maintaining database content, updating quests, managing login / etc.

Then there is the client. Here any language which works for a single player game works just as well for a multiplayer game. For the big games I'd think C++ is the top non .NET choice, then any .NET language, then more abstract languages (Python, LISP, ruby), and finally Java. For slightly smaller games I'd think specialized game languages first (Dark BASIC, Torque, etc), abstract languages second (Python, LISP, ruby), then .NET languages, then C++, then Java last again. Of course it all depends on if you are making a 3D massive world like WoW, or something much less technically demanding.
No trying to be mean here but as of right now andreius an online game is most likely out of your league. A baby does not start running track before they learn to crawl. You need to learn to crawl.

How many full applications have you written so far? I am guessing zero. You need to start making small applications first. Games are some of the most complicated applications you can make.

theTroll
Quote:Original post by andreius
so... can i host a c++ application directly on a domain without download???


Not in the way you're asking for.
Quote:(i did say online)


This is ambiguous -- which combination of the following do you mean?

1. Multiplayer over a LAN
2. Multiplayer over the Internet
3. Using a local client
4. Using a web/browser-based client
[TheUnbeliever]
You'll need to develop 3 applications at least.

- The client, which does the rendering
- The server, which handles clients and account administration
- The logic, which is the actual game, usually scripted, shared between client and server

And then, there's the usual overhead, such as art, sound, models, textures, well, the visuals.

On top of that, you'll also need to ensure data state storage, such as database, or files.

Unless you already know how to develop each of these parts (nevermind the language), then you're in over your head.
to the unbeliever : using web-browser based client
to thetroll: i actually have written two full aps, database and game, in DarkBasic... and a few very small apps in C++,

but im just trying to see were i should go from here im only 14 dude.
Quote:
to the unbeliever : using web-browser based client
to thetroll: i actually have written two full aps, database and game, in DarkBasic... and a few very small apps in C++,

but im just trying to see were i should go from here im only 14 dude.


If you want a browser-based game, you'll need to use browser-based technology then. Research that topic, there are a variety of technologies available and you can use any number of languages with more-or-less equivalent results; the differentiator is your skill as a developer, not the language.

That said, two "full" applications with DarkBasic and some very small applications in C++ don't really qualify you for even small-scale networked game development, let alone "massive" (which you'll never achieve, because that's more a logistics and resources -- such as marketing -- issue than a programming issue, and at 14 you will not have access to the required financial backing or logistical resources to achieve anything remotely near enough players to qualify as massive).

Even if you intend this game to be your "final project" that you're working towards and don't plan on starting for a little while, trying to figure out what the best language for that project would be now is pointless, as it would change by then. Furthermore, you are not limiting yourself by exploring other languages for projects other than this MMO -- in fact, you're making yourself better by doing so. Constraining yourself to a single language that you think will be "the one" language you use will make your a pigeon-holed, completely useless programmer.

Do some research into browser-based game development and explore the languages and technologies you find there.
perhaps simply changing your next immediate goal from MMO (note the idea "MASSIVE" in here) to PERSISTENT online game. And possibly even be clear that you want a Persistent Multiplayer Browser-Based game.

But that said, such a game is much much much easier than what most people mean by an MMO (like World of Warcraft). Most browser based games don't have to write ANY networking code, hardly any threading code, and a fairly reasonable web-based UI (compared to the advanced skinable UI in games like eve-online). In fact, about the only things that a browser based online game has in common with normal MMO games is they both employing multiplayer game mechanics and they both have persistent database based worlds.

So in your case, just designing your game's core data and logic (which implementation language plays no part in) is the next starting step. Followed by turning the data model into a database schema, and writing a small prototype web interface to view / edit that data. Then you would probably work on the more interesting aspects of the game logic ... then keep improving the UI features. Soon you'd have a (very minimal) browser-based game.

For that kind of game, they are usually easy if the UI and logic are small and simple, and if they are more turn-based instead of real-time action oriented (which is HARD to do well in a browser - especially mutliplayer). They get hard if the UI is a significant undertaking, if the data logic is too complex, or if you are trying to have action games where the browsers are somehow interacting with each other like a normal LAN game (nearly impossible).

Start with a simple text oriented turn-based game to get a feel for how the core internet technology, database backed systems work ... then go on from there.

This topic is closed to new replies.

Advertisement