Skip to main content
GameDev.net gamedev.net
🔒 Locked

RPG Programming

Started by barkera0 Aug 1, 2007 at 1:13 AM 12 replies 1.9k views
Original Post
barkera0
barkera0
Hi all. I've been using a number of different programming languages, not all of them that in-depth, but I wanted to know what is regarded as the best one to program 2-D RPG Games in? Whether it's C++, VB, Java or whatever else. Also, if anyone knew of some good online tutorials for getting started with this, it would be muh appreciated. Thanks.
Crypter
Crypter
Hello,

am personally using C++ in our current RPG. However, C++ is not the
only language used for RPG's--It depends on what your needs are, and
the languages you could use.

I personally do not know of any tutorials, though. There are a few
pretty good books, however. More specifically Programming RPG's with DirectX
seems like a good book. Please note that I have never read it, though.

Hope this helps.
kohlrak
kohlrak
For speed it's ASM, for compatability it's everything else. Though how fast the other languages are all depends on the task. Though, C is usually faster than C++, C can't use the object orientation of C++ that many libraries now use.
barkera0
barkera0
Okay, so it ounds like C++ is a pretty good all-round choice. Does anyone know of any C++ Tutorials that deal with creating RPGs? I know a bit of C++ already, so it doesn't need to be too basic.
lopenka
lopenka
If don't plan to make HUGE rpg game, try to look at XNA :) it seems to be good choice for you. It is designed to make game programming much easier and it can save you a lot of time
Driv3MeFar
Driv3MeFar
Quote:
Original post by kohlrak
For speed it's ASM, for compatability it's everything else. Though how fast the other languages are all depends on the task. Though, C is usually faster than C++, C can't use the object orientation of C++ that many libraries now use.


No offense to the OP, but if you have to ask what language to write a 2D RPG in, it's not ASM for speed. It's let the compiler handle optimizations for speed.

OP: The best option is whatever language you feel most comfortable with. C# and Python are both good options. C++ is certainly viable, but isn't nearly as beginner friendly. Hell, even programs like RPG Maker are an option.
violentcrayon
violentcrayon
Lopenka makes an excellent point. Although C++ is an industry standard, since it seems that you might be a one-man team, you should look at something that enables RAD (Rapid Application Development), such as C#. If you choose C# (or any other .NET language), you can then use XNA. Combined, the two offer very rapid application development. It's easy, friendly, fun, and fast.

Other languages (Java, VB, Python, etc...) are 100% viable alternatives.

If you'd like more information on C#, go here: http://msdn.microsoft.com/vstudio/express/visualcsharp/

For more info on XNA, go here: http://msdn2.microsoft.com/en-us/xna/default.aspx
and here: http://creators.xna.com/
http://neolithic.exofire.net
SimonForsman
SimonForsman
As Driv3MeFar said, the best language is the one you're most familiar with. (Atleast for simple projects).

The more complex the project is the more you gain by using a high level language such as Java,C#,Python, etc though for large portions of the project.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Buster2000
Buster2000
Actually if all you want to do is make a 2D RPG you might be better using something like RPG Maker XP which uses the Ruby scripting language.
There are some quite successful indie titles using this tool such as Aveyond I and II by Amaranth http://www.amaranthia.com/modules/tinycontent/index.php?id=2 or Ara Fell.
Unless you are making the RPG so that you can learn to program in which case C++.
ASM is definatly not faster than C++ (maybe 10 to 15 years ago it was) as modern optimising compilers can do the job a lot better than you could do by hand and C isn't really faster than C++ either.
eedok
eedok
2D RPG's generally have very low speed requirements, I was in the process of throwing one together in python and it was going well(time constraints of putting the resources together is what killed the project).

I'd recommend python or if you want it web based then flash, as they reduce the programmer workload. RPG maker might be interesting as well.
violentcrayon
violentcrayon
Quote:
Original post by eedok
if you want it web based then flash


I'd also like to mention that Silverlight will also allow you to easily put your game in a web format (if you're using a .NET language).

Silverlight: http://silverlight.net/

