Others Seeking Advice: Choosing the Right Programming Language for a Complex Text-Based Game Similar to Free Cities

Aug 27, 2021
9
2
Please, Could i get some recommendations what would be a suitable coding language for creating a game similar to Free Cities? Currently, I'm using Python with Visual Studio Code. However, after exploring some of the most complex text-based games that i could find on F95Zone, such as:

  • Free Cities, which supports managing numerous female slaves (developed with Twine and SugarCube).
  • Fort of Chains, allowing for a multitude of female companions and featuring a dynamic fort mini-map that updates as more buildings are added (created with Twine and SugarCube).
  • Trials in Tainted Space, known for its extensive content (developed with JavaScript).
  • Incubus City, where replaying is essential for the full experience (created with Twine and SugarCube).
I've noticed that none of these games use Python. It's got me thinking that sticking with Python for my game might hold me back from adding the complex features I want. I'm particularly keen on stuff like:

  • Managing multiple female companions without so many lag (similar to "Free Cities", where you could have over 50 with the right upgrades).
  • Implementing a mini-map depicting buildings (similar to the mini-map in "Fort of Chains").
  • Creating a dynamic combat system akin to "Trials in Tainted Space."
 

aereton

Member
Mar 9, 2018
361
690
Well, if you want your game be playable in the browser (as it reads to me) you will probably not get around some JavaScript as it is the standard client-side language interpreted by web browsers. Though, there are definitely options to build frontends with Python such as Django as I understand, but I have no experience with that.

What I'm saying is, you might look for some frameworks or stacks depending on what platform you are willing to build for.

I've noticed that none of these games use Python. It's got me thinking that sticking with Python for my game might hold me back from adding the complex features I want.
Nonsense, you can do almost anything with any language. That said, it's often smart to use the right tool for the right job. If it's less work to switch to a different language for a project because there are engines or frameworks or tech stacks available that make your life easier, you should consider.
"Language loyalty" is a habit you should break early in your development journey and it's not too difficult to learn a new one if you already know another.

The projects you listed use Twine because it provides them tools they either can't write themselves (yet) or because they want to save time (re-inventing the wheel, you know the drill).

All that said and done, if I were to create a text-based browser game I'd probably go with pure JavaScript or opt for a framework like React.
 
Aug 27, 2021
9
2
Well, if you want your game be playable in the browser (as it reads to me) you will probably not get around some JavaScript as it is the standard client-side language interpreted by web browsers. Though, there are definitely options to build frontends with Python such as Django as I understand, but I have no experience with that.
Exactly, I want a game to be playable in the browser. Sorry if I didn't explain it well. And yeah, probably JavaScript is my best option because plenty of games I mentioned are made to be played in a web browser, and that's what I want to achieve too.

Also, thank you a lot for your answer. It really helped me to understand some key points that I didn't understand. Also, please another question: In case you played Free Cities, do you think I really need to learn to use React.js to create something as complex as Free Cities, or would pure JavaScript be enough?
 
  • Like
Reactions: aereton

aereton

Member
Mar 9, 2018
361
690
Also, please another question: In case you played Free Cities, do you think I really need to learn to use React.js to create something as complex as Free Cities, or would pure JavaScript be enough?
I wouldn't recommend anyone doing such a complex project in JS except if you know what you're doing and want to pride yourself in doing so.

What makes things like React so nice is that it's component based. Say for example you build your minimap component, you would write the behaviour logic of that directly into the component itself and can reuse said component everywhere. This makes your codebase very modular. Keep in mind though, React is merely a web framework, you will still have to code an entire structure to let your app act like a game, in which form depends on the type of game you are imagining of course.

Still, you might want to take a look at Twine too. There's a reason why so many games use it.
If I were recommend you one thing, it would be to take some time to test out different solutions to use and then make an informed decision.
 
Aug 27, 2021
9
2
Well i tried to install react and somehow i managed to install it...still its looks very difficult to use :/....hopefully coding in react is not harder than just using vanilla javascript.