Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What programming language would be best for creating a roguelike game? [closed]

Tags:

roguelike

With the interest of creating a roguelike RPG (such as Nethack, Rogue, and ADOM), which programming language would be most suitable and why?

With the language that you choose, be sure to list any libraries or facets of the language that make it particularly well-suited.

like image 347
agscala Avatar asked Feb 01 '09 07:02

agscala


People also ask

Is Python good for roguelikes?

Python is great for game development (especially roguelikes). You can find a complete Python roguelike guide here.

What makes a good roguelike game?

Good roguelikes always have a sense of progress. Even if players keep looping through the same areas or are required to take multiple attempts at the same run, there should still be progress pushing them forward. Without that, roguelikes can often feel repetitive or too difficult.

What coding language is best for making games?

Java: Java is a general-purpose programming language that is designed to adapt to an evolving environment. According to MasterClass, Java game programming is nearly universally compatible, making it incredibly versatile and one of the most popular languages used today.

Is C++ Best for gaming?

C++ is an excellent programming language for game development. Its low-level language components give you the freedom to manipulate hardware and ensure a highly responsive gaming experience. While higher-level languages are faster to write in, they don't give you the flexibility and performance that C++ provides.


4 Answers

Way back in the day I tried to write Roguelike games using QuickBASIC out of all things (it was 1988.) Not the recommended approach...

There are still some development circles out there. Here's an FAQ on Roguelike Development and also a blog dedicated to the same.

like image 143
DavGarcia Avatar answered Sep 28 '22 23:09

DavGarcia


My language of use (I'm trying to create roguelike too) is Python, because:

  • It's high level programming language, I don't need to think about memory allocation all the time, etc, but keep my mind on algorithms.
  • There's tons of useful libraries for almost everything. Recently I've found TDL/libtcod which can be useful for roguelike development.
  • With bindings you can easily use C/C++ libraries or even write few critical functions in C/C++, and use them.
  • It's the most readable programming language I've ever seen.
  • While programming in Python I've learned to use internal documentation. It's very helpful thing, I just read my code few months later and I still know what it's doing.
like image 25
Zath Avatar answered Sep 25 '22 23:09

Zath


That's a very personal choice as always :-)

I wrote my Roguelike game (Tyrant) in Java for the following reasons:

  • Very portable (even with graphics)
  • Garbage collection / memory management
  • Lots of good free / open source libraries available (helpful for algorithms, data structures and manipulating save game files etc.)
  • It's a statically typed language - this has performance and robustness benefits which I judged to be worth the additional coding complexity
  • I wanted to hone my Java skills more generally for use in other projects

EDIT: For those interested it is open source, all code is available at SourceForge

like image 36
mikera Avatar answered Sep 28 '22 23:09

mikera


Well I've made a couple roguelikes in C, spending a fair amount of time at roguebasin, which is a great site for anything related to roguelike development.

As for what language you should use, I don't really see it making a huge difference. I pick C because of the portability, and a lot of libraries work well with it.. But an object oriented language can clean up some things that you may not want to keep track of.

There aren't any languages that I would consider to be specifically greater than the rest for roguelikes. If you're making it graphical, you may prefer something that has that built-in, such as flash / silverlight. But even then there are libraries for any other languages that bring them to about the same degree of difficulty in that regard.

So I'd say take a language you know and like, or that you don't know and want to learn..

like image 6
Sciolist Avatar answered Sep 26 '22 23:09

Sciolist