http://neolithic.exofire.net
Funkymunky
Funkymunky
I suggest C++, the industry standard. I don't care if it will be hard or not. For tips on how to get started programming graphics with C++ right away, check out Nehe.
Bearhugger
Bearhugger
My 2D jRPG (or more cRPG cuz I'm Canadian) engine is 95% done and currently offers 5 hours of play time, so I thought I might put my 2¢ into this.

I wrote my RPG completely in C++ using SDL and OpenGL. The editor was first written in Ruby using the Qt extension, then rewritten in C#.NET after I trashed Linux. It took me a few years to program it, but I didn't work on it 14h a day, everyday. If you're really into it, you should get something working in six months. One year if you want something really complex.

As for RPG Maker... well, I have tried RPG Maker XP and, although RGSS is a huge step forward (the previous titles weren't scriptable) I was very disappointed. First, it is almost impossible to have special graphics effects, such as stenciling, drawing primitive geometry, primitive 3D, screen waving or palette rotation without having huge slowdowns and/or loading time. Really, mostly any graphical operation that isn't hardcoded into RGSS and that you have to make yourself is slow, and even then I've found sprite rotations, an hardcoded feature, to be very slow on my P4 3GHz machine while using big bitmaps. Second, the developers of that editor took out many special options that existed in previous titles with the excuse that you can now script them in the game. That is all good, but shouldn't that kind of software be made for non-programmers? Because programmers tend to prefer writing their software from scratch.

Not saying that everything that comes out of RPG XP is bad. I know it is possible to make something fun with RPG Maker and that it's even possible to make a few bucks. If you are not too serious and just want to have fun making a RPG, you should use RPG Maker and nevermind C++ or Visual Basic, but if you want to make something really impressive, it might be a better idea to learn a programming language and program your game from scratch. I still have to play an impressive RPG made with a RPG Maker software... but I like surprises so if you think you can make something really professional out of it, by all means, go ahead.

But whether you use RPG Maker or not, you will still get into a problem: RPGs require ALOT of graphics, songs and sound effects, and jRPGs also require good writing skills to boot. (wRPGs can sometimes get away with lame quests such as "Kill the demon of doom in the tower of death and get the pendant of last breath or the plague of demonic apocalypse will kill puppies" because the focus of these games is elsewhere.) A great deal of RPGs in the Help Wanted board are starving for graphics... unfortunately, most of them starve to death. As for my RPG, I am decent at drawing so I make my own sprites, and for the tilesets I use those from a popular set originally designed for RPG Maker 2000. (Which sucks because everyone who uses RPG Maker 2000 has seen them 10,000 times.) RPG Maker XP comes with a package of premade graphics, sounds and effects, but unless you want your game to look like every other, you will want to limit your usage of these files.
NickGravelyn
NickGravelyn
Quote:
Original post by Funkymunky
I suggest C++, the industry standard. I don't care if it will be hard or not. For tips on how to get started programming graphics with C++ right away, check out Nehe.


First of all, recommending it simply being an "industry standard" is a horrible way to recommend a language. Especially to someone who seems like they are just beginning in game development. Something like C#, Java, or a myriad of other .NET or simpler languages would all be much better choices as they are just simpler to use. Then to follow with "I don't care if it will be hard or not" seems rather indicative that C++ isn't easy; which it isn't.

As for NeHe, that is no way, absolutely no way to learn graphics with C++ if the OP only knows a little C++. It would be to his/her benefit to first learn more about the language then choose the graphics API. NeHe is alright, but as discussed recently isn't a very good source in the long run as it leads to poor habits. Decent for quick things, but there are probably better resources.

Personally I'd recommend using SDL if you insist on C++. Otherwise I'm pretty much a fanboy for XNA and you'll see me and other people trying really hard to help with C# and XNA problems over at creators.xna.com. XNA is by far my recommendation. Other ones to note would be Blitzmax which, although it costs $80, is very much crossplatform and fairly easy to use. The language is derivative of Basic and the API easily ties in with OpenGL. Overall a very nice package.

So the most important thing is find something that you are comfortable and productive with. C++ is a huge beast. For some it's easy, but for most it takes a long time to get really good with it. Other languages may offer easier learning curves. So just take a look around, tinker with all the languages that have been suggested, and find the one that's right for you.

There is no best language.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.