Online RPG Game Programming

Started by
23 comments, last by JS_means_JackSparrow 8 years, 3 months ago

Hi guys, well, I'm new here at this community. I entered because I want to ask you if you can help me with some sort of doubts about game programming.

The thing is that I want to develop an MMORPG with 2D graphics. You know, an action RPG but Online (client & server connection) so I'm guessing what's the best technology to start learning. I already know Java, but the basics and the classic API, I've never tried any game programming framework. I heard that libGDX and LWJGL are such good things and quite enough to develop the kind of game that I want, but I'm not sure that if it's better to me to start working with C# and tryout a better engine like Unity or that kind.

And I would like to ask if you have any video-tutorials about making a game like I want that can help me a lot.

thank you so much!

Advertisement

You want to make an MMORPG? That's cool. Show us the funding you've secured, and your abilities with programming and networks.

An MMORPG is something you'll never make in this scenario (Unless you've got a decade, and a lot of money to sit around learning this stuff).

If you really are capable of making an MMORPG, you would already know how. Start with Pong, and perhaps make it multiplayer (Over LANs if you don't want to do that port forwarding stuff).

What will you make?

Moving to For Beginners.

Online games are much harder than local games. Since you're talking about basics like rendering frameworks I suggest you don't worry about online play until you've mastered the basics of creating a game.


I heard that libGDX and LWJGL are such good things and quite enough to develop the kind of game that I want, but I'm not sure that if it's better to me to start working with C# and tryout a better engine like Unity or that kind.

All of them are good options, but they have different types of work needed.

If you go with either of the libraries you will need to build most of the game-related systems yourself. That will mean you spend a lot of time learning about low-level systems. If you don't have a good guide or mentor it can also mean a lot of time floundering, or not knowing about standard practices and instead building whatever you can imagine which may be more difficult to build or difficult to use than necessary.

Tools like Unity, GameSalad or GameMaker Studio provide a lot of pre-built game functionality letting you spend more time building your game rather than building infrastructure. However, as a side effect you will likely know less about the details of how things work under the hood. You get your game built far more quickly using off-the-shelf parts, but you may not have a good understanding of how those parts work.

Neither is wrong, and a lot depends on your goals. Some options can help you reach your goals -- whatever they are -- faster than others.

You want to make an MMORPG? That's cool. Show us the funding you've secured, and your abilities with programming and networks.

An MMORPG is something you'll never make in this scenario (Unless you've got a decade, and a lot of money to sit around learning this stuff).

If you really are capable of making an MMORPG, you would already know how. Start with Pong, and perhaps make it multiplayer (Over LANs if you don't want to do that port forwarding stuff).

Adding onto the cynicism here....

Lets also take a look at your understanding of processes and pipelines. Lets see how well you can understand data structures and data bases. Oh and while we are at it, lets see how good you are at algorithms.

Something helpful now.

Realistically... stop while you are ahead. You are in absolutely no shape nor stature to even start at writing the first line of code for an MMO. There -is- one tutorial. But even that is completely out of your scope from what I am reading. And I'll go ahead and appologize from the two unhelpful responces you've probably gotten immediately, but this is a very common question on this forum. This sort of question goes absolutely no where quickly besides a ten kilometer deep hole located in the mantel of mercury, and you are trying to get to Torronto Canda in a week. It's not happening like that.

Start small man. There is too much you don't know right now, and just knowing the basics of a langauge does not mean you are a programmer. It just means you're getting your feet wet with a water hose before you step in a kiddie pool on your way to the ocean.

And I really can't even tell you were to begin to be honest. The concepts of an MMO is built with everything you know from a Bachelors in computer science.

Creating an RPG, even a smaller one (10 hours instead of 80+ hours), is quite a daunting task for a lone developer. The amount of content needed for even a small RPG is staggering, even though the programming might not be as complex as for some other game genres.

And note, I am not talking about anything "Online" yet. Let alone "MMO". I am totally in agreement with the other guys in this thread. Follow this list if you want to get anywhere:

1. Banish the thought you will ever, ever create what 80% of people understand when they read "MMO"... that is massive amount of concurrent players interacting in a single instance, massive amount of content, and so on.

If you are not working at a VERY LARGE studio that is working on such a title, that is. And these are massive projects, and given the track record of past MMORPG projects, less and less of these will be made in the future (which is good, the world can only support so many active MMORPGs... as opposed to other RPGs people burn through in weeks, these things are built to engage players for years, which leaves little room for playing multiple MMORPGs at the same time).

If you want to start your own, you better be a billionaire playboy with millions to just burn. And I mean "burn" literally, chances are pretty bad you see a return on investment, not unless your MMORPG is so revolutinairy and good that Everquest, WoW and all the clones pale in comparison.

2. Put your "Online" aspirations to the side for now... they are quite achievable for a lone dev, or better a small team, but you are not ready yet for that. You have more than enough to learn otherwise.

3. Start creating singleplayer games. Better start with simpler ones. Work your way up.

These questions you put up there would answer themselves if you did your homework in advance... does it matter to your Online Game Project you start in 5+ years if you create your simple pong or pacman clones today in Java or C#?

Of course not. Ideally you are able to learn and program in multiple languages, and while doing so, you will find a) the language you like better, and b) the framework best suited to your use case.

