I'm working on a DnD styled game/challenge to see how close I can get to the DnD experience. Was curious if anyone had any recommendations on what language/software to use.

14    18 Jul 2017 12:51 by u/Sosacms

14 comments

2

Sounds like something that can easily been done on the web, so I would personally say Python (because most of the problems that you're going to run into will already be solved) or Ruby on Rails (because it can keep you same as a Dev).

Node if you feel adventurous.

2

Golang because it's my favorite general programming language. It's a bit tougher than Python and a bit easier than C, but in my opinion it's better than both. Python is almost too easy. It's great for prototyping, but it'll spoil you and it's hard to stay stable as you program gets bigger. Go is harder up front due to being a bit more rigid, but it doesn't get unwieldy like Python. I imagine most any programming language would work fine for a text based game, but if you're gonna have flashy features, some languages may work better than others.

1

it's hard to stay stable as you program gets bigger.

doesn't get unwieldy like Python

I guess you've never heard of the company Splunk? Their application is written in a mix of C/C++ & Python and they bring in nearly a billion dollhairs a year. Sure it's not solely Python, but a great deal revolves around it. It's web gui even uses CherryPy, IIRC. IMO, if any code gets unwieldy, then I question the programmer's practices.

2

Personal projects are a whole different beast than corporate funded projects. Large Python projects can be kept from getting too unwieldy, but the amount of effort and discipline required increases the larger the project gets. With proper funding and planning this can be done just fine, but if somebody starts out prototyping and experimenting, it's a significant long term risk factor, but only if the program is going to get big. I'm not saying that more statically structured programming languages can't also become unwieldy, but the scale at which and likelihood of it occurring is totally different than squishy soft dynamic languages.

1

Sure. I can get behind that.

1

Text based or with visuals?

1

Is it just for fun or do you want to publish it? if it's for yourself just use what you can run and know well, e.g. a little java program. If you want to publish it I would work with c family in .net as this will give you the best real world result and experience.

1

http://www.roguebasin.com/index.php?title=Category:Programming_languages

Here's a pretty good collection about various languages and their pros and cons, as well as roguelikes which implement them. I'd say to use a scripting language to do the language processing. Id use go for things like generating dungeons (my current project involves this, go is succinct and fast).

The above wiki, if you're not familiar, compiles a lot of ideas catalogued from the roguelike development community. I find it to be a great resource for brainstorming.

1

Start with script languages, python or lua ( whatever is your choice ) to design your game, scripting allows you to iterate quickly for the game mechanics. Nowaday you can always find a game framework for your favorite language. So no language is a bad choice.

1

Fortran

1

Javascript.

You can have it in a browser so nobody needs to download it, which is a frequently underrated quality, or use stuff like electron if you didn't want it in the broswer. Disclaimer: I've never used electron or anything like it.

Suddenly find the need for serverside stuff for multiplayer? node.js lets you use javascript there too. It's fairly easy to use websockets with this setup if you have the need for it.

There are libraries like threejs for 3D graphics if you don't want 2D.

There are physics libraries out there for it too if you wanted to get real dice rolling movements or other stuff. Many are half-baked ports from other language's physics libraries, but there is at least one that is specifically made for javascript.

javascript has everything you'll need for almost any system.

Another idea is to use things like Unity and it can be played even in the browser, but I personally don't like it's interface and it's slow to load.

0

I'm looking into Vue.js and probably use the game idea to help me learn things more in depth. Figured I could kill two birds with one stone, okay with the game to help learn a language in more likely to use for other things.

Then if things go well I'll look more into Unreal Engine or more other software that can export to multiple platforms. Might even play with Construct 2, that sounded interesting.

0

I would find a game engine that matches your needs and go from there. Most high level language concepts are similar enough to be interchangable. I would only recommend C/C++ if you are building your own engine.

2D or 3D? Web, mobile app, or desktop? Multiplayer?