4x game on choicescript

These days my brain is clearly wanting to start a new WIP. I will not let it, as I have way too many of those, and at least one more should be finished before anything new starts.

However, I was thinking that it would be interesting to try a 4X game on choicescript (like Civ or Master of Orion). Now, obviously Choicescript is not the ideal medium for this… but, I am sure it can be done (in the same way choicescript is not ideal for an RPG, but I kind of did that -very simply- in Icepeak Adventures).

Thoughts as to how you’d go about doing that? (this is just basically a “for fun” conversation of how the coding could work…)


It can be done, but as you say it would be challenging. The first thing I would suggest is decide the limitations.

I mean, if you are going to conquer the world, then a static map would work with territories, etc. Procedurally generated images, especially if you are dealing with terrain, not so much. Yes, you could stick with descriptions, but a lot of people would immediately be turned off by text only…though there were some games from the early 80s that also had similar elements.

This leads to the other problem: interface. I mean, in most 4x Games you click a territory/image, you are there. In the case of a Choicescript, it would be ‘press here to interact with this place’. I know some players could get a kick out of managing 50 territories but most wouldn’t. That goes back to the limitation thing.

Things like upgrading, building locations, moving armies, etc. can actually be done fairly easily. Hell, look at Zombie Exodus Safe Haven as a way to do upgrades, etc. Multiply this across territories, etc.

The funny thing is that there are other things that could be easily implemented to hopefully keep things fresh.

For example. you could create a list of random things that happen. If you go for a territory manager, I could easily create 100 ideas for random things that happen (bandit attacks, weird ass weather, etc.)

You could probably even have a random npc generator if you go whole hog with marriage proposals, etc. from the other side as well. Not that these would be very deep.

And yes, I realize these are also elements in other games. And yeah, these are some ideas I had for a game with similar elements in RenPy (biggest use for it is visual novels, but others have made old school point and click adventure games, etc.)


I really really want to support your idea man, but look, this is pure text-based games, to reach 4x level you have to be so detail in every little things, and maybe thousands of variables to be maintained.

the thing with images, sounds, and animations are they tell you something without any words written on it, and without them, you have to write everything down to make sure readers know what’s happening, and that could burn you out.

lastly, I don’t wanna tear up your idea, just telling what you might encounter

[EDIT for fun and madness purposes]
Main menu is a must in these kind of games, you will keep going back to it to decide your next moves

Daily news, you’ll be notified about what’s happening on enemy realms, and they have to know about yours too, plus AI for enemies to process those informations

Level, similar to mobile games, you can add levels to buildings, army or technologies to tell how far you’ve upgraded it

The RNG God, the best for the last, make sure every repeated play will never be the same


Yes, just to emphasize, this is completely just for fun… a brainstorming of how it would work… though I started Icepeak Mountains just like that… got coding one day, thinking “how would this work…” (120,000 words later the game is “finished”…).

See, in my mind much of the game would have to be highly automated. As in, in a normal 4X you go into each city or planet and click around… here, such micromanagement would be crazy. Instead, you’d probably have to asign a “governor” to each place, who would influence certain things within it, but keep micro-management to a minimum. So, each turn you can only do a limited number of things, to keep it manageable… mmmmm


You could also just decide on priorities like war, infrastructure, education, trade or evolve.
Then you could code that every territory just adds points to variables like industry, trade, provisions and money per round.

And you could insert story parts that also reward players with resources, technologies or might. I think that such a game is possible. And not even too hard, it has to be more like really old games like Hanse or defender of the crown than modern civilization likes

I think having a map viewable from the stat screen (presumably in a separate section of it) that also changed at certain key story points (so it would be several illustrations, but mostly based on the same base image so maybe not too expensive to have done?) would help breathe life into it since this is normally such a visual genre where growth is seen constantly. I still think it’s doable, though. I mean, look at what A Dark Room accomplished years ago with minimal visuals.

1 Like

Having a management system is feasible and some choicescript games have incorporated that.

But a 4x, even minimal, would be more trouble than it’s worth, even if somehow you pulled that off. I know this is hypothetical, but if anyone is considering that, you might as well learn a different programming language. Choicescript is just not suited for the job.

And don’t let the idea scare you, despite the common belief, ChoiceScript is hard. Harder than, say, Python or JavaScript.

1 Like

There are quite a few ChoiceScript games with management aspects. The one on top of my mind is probably War for the West. You have some basic management stuff to do in between major events.
However, 4X with this might be pretty tough when it comes to coding, since you do have to give your opponents some level of “intelligence”.

Completely agree… as stated a few times, this conversation is mainly just “for fun”. Basically, just playing in my head (as a programmer) with how it could be done. Choicescript is def not the way to do something like this (easier to do with graphics, etc, etc…). But, just for fun… how would it work?

My latest thoughts would be that maybe instead of being able to click around (like in a normal 4x), maybe an approach that might work better would be a “kind of CK2” (or 3, having played crusader kings 3). Basically, a realm populated by characters, and you can only give orders to several of them. I.e. you appoint a governor of a city (who then runs it), or a general (maybe limit to 2-3 generals, so you only can move 2-3 armies).

But, all this would likely require arrays to work… as in, you might get away without arrays, but the coding would then be crazy… mmmmm

1 Like

Arrays and proper loops would definetely make things easier

1 Like