Trust me, you are about 5 years to early for creating an Online RPG (lets put the "MMO" monicker to rest right here)... maybe 3 years if you are able to spend A LOT of time on learning, or can team up with other people and thus concentrate on one specialization.

But we are talking years before you could even think about being productive creating something so complex as an online game.... before you would get no traction at all as you would just run into problems every step of the way.

Trust me, been there, done that smile.png

Frankly, the negative responses here are disturbing.

Considering we can all point to game challenges wherein groups as small as 3 using only tools for creating assets go from a few words to concept to design, production, and completed multiplayer games in as little as 2 days - shows how dated the notions of multi-million dollar startup with teams of tens or hundreds working years to build a game.

Yes, these are professional developers, but they - too- began not knowing where to begin. So the road is there. But some of you are telling someone it is impossible to walk down it despite others doing so every day.

I think that says more about those making the responses than the one asking where to begin.

..
And To JS_means_JackSparrow.

What you need to learn depends entirely on what you intend to produce.

The information you've given is a fairly wide array..
2D, Action, Multiplayer(or Online)

That could be as low as...
PHP acting as a game server, delivering to JavaScript as UI.

Or it could be a dedicated server and client as compiled executibles.

Creating a game is easy, children are doing it. . and people barely literate can download Unreal or Construct and make a game that works, in very little time.
The difficulty comes in creating a game that draws the play from a secondary source, the server, and presents it in various forms to multiple clients.. presenting the actions of each client to the others as well.

Now at the Low end, this isn't really a problem.
You can probably find a tutorial that uses PHP, MySQL and Javascript to create just such a game, and modify it to what you want.

But at the high end, you have some work to do.
There ARE options that reduce the workload down to more-or-less, assembling assets and scripting events.. such as Hero Engine, but they are not as easy to access or use as standard game engines.. HE for example, will allow you to build the game, and has the back end to handle the networking, accounts, billing, etc.. but you have to have a Finished game ready to play before they will consider you allowing anyone to actually play it. (so you have to Pay for a seat for each tester).

..
More and more specific information will help people direct you to the tools that will help you most.


Frankly, the negative responses here are disturbing

When did honesty become negative?

When someone hears MMO they think World of Warcraft, Final Fantasy, and other massive games like that. I know the making a 2D RPG is possible as I watched Allegro users make mini 2D RPGs off and on while I was at the site. I've also seen people make small online games where it is from 2 -16 multiplayer which isn't MMO. Then you get into whether the online play will be PvP or Co-op like Guild Wars. They are just being honest with him.

To me, just listing tools for him is the equivalent of giving him the rope to hang himself. He would need to have someone that focuses only on the server/client code to battle anything that comes up. He would have to pay a hefty sum for a dedicated server, but that usually includes people that make sure the server stays up. Haven't even gotten into the marketing of it, as no one aims to make a MMORPG and leave it up to word of mouth to promote it (also pricey).

Is what he wants doable? Sure with a small team, but it will be a very big and serious challenge. Are the replies negative? Nope, they are just telling him the truth about planning to make an MMORPG be it 2D or 3D.

Comparing making games with an engine by challenged individuals to a project of making a MMORPG is also on the ridiculous side, in my opinion.


Frankly, the negative responses here are disturbing

When did honesty become negative?

Telling someone a thing is "Impossible" when others do it as a daily course, is not being Honest, it is being Negative.
Particularly when the Description the OP actually gave of their idea is something Most of us could throw together over a weekend given the graphic and sound assets.

Instead of responding to the actual question though, every response took the acronym MMO and ran with it, as though he/she had asked how to make the next WoW or EQ.

You "When someone hears MMO they think World of Warcraft"
You "He would need to have someone that focuses only on the server/client code to battle anything that comes up. He would have to pay a hefty sum for a dedicated server"
JS "2D graphics. You know, an action RPG but Online"


You "small online games where it is from 2 -16 multiplayer which isn't MMO"
Correct.
Online Game can mean a game of Any number of users.
MMO (the game category) references a game that allows upward of a hundred concurrent users.

But the difference between them from a Creation standpoint ended with the need to write socket handling long-hand.
Now you can use the same code to handle a library or module that does the dirty work, whether it is dealing with a 1-1 message app or the combined financial transactions of Europe.
Other limitations tend to be due to hardware, and are easier to control than allowing the user to log in in the first place, by simply limiting how much traffic is in a given location.

