Implementation of AI into Battlescape

I believe that I read somewhere in this forum that large ships will not be player controllable, but instead AI. Large ships being battleships, carriers, and the like. So AI will be in the game in that form. Another possible implementation is the carrying of combat drones on your ship. You can upgrade the weapons like on your main ship. Smaller fighters would only have one, bigger bombers and corvettes would deploy all drones as withering support fire for the ship’s guns. This could replace the implementation of fighters as AI to shoot at, Instead, Drones that follow the parent ship around could be cannon fodder and support, also taking hits for the ship. There could also be drones for mining asteroids and carrying the resources back to your ship.

1 Like

Just remember that each drone would use almost as much bandwidth as a real player, so you could either, for example, have a battle with 10 players and 20 drones, or a battle with 20 players. AIs also use more processing power than player ships, which might make them cost even more than a fighter for the server.

I also think it was said that the maximum size of ships that players will be able to pilot will depend on the stretchgoals achieved during the campaign.

There are other space games that have you deploy little drones from your ship, like for example Eve Online. The combat drones are really simple, they orbit your ship and shoot a laser at any enemy within range. The mining drones just fly to an asteroid and mine it.

1 Like

In eve, knowing the exact position of a ship isn’t as crucial as in a “first person shooter” like Battlescape. In Eve the drones are probably handled in a way that allows each client to predict their movement/behavior, instead of having to receive position updates as often. If the movement of those orbiting drones can be predicted, all the server has to do is share that player X has deployed drone Y at time H and only update everyone on what the drone is doing, instead of sending updates on it’s position every second.
It would be like sharing that a certain planet has a moon with a certain orbit and speed and that said moon was in a given position at a certain moment. After that your client could calculate it’s position without the server having to send updates all the time.

In battlescape that couldn’t be done because the drone’s path could be blocked, so you cant set them to specific paths/orbits, and unless you want the drone to just be a floating turret, it would require an AI to dogfight, and it’s position would have to be updated as often as any fighter.

And I just realized I didn’t take in consideration that you don’t have to use net bandwidth to share the other players position to the drones, so a fight with 10 players and 20 drones would use 290 units per second(10 players receiving 29 positions per second), while a 18 player battle would use 306 units(18 players receive 17 positions per second). Im obviously ignoring optimizations like reducing the rate of updates based on ship distance and other factors. Im just pointing out that having 2 drones per player would limit battles to be 5vs5(for example if 300 units were the technical limit for a server) instead of 9vs9 in a droneless battle.

I just want the drone to be an orbiting turret. Not an AI fighter, but we’ll have those anyway. What if something is blocking the orbital path of the turret? too bad, it crashes into whatever it is. It’s basically just a turret attachment that orbits the ship. A bit harder to hit because of it’s detachment and motion. I wouldn’t expect drones to orbit too far from the ships either.

I don’t think you people are apt to deducing how I-Novae shall construct their game any more than I-Novae is – I’m sure they are very adept about their own project.

If an object can interact with another in a way that has to be calculated on the spot rather than a way which can be predicted beforehand, such as a collision between, say, a drone and an asteroid or ship, it has to be handled by the server, or sent between clients using the server so that all clients within range do the calculation and accurate show what happens in the case of client-side calculations, which means that the server has to have regular, if not constant, updates as to the objects’ speeds, directions of travel, locations, everything, whether the object in question is a rock, a player, or an orbiting drone.

That takes bandwidth. Bandwidth which has to be shared with several dozen players’ worth of additional drones, plus the players themselves, their weapon’s fire, NPCs, stations, and the occasional asteroid/planet.

That gets really expensive really, really quick.

And the distance at which a drone orbits doesn’t matter either, because you will literally be able to park yourself on the outside hull of another player’s ship, or, put another way, there is no magical force keeping other things from getting as close as they darn-well please to your ship; an asteroid, or other ship, would not only be able to get as close as your drones, they would be able to get closer and could, potentially, put themselves in the path of a drone. Which means that a collision between a drone and another object is not only possible, it is inevitable.

Actually, I’m quite certain they are apt to at least attempting to deduce how I-Novae could be constructing their game.

adjective \ˈapt
: likely to do something : having a tendency to do something


On the topic of drones, the awesome thing about AI-controlled entities is that their behaviour can be predicted, even if it’s more complex than “orbit at 1km”. How? You simply run the AI client-side as well as on the server, and then sync up the two versions every so often. This is how the creeps in a moba can keep fighting each other even after your unplug your internet.

Since CPU-cycles are a lot cheaper than net packets you could potentially have dozens of drones per player without significantly changing how many players can be aware of one another at the same time (this is why games like WoW tend to be a lot more laggy running through a large gathering of players than fighting a similar-sized army of NPCs).

Having said that, I can’t think of a reasonable excuse why you would have drones orbiting your interplanetary carrier rather than just putting more guns on said carrier? Either way you’d have to carry them to the fight, somehow?

1 Like

Yes, but the drones can fly about on their own, unlike guns that don’t move and stay in the same spot.

Read the full definition, dink.

Full Definition of APT
: unusually fitted or qualified : ready
a : having a tendency : likely
b : ordinarily disposed : inclined
: suited to a purpose; especially : being to the point
: keenly intelligent and responsive

That’s why I used the word. It captures more aspects than having a tendency i.e. being annoying.

Thankfully, the remainder of your response is the first credible comment within this topic on how I-Novae shall be I-Novae.

And I used the word for a different reason, to state a verifiable fact, rather than merely an opinion. Funny how human language works, isn’t it?

If only we could all speak Java…

And in order to fly about on their own they have to carry their own fuel, engines, power plants, ammo caches, their armour will be split across the surface of (at least) a sphere, and depending on game lore a maintenance crew to unjam jams and fight fires.

Alternatively, you could have the gun mounted on the ship. It would have only slightly more than half the arc of fire, sure, but since it could simply tab into the (likely overwhelming) powergrid and ammo reserve of the ship it’s mounted on, would have less than half as much exposed surface in need of armouring, would have no use for engines or fuel, and a single armoury-system could provide ammo from a central cache to whichever guns are doing the most shooting.

In short, until literally every square inch of a ship’s hull is covered in weapons, the only advantage to drones - or even player-controlled fighters, bombers, etc. - is if they can operate semi-autonomously to deliver ordnance on target without putting the mothership at risk. Orbiting the mothership does not provide this benefit.

1 Like