Sign in to follow this  
RipIt

"Best" Language for RPG's--Online and Offline--Single and Multiplayer?

Recommended Posts

RipIt    108
I am curious as to what i could use to create these games in without having the bottleneck be the language / library / API--not sure if those are the right terms, still new a bit to it all.

What would be the "best" language to create the following, if its this simple, im still a bit lost
Text based RPG offline but in a web browser:
Text-based RPG online in a web browser:
Text-based MMORPG in a webbrowser:
2D top down RPG not in a web browser:
2D top down MMORPG:
2D topdown MMORPG in a web browser ( if possible ) :
[b]Or:[/b]
Any other variation i may have missed which i was aiming for.


My short term goal would be to make a text based RPG either playable through web browser / download, while my long term would be 2D/3D RPG through how Runescape is, Browser based MMORPG.


Sorry i am just trying so hard to narrow down my topic / needs so i am not looking into the wrong language / direction for what i want. I am new to it and want to learn with long term goals in mind.

Share this post


Link to post
Share on other sites
Saruman    4339
All of the above could easily have the client done in HTML or flash and the multiplayer portions using a language like python or C# on the server. There is no "best" language as they are tools... it would be like calling my screwdriver better than my hammer. (which is obviously not true because hammers rock) Edited by Saruman

Share this post


Link to post
Share on other sites
RipIt    108
Ok, thank you, i am trying to get a grasp as i am learning the basics to C++ and will soon use some type of graphics library with it to practice drawing maps / tile based screens through an array? i think thats how its done, from what i have read so far. still not sure about all that lol.

I appreciate all the input you have both provided, i am just unsure of the FULL capabilities of these languages i suppose and it scares me to think i could use so much time doing something where it wouldnt be applicable to what i want in the long term thus having to learn another language and be lost again.

The text based RPG (MUD) would be very do-able in C++??

I don't want an old school MUD where players enter commands to do things such as "attack goblin" or "eat apple"

this would be controlled by say, clicking a link to go to a dungeon and within that dungeon they have a list of opponents to attack, say :

goblin
troll
barbarian

and they will click one to attack that character and can do so over and over until energy runs out or something of the sort.

As with the "eat apple" they wouldnt type it, they would click the inventory link and be directed there and then it would have apple in the inventory and they click it to eat it or other options like sell or give away

I guess it would be browser based, what would be the best way to tackle something like that?

Share this post


Link to post
Share on other sites
Daaark    3553
RipIt, this game (in the links I provided) is open source, you could take a look at how it works. http://roguebasin.roguelikedevelopment.org/index.php/Wayward

Also, the LOTGD link I gave you is a working example of a non-typing text RPG! Log in and play a bit. It's free. If you like it, download it, and run your own server, altering it as you see fit.

However, that is beyond you for now. Asking about the full capabilities of a language means you don't have a basic grasp of programming just yet, and you should do a bit more learning for now. That's like asking if the full capabilities of English is enough to write the novel you have in mind. :P

Whether or not you type 'eat apple' or press a gamepad button, or click on something on the screen really makes no difference. It's a different user interface over the same actions, and produces the same result.

These games typically run in a simple loop that waits for a player action to take place, then displays the result.

BEGIN LOOP
--Prompt for input
---Act on input
----Loop over all active objects, and update them
-----Loop over all active creatures, and update them too
-------Display end result to user
END LOOP

This display can be ASCII text graphics, text alone, a tile based grid, a windows form with full gui controls, a 3d rendering, or anything. It makes zero difference. You can even implement interchangeable display methods and go from text, to ASCII graphics, to full 3D without changing a single thing about how the game actually works.

Share this post


Link to post
Share on other sites
RipIt    108
I would but due to the nature of where i am (afghanistan) i cannot open pages such as games and certain other things due to being blocked by filter through the ACL. I will give it a try and look into all this when i return (jan-feb) but for now i am just trying to grasp basic knowledge of the things i can and cannot due in certain languages and which languages are easier / more apt for certain things such as text based RPG through browser and what not. i appreciate all the help you have provided me and i will continue to use these forums for a long time to come, asking for help and providing where i can haha.

Share this post


Link to post
Share on other sites
caldiar    715
I partially agree with Daaark that language doesn't matter. Depending on what your targeting for development (in this case, you mention you'd like to develop a MUD that runs in the browser), you should use a language that's more suited for what you're targeting.

This is not to say that you can't do what you want to do with C++; you certainly can create a browser-based MUD. However, you'll find that you'll have a much easier time with a language such as JavaScript for what you want to do.

It's been mentioned that you could use Python or C#. Both are great. However, for this particular project I would definitely recommend checking out a combination of HTML5 and JavaScript for a number of reasons.
[list]
[*]HTML5 will provide you with utilities to tack on 2D graphics, with relative ease, to your text-based RPG later on when you feel ready.
[*]You can write the client-side code that runs on the browser in JavaScript and use the same exact language to develop the server-side code should you choose to use a technology such as Node.js to power the server-side part of the game.
[*]Socket programming (for multiplayer) is almost enjoyable with Socket.IO (JavaScript) when I compare it to working with sockets in C/C++. Of course, that's my own opinion but I'm sure there are others out there who feel the same.
[/list]
JavaScript has a few quirks, to be sure. One thing to make note of is if you want to work with classes and work in an object-oriented fashion, then you should take a look at [url="http://coffeescript.org/"]CoffeeScript[/url] which will make the quality of your life [i]much [/i]better. Classes become a breeze to write and CoffeeScript will do all the hard work for you in compiling it to the proper JavaScript for you to use.

You can definitely write a MUD in C++. But just because you [i]can[/i] do something doesn't mean you [i]should[/i]. I don't believe it's the appropriate language for such a project. If you were writing a single-player text-based RPG that ran in the terminal on your own machine, and not in a browser with multiplayer support, then I feel that would be a different matter and C++ would be a great choice. My main concern, though, is mainly ease-of-use for socket creation and of the client-side code you'll have to write which will be defining what the browser displays; this is a simple thing with JavaScript but can get pretty ugly with the likes of C++.

Python, as I previously mentioned, would be good to work with as you could use something like the [url="http://www.gnu.org/software/pythonwebkit/"]Python Webkit[/url] to manipulate the DOM for your client-side code, and use regular old Python for the server-side. Having a single development language across both client and server code is something that I particularly enjoy having the luxury of. I think it keeps things really simple and keeps a project flowing smoothly.

Good luck on your project. Text-based RPGs are always fun to work on :)

Share this post


Link to post
Share on other sites
RipIt    108
Thank you very much,caldier that was very helpful and yes Daaark i can read the site. I haven't yet but i am going to look at it now!

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