You "To me, just listing tools for him is the equivalent of giving him the rope to hang himself."
I am forced at this comment to wonder why you are here.
If you think that learning where to go to find more information on a subject is Harmful to those wishing to learn...
Why would you be in a forum dedicated to those looking to learn to create games, and those willing / able to offer help in that direction?

As to What Tools I suggested.. I welcome clarification on how any of them is a harmful.

A reference to PHP, MySQL, and Javascript.
Maybe he/she will create another Bad Web game to add to the mountain of them?
..but in the process learns logic operators, functions, objects, referencing externals, database fundamentals with SQL (and hopefully PDO).

The other thing I mentioned were Engines... two of them specifically.
Construct
Which is capable of quality games, but is more useful in teaching the fundamentals of how a game is structured, events causing actions causing functions. input on a key by key basis...
Basically taking someone from a point of "I know games exist" to "I know how games operate in general terms, but don't know how to write the code to make any of it happen."

And Unreal Engine.
Which is currently used by Lionhead Studios, Square Enix, nCSoft and dozens of other AAA studios, but can be used as a starting point for absolute beginners as well.


Instead of responding to the actual question though, every response took the acronym MMO and ran with it, as though he/she had asked how to make the next WoW or EQ.

No what every one ran with was his line:


The thing is that I want to develop an MMORPG with 2D graphics

I work under the assumption that the person asking the question is an absolute beginner. He stated he knew Java, but that doesn't tell his level of understanding or the things he has done in Java. He even states he has never made a game before. You're right, impossible is a bad term as nothing is impossible, however it is improbable. If it is just him then to make a 2D MMORPG, then again I say they were being 100% honest.

I never said the tools were harmful. I said just listing tools was harmful as you are assuming the OP will get direction of what to do for his ultimate goal (an 2D MMORPG) just from a list of tools.


No what every one ran with was his line:

JS_means_JackSparrow, on 24 Jan 2016 - 10:25 PM, said:


The thing is that I want to develop an MMORPG with 2D graphics

I'm unsure why you used that preface, since that is what I said.
Each response was based not on what he actually described, but his choice to use the reference MMO or MMORPG.

His use of that acronym wasn't wrong even if he's speaking of a game that allows himself and 2 others to play. Many would disagree to the first M in a game allowing so few, but remember the origin is a reference to MUDs allowing more than 3 users.
And the popular use came with the Realm, which rarely broke 50. (and is still called an MMORPG despite rarely breaking 5).

You also commented that "I work under the assumption that the person asking the question is an absolute beginner." so why would you assume they not only have a working understanding of the acronym used, but share Your own specific interpretation of it?

.
I don't know what contact you have with beginners to game design/development, but they constantly serve as a great reminder of how different we can see the world through simply knowing something.

I had one student who thought a class on Assembler meant he would be learning to put together electronic devices.
I had another who thought Object Oriented was somehow a reference to the physical things (objects) attached to the computer, like the mouse.
I had one who thought believed you could literally write your personality into a computer like she had seen on a television show.
I have had many who had heard terms, but thought the acronyms were nouns, or that they meant something entirely different from their actual purpose.
And trying to explain to them what P.H.P. means.. is always fun.
(thankfully I no longer cover Web Design)

.
As to the Harm of listing tools, that was how I interpreted the comment that I was giving rope with which to hang..
But whether they will or will not direct him/her to the right place to make the game they want... by the description it sounds like exactly where he should start.

a Fighting Game, in 2D, Multiplayer.
That insinuates to me one of two likely game styles.
..
The earlier Final Fantasy games, but allowing multiple players to be among the 'group.'
Simple enough, the greatest investment of time would probably be in creating sprites. The technical expertise to create it should take no more than 3 or 4 weeks from scratch.
Or
A more specifically fighting combat game, simulation of actual physical attacks and responses, ala Mortal Kombat, either allowing PvP among multiple players, or allowing only that.
Could be more complicated, or less. The deployment method (web- html5 or js, native PC/Mac, mobile, Xplatform..) would dictate how much time would be necessary to bring it together. As a web-game the multiplayer aspect pretty much takes care of itself, while a native PC game will need a lot more work to bring to life, and would require building a working server in order to test it.

Lastly, while some of us enjoy working in both areas, 2D and 3D, the genres inherent to them tend to attract people of only one type. Those who want a game like WoW are typically going to be of the 3D persuasion, while those who seek to work in 2D are much more likely to be aiming for either small, story world type app development or adventure style games.

Exceptions certainly exist.

I think we've completely derailed the thread at this point.
Hopefully the OP will return and give a more complete explanation of what it is they hope to create. Incomplete information simply generates issues and errors.

This topic is closed to new replies.

Advertisement