Page 1 of 1

Easiest programming langauge to make an RL with?

PostPosted: Monday, 17th July 2017, 23:55
by Vajrapani
I want to try my hand at making a roguelike game, I know a decent amount of C++, and from looking at crawl's github page it seems that most of it is coded in C++. Would this be the ideal language to make a RL in with minimal fuss, or are there better alternatives out there nowadays? I would preferably not want to rely on external libraries, just to see what I can do with my programming ability.

Re: Easiest programming langauge to make an RL with?

PostPosted: Tuesday, 18th July 2017, 00:33
by Siegurt
It depends on what you mean by "easiest"....

Not relying on *any* external libraries results in a whole lot of writing some really basic stuff that's already been written, not to say you shouldn't do that stuff if you want to, but if you actually want to write a *game* instead of spending a ton of time on say, your presentation layer, you might not want to forego all external libraries.

If instead you mean "not using any game specific or roguelike specifc libraries" that much less insanity causing.

What language you should write it in depends on a lot of things, do you want it to be portable, do you want it to be deployed natively to each computer, should it run in a server, a browser, all three?

What are you comfortable in, what makes sense to you to write software in, what language features would you like to take advantage of? Do you have a new language you're particularly interested in learning?

Re: Easiest programming langauge to make an RL with?

PostPosted: Tuesday, 18th July 2017, 00:54
by watertreatmentRL
If you know C++, you should use C++.

Re: Easiest programming langauge to make an RL with?

PostPosted: Tuesday, 18th July 2017, 04:53
by VeryAngryFelid
I remember a series of articles where a rl was created in python. I don't know python but it looked pretty easy and friendly

Edit. http://www.roguebasin.com/index.php?tit ... %2Blibtcod

Re: Easiest programming langauge to make an RL with?

PostPosted: Tuesday, 18th July 2017, 13:19
by advil
The usual consensus seems to be to get started with python and something like libtcod edit: better libtcod link. You probably really do want to try prototyping something basic with a library in place as your first pass, even if you plan on scrapping it and writing it from scratch.

You may want to check out r/roguelikedev. It's not massively high traffic but it seems to have a really good signal to noise ratio as far as I've seen, and it also seems fairly friendly (much more so than tavern). There is a fair amount of completely impractical "I want to make a roguelike and I don't know how to program" as well as lapsed projects, but also a fair amount of actual roguelike devs posting, and the cogmind dev in particular is very active in community building. Questions like yours do come up, and here's a semi-recent thread with some interesting discussion about the idea of starting from scratch.

Vajrapani wrote:from looking at crawl's github page it seems that most of it is coded in C++. Would this be the ideal language to make a RL in with minimal fuss, or are there better alternatives out there nowadays?


The fact that crawl is done in C++ does not make it a good idea, at all. What I would say is: if you have a reasonable amount of real-world development experience with C++ and have some experience-based idea of how to plan out a small-to-medium-sized project in C++ from scratch, then it might be a good language. If you want a learning project in C++ to build up your skills, that's also reasonable (though it handicaps the project). Otherwise, I would strongly recommend against using C++ for this situation. In my opinion it's too easy to accidentally make terrible, moderately bad, or just weird design choices that will become entrenched and lead to pain later, if the project goes anywhere. Also, the path to getting things to happen (and to positive feedback/reward cycle) in a higher level language is much simpler. It's not that you can't make bad decision in any language, but C++ gives you a lot of scope for it.

Crawl is in C++ for basically one reason: that's what Linley chose. Granted, there weren't so many other options back then, and I suspect our online infrastructure would be impractical in a language like python. But,

Sequell: linley henzell[6/7]: Henzell discussing his programming ability: "You see, I gave up on Borland's [C++] manual (which is very good, I'm just lazy) when it started talking about pointers [....] After pointers came structs, enums, pragmas, classes, macros, and a whole lot of other stuff which still means nothing to me."

Re: Easiest programming langauge to make an RL with?

PostPosted: Tuesday, 18th July 2017, 17:50
by TeshiAlair
I am like the biggest python fanboy ever, but one thing to keep in mind is that if you want a console version, C++'s curses functionality imo is better than Python's.

Re: Easiest programming langauge to make an RL with?

PostPosted: Tuesday, 18th July 2017, 21:03
by Vajrapani
Thank you for the answers guys, I've tried out ncurses with C++ already and it's pretty decent. I think I'll try something small in that and then try and branch and see how other languages operate.