About the gratuity of AI tweaking


There are at least two positions regarding how could the AI in this game evolve:

A - Let us have more rules and we’ll program the perfect strategy.
B - Don’t overcomplicate the battle preparations with too many rules; make ship captains smarter by design.

However, never forgetting what autobattles + challenges can do for this game, both worlds can meet.

Think on the orders as two separated entities: “Orders” and “Rules”. Orders would be “Attack wounded ships”, “Protect this vessel” or stay in formation. Rules would be “Stay at 500 from cruisers”, “Shoot fighters” or “Don’t go beyond 300 of this ship”.

My suggestion is to separate the two types to leave Orders as “the commands a player gives ships during deployment, so they behave as planned” and rules as "the pieces to build new, more precise, orders.

The idea is to be perfectly able to play with pre-defined orders only, but to also have the chance to create new orders “programming” them with rules. That way, part of a challenge could be that a certain ship has an order that works better for any reason. And, even if the order creator doesn’t come to the forum to explain it, it could be added as a new order in a patch.

It’s somewhat of a way of letting the community evolve the captains’ AI while not forcing the casual players to understand a complex deployment.


I really see the battles as a cut scene once the real game has been played. I see less control as having less replay value. The less you have to do, the more of a movie you will be watching. I think anything that leads to less complexity will hurt overall game play.

However, from what I am seeing in this post, what you are saying is leave everything as is, but separate things into two categories. During construction, use rules to construct orders that may be given during deployment phase. That said, the possibility of breaking it down like this leads to the possibility of much more complexity during deployment phase, but only if the person wishes to create this complexity. If they do not, they can choose not to use the rules to create new orders, and just use the default orders that come with that particular hull?

The only problem that I see with this is that the players who crave less complexity and use only the default orders will be handicapped by their more creative/obsessive compulsive brethren, and I could see this leading to a huge number of complaints. I realize you have said that new orders could be integrated into future patches, but I think that by the time they are, new orders that are not patched would have already been created to counter the older created orders.

Otherwise, I think that separating the two could lead to a fantastic level of complexity, and think it is a great idea.


You highlight the key dilemma in this area, in that people are VERY competitive, and anything that is perceived to give an advantage will be considered as essential use by everyone else, except by the more casual gamer, which i hope to still attract.
This dilemma strikes at the issue of whether or not individual weapons turrets need specific orders. Obviously I can see the argument for doing this, it would give far better control and allow for more varied and flexible ship designs, and it would not be a total nightmare to code (famous last words), but it would add another layer of complexity to the game, and maybe one that puhses it beyond what most people want in a game called ‘gratuitous space battles’ as opposed to ‘complex space battle sim’.
I do keep rethinking that consideration though, as I think it would give enormous tactical subtlety to the game.


Well the challenge to adding that level of tactical subtelty is keeping it simple enough that the casuals (and the largest player base of ANY game is always the casuals) will happily use it.

If it was me doing the coding, I’d make a decision one way or the other and tell those that didnt like it that it wasnt open for debate anymore.

Its either Gratuitous Space Battles with enough tactical complexity done in a simple way which keeps casuals happy but risks alienating the hardcore, or its Complex Space Battle Sim with lots of tactical complexity which risks alienating the casuals but keeps the hardcore happy.

There’s an old saying about trying to keep all the people happy all of the time.


I think the server just lost my long post on this thread (possibly because I had a meeting while writing it, so it took too long).

Anyway, I’ll resume my ideas about the only problem I see with this suggestion; i.e.: “People will not like to lose because of their poor understanding of order design”.

The idea is that new orders are only needed if you want some special behaviour, like a “cantabrian circle”, or an evolving formation. All usual behaviours will already be perfected by the community by the time a newby comes.

Say you have a list of community built orders, same display as the challenges. You’d be able lo download the best orders, play with it in your order designer and then load that order on your ships.

That way, you’ll probably never lose games because of lack of order designing skill. You’ll just have less chances of building a really interesting, or crazy, new order.


Basically like downloading and using community mods once the game is released for the casual, but have a accessible order builder for the people who want it. When you take the challenge that has a custom order, you are given a preview of its ability, and able to then add or not add it to your list of possibles orders as you see fit?

I like this.


as always, if coding particular functionality is not that time consuming, just try it and see if it changed anything. or if effect is too great (thus increasing complexity of the game), just add percentage of success on effect. For example: player sees order “Keep distance N”, but internally you would RAP [rand()-a-percent], and if it is lees than 10%, ship WILL keep distance N :). That way you could add orders, but that does not mean they are that effective thus will not increase complexity.


I feel like in this case we can have our cake and eat it too, as long as Cliff is willing to take the time to code it (which is his prerogative of course). Essentially I agree with the original poster, but I don’t see why we couldn’t have roles that confer a certain set of behaviors. Let me explain what I mean:

You build a ship, it’s a cruiser with a bunch of pulse lasers, a point defense system and super tractor beam. This is obviously an escort ship and you are intending it to escort other designs. It would be nice if you could, rather than tweaking each individual rule parameter, pick a ‘role’ from a drop down menu. This role (escort) would automatically confer a set of rules such as targeting fighters and frigates before targeting cruisers but it wouldn’t add coop because the point is to kill as many fighters and missiles as possible not gang up against the same ones. Even better is that a ship set to the role: escort would automatically try to stay with 100-200 range from a nearby friendly ship without that role. You could conceivably add a specific escort command to tell that ship to stay close to a particular ship in the fleet, but maybe you wouldn’t have to. And even if you did once that ship was destroyed the escort would then automatically fall back to sticking with whatever other friendly non escort is nearby.

