I apologize for the wall of text. But I believe it's important to set some context here.
This post by GaeasSon asked for a brainstorm on how NPC's might work. But I think a better question would be what is the difference by NPC's and AI's, and how to incorporate them together into the game. I’m working off of the assumption that people are worried that NPC’s would replace AI’s or vice versa. But how is this any different than the worries of the real world?
What is the difference between real people and real computers/machines in the real world? There is real life concern that machines are slowly taking jobs away from real people. There are of course jobs in the real world that seem like they will always need a real person. But some jobs in factories for example are better suited to machines. So if we can answer the question: what is the difference between these two jobs maybe we can figure out the difference between NPC’s and AI’s
So what is the difference between these jobs?
I think the answer is the ability to improve, creativity, context, precision, and methodicalness. You can’t program creativity into a machine. While machines are prized for their methodicalness, and precision, they can only consider pre-defined variables, make decisions that they are programmed to make, and are just as good at their jobs at day one as they are at day 1000. Where as people can think outside of the box, and use context and creativity when making a decision, they also get better at their jobs over time. It seems there is a pretty clear line between the two. However to do a good job you need both the qualities of a machine and a person. In reality, people need machines to do their jobs, and the jobs that machines perform always need some kind of human interaction. But in all cases people direct machines.
But how do we apply this to the game? after all in the real world of Java Programming NPC’s are just as programmable as AI’s are. So how do you program the difference between an NPC and a AI? I think the difference should be defined by roles. Even in the game as it is (supposed to be) now, the AI’s can only shoot at targets that people assign.
I think the answer lies in function(AI) and performance(NPC). Think about performance for a moment. If you the player are good at building turrets, then that turret is going to perform better than a turret build by someone else; and if you were to take manual control of that turret you could potentially impart an even greater performance to said turret. By extension your skills as a shipwright and a pilot greatly affect your success in battle. In effect you are applying an indirect bonus to your turrets and ship.
AI = how a system functions, and NPC = improved performance.
AI is required to change default settings of ship systems.
NPC is required to improve performance of system.
So maybe every system should have the option for an AI and a NPC. Much like weapons are divided between main, secondary, and tertiary. All ship systems could have a position for an AI, and a NPC. All ship systems could have up 4 parts:
system modules(peripheral) -> system computer(hardware) -> AI(software) -> NPC(user)
1) System modules (peripheral), just like cannon barrels or shield capacitors. The more modules the potent the system.
2) Main computer of the system(hardware), all modules should be linked to a system computer.
3) AI(software), will be needed to change the default balance settings of ship systems.
I'm curious to hear what you guys think?
Thank you for your time
This post by GaeasSon asked for a brainstorm on how NPC's might work. But I think a better question would be what is the difference by NPC's and AI's, and how to incorporate them together into the game. I’m working off of the assumption that people are worried that NPC’s would replace AI’s or vice versa. But how is this any different than the worries of the real world?
What is the difference between real people and real computers/machines in the real world? There is real life concern that machines are slowly taking jobs away from real people. There are of course jobs in the real world that seem like they will always need a real person. But some jobs in factories for example are better suited to machines. So if we can answer the question: what is the difference between these two jobs maybe we can figure out the difference between NPC’s and AI’s
So what is the difference between these jobs?
I think the answer is the ability to improve, creativity, context, precision, and methodicalness. You can’t program creativity into a machine. While machines are prized for their methodicalness, and precision, they can only consider pre-defined variables, make decisions that they are programmed to make, and are just as good at their jobs at day one as they are at day 1000. Where as people can think outside of the box, and use context and creativity when making a decision, they also get better at their jobs over time. It seems there is a pretty clear line between the two. However to do a good job you need both the qualities of a machine and a person. In reality, people need machines to do their jobs, and the jobs that machines perform always need some kind of human interaction. But in all cases people direct machines.
But how do we apply this to the game? after all in the real world of Java Programming NPC’s are just as programmable as AI’s are. So how do you program the difference between an NPC and a AI? I think the difference should be defined by roles. Even in the game as it is (supposed to be) now, the AI’s can only shoot at targets that people assign.
I think the answer lies in function(AI) and performance(NPC). Think about performance for a moment. If you the player are good at building turrets, then that turret is going to perform better than a turret build by someone else; and if you were to take manual control of that turret you could potentially impart an even greater performance to said turret. By extension your skills as a shipwright and a pilot greatly affect your success in battle. In effect you are applying an indirect bonus to your turrets and ship.
AI = how a system functions, and NPC = improved performance.
AI is required to change default settings of ship systems.
NPC is required to improve performance of system.
So maybe every system should have the option for an AI and a NPC. Much like weapons are divided between main, secondary, and tertiary. All ship systems could have a position for an AI, and a NPC. All ship systems could have up 4 parts:
system modules(peripheral) -> system computer(hardware) -> AI(software) -> NPC(user)
1) System modules (peripheral), just like cannon barrels or shield capacitors. The more modules the potent the system.
2) Main computer of the system(hardware), all modules should be linked to a system computer.
3) AI(software), will be needed to change the default balance settings of ship systems.
Shields: recharge rate, power usage priority, extend-ability of shields to docked entities, and ships
Thrust: force, direction, and rotation, power usage priority
Weapons: power, fire rate, recharge rate (may require a rethink on current weapon builds)
Jump Drive: recharge rate, power usage, range
(you get the idea)
With AI's you could change the settings of a system without having to adjust the modules.
4) NPC’s (users)Thrust: force, direction, and rotation, power usage priority
Weapons: power, fire rate, recharge rate (may require a rethink on current weapon builds)
Jump Drive: recharge rate, power usage, range
(you get the idea)
With AI's you could change the settings of a system without having to adjust the modules.
Bonuses: get better the more they’re used
Hand to Hand Combat: raiding parties
Ship Captains. Enables you to command a fleet of ships
Hand to Hand Combat: raiding parties
Ship Captains. Enables you to command a fleet of ships
I'm curious to hear what you guys think?
Thank you for your time
Last edited: