Turn Based Strategy Game with GDevelop

Introduction: I’ve been trying to teach myself programming and failing since the early days of Visual Basic 4. I get halfway through the tutorials and realize that I am in over my head and gave up.

There are tons of game engines now (GDevelop seems like the best so far) that make codeless programming a reality. The problem is that they are largely engineered around jumpers, shooters, side-scrollers, and games that I do not wish to make.

I need to be clear on what a strategy game is: For this question, I am not interested in an RTS, a real time City-builder, or an X-com TACTICAL game.

I would love to learn those techniques, but what I really want to do for my first small project is this:

  1. The player creates a persona by answering several questions and I translate that into statistics. This character builder will be clever enough that if in question 3 the player says they are male, that in future questions it addresses them by the appropriate pronoun or removes any options for other genders from the pick lists of future questions.

  2. The player will manage a “Domain” - this really doesn’t need to be complicated for my first game. Let’s pretend the domain is a Medieval Manor in the middle ages. The player will be provided with a screen with their holdings, and see the resources: Gold, Workers, Arms as well as their projected revenue in the next turn.

The player will be able to select or even queue up future building projects. The game will be smart enough to know that if the object is unique or that the limit has been reached (You can only build 6 villages for example), it will not allow you to select those options.

The player will have another screen with three roles: A Seneschal, A Knights Marshall and a Bishop. The game will randomly select from three NPCs I have created in advance for each category initially. The player will have the opportunity to replace them, or tell them to do certain things in the current turn, such as a drop down menu where they can pick one action for each NPC: “Train Knights” “Scout the Forests”, “Hunt for Bandits” let’s say for examples.

  1. It will have a save and load function.

  2. When the player clicks “End Turn” the game will process the orders using some elements of random chance, for example: If the Knight’s Marshall was told to Train Knights, I may do a test of their skill and based on whether they passed or failed reward the player with more or less knights than previously allowed.

  3. The Random Event Engine- this is the part that I have never been able to figure out. I want a dynamic random event engine that selects an event (even if that event is “no event this turn” based on flags and the current resources of the player. As an example, if the player has a specific NPC the game will allow that event to be one of the ones it chooses. If not, that event will not be considered.

The random event engine should allow weighting, so that certain events can be more likely than others. As an example, I may have a common event “Bandits sighted” while I have another event that is rare “A shooting star”

I may also want to set a flag once the shooting star event fires to make it no longer valid once the event happens - it’s a once in a lifetime event. In addition, I may want to have chained events where let’s say “Bandits Sighted” fires, then 2-3 turns later I have a second “Bandit Attack” event that can possibly trigger, but not until the sighted event occurs.

I would like to present this event to the player in the form of a visitor to the court asking a question, and allowing the player to select 1-4 responses, which are dependent on their resources. If one option is “Give 225 gold” and they do not have that much gold, that option is not available.

The game will then subtract or add those resources, perform tests against the player or NPC stats, and then record the results in a “Flag” I can use to trigger future events.

This sounds like a lot, but I want to make it fairly simple -and once I do- I can begin to work on a more robust game with the same principles.

Can you suggest, even if not GDevelop? I began going through the tutorial series and realized that it is an excellent engine, but not necessarily for what I want to do, so I am willing to try another engine.

I am okay learning Lua or Java if that’s what I need to do, but Unity was so overwhelming that I think I am better off with limited scripting and using code tools.

I’ve tried a lot of languages as well. I like that GDevelop takes care of a lot of the background tasks. It’s organized. I struggled with how most languages require several different files or the project was split into a bunch of different sections. It felt overwhelming and left too much room for projects to fail to run.

Your project sounds like fun. Very doable in gdevelop. I’m not saying it would be simple. It would rely heavily on variables and logic events. Gdevelop has arrays and structures which would help. Gdevelop has builtin objects for the UI and builtin as well as user created extensions. Plus you can create your own extensions for repetitive tasks.

There’s a basic inventory system and a few more advanced inventory extensions. There is also built-in events for loading and saving as well as access to more complex external data.

I would recommend that you try the tutorials and look at the examples to both learn the basics and test drive GDevelop to see if it’s a good fit for your personality and style. People process things differently and not everything is a good fit for everyone.

Do you know how to code? If you know how to code then you can make it. If you don’t know how to code, think you need to learn to code.

This sounds so complicated. Think you need to learn to code. Think you need to go to university

It’s interesting coding is so hard for everyone. But that learning other things are much easier. I think it’s because there’s no support in the coding world. Coders do not seem to really help each other like other types of people do. That seems to be the biggest problem with all that

Like have you helped anyone with anything that you know about?

Think university is the only way. You should go to university if you say you’ve been trying to learn

Also wish that they could make a more advanced language and tool also (but there aren’t enough very talented people and that is basically the problem there), also coding is just not designed in a helpful or good way for the majority of people that’s pretty much it really

Can this app really do this, this sounds so complicated