I also think that these two behaviors should be automatic: A preference for staying close to friendly ships (could be countermanded). A preference for backing away from ships about to blow up. (ships really need to be able to back up, even if it’s less than 25% of their forward speed)

Possible roles: Escort (targets fighters and missiles, stays close to non escorts), Hunter killer (targets frigates, cooperates, tends to stray more), Main battle (targets capital ships, stays close to other main battle ships, cooperates, retaliates, will back off some if damaged or shields are low), Close assault (targets capital or frigates, coop, tends to stray from friendly ships more to stay close to enemies, doesn’t back off until seriously damaged)

In this way we have a generic set of behaviors for more casual gamers who love designing the ships and building the fleets but aren’t all jazzed up about programming behaviors.


That’s exactly what I meant. Let me sum and clarify the original suggestion and the very productive thread:

1 - Rules are basic AI commands. You can play without ever seeing or using one.
2 - Orders are groups of rules. The game installs with a number of default orders for most behaviours. Further patches may include particularly popular orders.
3 - You can apply orders to a particular ship or a group during deployment.
4 - You can apply orders to a ship by design, those will appear on that ship, by default, during deployment.
5 - You can download/upload/vote orders from other players, much like challenges, and add those orders to your order collection.
6 - If you really want to (again, much like challenges), you can try to build a specially strange or particular order, by composing it from base rules.

That way, you can make order designing as complex as you want. Like a map editor in a FPS, some people will learn to use it and create content for the community.

With the difference that composing orders with rules is much more computer science oriented and map making is a design specialty. I think there’s no need to tell you the proportion of computer scientist gamers compared to designers.


Re: the turret-specific order question (basically separating targeting from movement): I vote in favor of it. I understand the concern about making the game too complex, but I really don’t think it would have to. Assuming we can still set all the same orders at the ship level, and that any specific weapons without their own orders will use those by default, you only have to take advantage of the added complexity to the degree that you are interested in doing so. In most cases, I don’t think I’d use it for more than one or two turrets on a ship anyways, mainly to make sure anti-fighter weapons are shooting at fighters while everything else has a high priority for frigates/cruisers. Consider that we have the ability to save default orders (thanks for that, btw), and the complexity really starts to look less intimidating.

As to the issue of competitiveness, and people feeling like they are at a disadvantage due to other people’s more successful exploitation of complex systems - anyone who feels strongly about this is probably hardcore enough that they’ll gladly take the time to learn the systems themselves. It’s fairly self-selecting. Casual gamers won’t enjoy getting blown to smithereens by super-dedicated hardcore players, but how many of them are likely to spend a lot of time with the challenges? I’d guess that they would be more into mucking about in the single-player sandbox and maybe survival mode. And anyway, given that challenges can be rated by difficulty and enjoyment level, anyone should be able to find some that are at the right level for them.


A simple way to increase the tactical subtly would be a minimum attack distance order, so that an idea range of attack can be specified for the ship to maintain. This gives a reason for engines, and makes it more interesting when attacking fortress style plasma fleets with missiles. Both parties have to consider being able to close to an actual attack range whilst their target potentially keeps backing off.


This is actually already possible if you drag the distance slider over to whatever range you think is ideal in orders for the class of ship you are attacking. I had a hard time figuring this out actually… duh… I kept wondering why my rebel close assault cruisers would run up to fusion range and park it there and never engage their cruiser lasers… until I saw the cruiser attack range was set to 700… so I made it 450… and boom, now they close to 450.

Of course, since ships can’t back off when the enemy starts to move in my ships will often turn and twist like a retarded ballet dancer in a futile attempt to return to that range.


It’s that failure to back off that’s the problem


How about using a scripting language to customise your own AI? Leave it as an option in advanced mode maybe as an unlockable so as not to scare people. Or just leave it as an option for modders so that they can create more varied mods and behaviours. Gratuitous safari hunt mod with lifelike flocking and tiger sim.




I don’t know anything about how the game is programmed, but if it would be possible to expose the guts of the AI to modders that would be pretty cool. I don’t think it should be possible to mod the AI of the stock game as that would pretty well wreck the integrity of survival mode and non-mod-based challenges, but otherwise, why not?


The words “Robot Wars” come to mind.


I would love this, but I’m sure I’m only one of 2% of players in this case. The other 98% don’t want to have to code their own AI. :stuck_out_tongue:

Still, there is such a thing as too little control. Even casual players will have some idea of what they want their ship to do. If they can’t make it do that, they’ll be angered. You don’t want to make it too complicated, but you still want to give them enough control to express their desires.

If you want it simple, make very well-defined roles, like escort, bomber, sniper, etc. You pick a role and that role determines everything else. As long as there are enough roles and the roles take into account enough things (how to choose targets, ranges, when to back off, etc), this will work for the casual players.

If you want to add some depth, do something similar to what’s already there, but add more options for controlling the things we are missing. Give control to individual turrets (or atleast groups of turrets, based on their type) so that you can tell the fighter defense weapons to target fighters while your heavy plasma target cruisers. Make squads, or at least allow cooperative to specify who it cooperates with, so that you can take advantage of combined forces.

And if you want to go whole hog, give very specific rules. Let the user build them up like a filter: For this weapon, always shoot fighters; If something has plasma, move, otherwise, sit still; stay away from ships who can shoot further than I can. It doesn’t have to be a complete programming language, just a rule tree with fields that can be specified, like weapon type, ship type, range, etc.

And in the mean time, opening up an API for AI programming will allow mods and beta testers to try different things and see what works.


If I could script the AI in Lua or Python I would probably jizz in my pants.


I second this lot.