Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Need help choosing a programming language!

Hi guys, I need some help with my research project assignment so if I could take a moment of your time to help me out it would be GREATLY appreciated.

I would like to know what programming language I should learn to be able to (eventually) program an RPG game. Looking around, it seems that all of the languages have certain strengths and weaknesses, so I would like some independent programmers such as yourselves to provide some input as to what language you would recommend for me to learn to make an RPG game. I have some small previous experience with ruby and RPG Maker XP, but I don't want to rely too heavily on a program like RPG Maker XP and focus more on the programming aspect.

Please take into consideration that replying to this post entitles me to possible use of your information (with credit) in my research project.

Thanks in advance for your help!
 
What is your time-frame? As in, you need to learn a language for an assignment, but how long have you got to learn it?
If you need to make an RPG, I'd recommend using RPG Maker XP as a base (or it's UI at least). Its user interface is extremely useful for developing RPG, as programming everything with no visual representation of what you are doing (Unless you're using a different application that does have a live UI) is very difficult when handling many events. You don't need to rely completely on what you're given though - Due to the nature of Ruby being a simple programming language, it's quick to pick up, and writing your own scripts can expand your RPG significantly.
 
As someone who is developing an RPG in MonoGame, I have to second RPG Maker if you want to produce something in a reasonable timeframe. The main thing you'll have trouble replicating elsewhere is the map editor. I've looked around extensively, and RMXP has the best RPG map editor I've ever seen. There are free alternatives like Tiled, but they're cumbersome. RM definitely isn't perfect, but there's nothing stopping you from gutting the battle system and menus and whatever else and making your own.

There aren't really a lot of good engines for RPGs outside of RM. Unity might be a possibility depending on your programming experience, but it's a 3D engine, so you'll have to fake 2D. I think there are plugins for that, though. Like MonoGame, Unity uses C#. C# is a great language, and I definitely prefer it for programming games over Ruby; the static typing, interfaces, etc. make writing good, modular, working code a lot easier.

MonoGame is also a possibility. The main advantage of MonoGame is that it's extremely portable, but it's a framework, not an engine, so you'd have to code all of the RPG and UI features yourself. For a short-term project where you don't care about multiplatform support, it's probably not worth it.

Besides those, there are various other engines and frameworks you could use for 2D development in general. Flixel is pretty popular for Flash development. Some people like Stencyl, which is an actual engine, but I don't know too much about it or if it'd be suitable for an RPG.
 
I'd also suggest C# with Unity or Monogame if you want to quickly whip up an RPG game, Unity not so much as it is rather feature rich and a lot of it makes no logical sense (gameObject.transform.gameObject.transform.gameObject) but it is great if you are new to programming (but it is a pain when it comes to objects literally being on the scene), Monogame isn't an engine but is a game library, like XNA or Allegro, so that would be excellent if you want control over your engine, you'll just need to learn more to pull off tricks.

Actually monogame would be best if you want to focus more on the programming.

I actually champion C++ so if you want convincing that C++ is worth it just say and I'll put together some reasons, but for a one off project C# and monogame look like the best option for what you need
 
I really don't think C++ is a good option for a beginner programmer. Even if you like the language, it has a high learning curve and a lot of awkwardness and inconsistencies. It definitely has the advantage of performance, but C# is much more user-friendly and better to learn on imo.

MonoGame is good, and you'll learn a lot of programming making something in MonoGame, but you will definitely spend a lot more time than you would if you used RM or something. It would probably be my top choice of all the ideas I have, but seriously, don't underestimate how much time using RM will save you. I would probably stick with RM unless I had a compelling reason not to, like wanting to deploy on other platforms.
 
Well let's see. For programming games, in the end it all depends on what language you are best comfortable with. I think that you pretty much every language today has one game engine or framework.

My recommendation is:

If you are a beginner programmer and want to fiddle around games and try out stuff - Small Basic (it has a small framework in itself and it's free)
Development Time: Really low since it isn't really good for anything else than trying stuff out and playing with it.

If you are intermediate programmer and want to make games easily - Python, Ruby, Lua. For Python you have PyGame, a really good framework. And for Ruby, apart from RPG Maker and Gosu you can try RAGE game engine I'm currently working on, it just might suit your needs (check it out here: https://github.com/ArekX/RAGE). :)
For Lua you have LÖVE game engine.
Development Time: Low/High

If you are advanced programmer and want to make game engines and really complex 2D/3D CPU intensive games and you really really need speed - C/C++, C#, Free Pascal, PureBasic. For C/C++ you can use SDL, Allegro or SFML. For C# MonoGame or XNA. For Free Pascal you can use ZenGL framework. As for PureBasic it has all of the things needed for games already integrated in language itself and it's easier to master than others.
Development Time: Medium/High
 
Thank you for all of your replies, every little detail is useful and important for my decision.

ZenVirZan":1je3m9pu said:
What is your time-frame? As in, you need to learn a language for an assignment, but how long have you got to learn it?
I have 7 months to complete this assignment, so the time-frame to learn a programming language is slightly less than this. I will need to produce an RPG game (or perhaps a different genre) within this time. The game doesn't need to be super ultra extra excessively extensive, it just needs to be enough to get the basic technical aspects down.

It looks like, so far, the weapon-of-choice is either an RPG maker with Ruby or C# with MonoGame.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top