i am told making AI who can act intelligently enough to work as wing(wo)men is super hard in Elite.
I am told npc crew is a really complex ask, and that to have an npc engineer, science officer, commando, fighter pilot as a part of our crew will take a huge amount of work.
What i do not understand is WHY this is the case, esp when games i played 20+ years ago on a machine relatively with the power of a potato managed it just fine.
Okay, take one of those, the NPC AI, to be able to have an NPC Crew that is going to be a member of the crew you need to pretty much understand all the possible inputs and define an action for them. This could either be a set of hard rules, a number of broad rules that cover a range of behaviour, a neural net that learns as it plays, or some combination of all of these with some random fluctuation built in. There may be more possibilities here but these are the ones I can think of off the top of my head. So which of these is the better route?
You have to realise that this also needs to be developed in the context of Elite Dangerous as it is today, not some other game of 20+ years ago.
Other questions and in no particular order:
What are all the possible behaviours that the AI is to exhibit?
What are the limitations of these behaviours? You don't want the AI to have instantaneous reflexes for example, they need to be approximately human.
What can go wrong and what is allowed to go wrong?
What about damage to the NPC, how is that going to be modelled? Is it going to be modelled at all?
What are the differing roles required for the AI NPC and how are these different?
Across the differing roles what are the common behaviours?
For each role what are the unique behaviours?
What are the required skill levels? We have Harmless through to Elite are the NPCs gong to have the same and if so what does that mean in terms of the behaviours? Faster reflexes? Better coordination? and so on.
How are the skill levels gong to affect the common and unique behaviours for all roles.
Are there likely to be new roles required in future?
How can all of the above be parameterised so that changes to roles and behaviours as well as new roles and behaviours require minimal new code, preferably none.
How does all of this fit with the current game engine?
How does all of this fit with the existing code?
What are the likely choke point in the code?
What possible optimisations can be made to speed up the code? Probably going to need to wait until the code is written before attempting to answer this one.
How is this going to be developed?
How is this to be tested? That is alpha testing and not beta testing.
What is the likely timescale for this?
Is just one role developed to start with and others added or should a generic crew member be created first and then specific roles added?
How many developers will be required to develop this?
Is there anything already out there that will help with all of this?
Are specialised developers needed to help with this and should they be contractors or permanent staff?
How are the new crew NPCs going to be recruited?
Are NPC crew going to be rewarded for their part in the game and if so how.
Are the NPC crews to be persistent or transitory?
What roles and behaviours have the player base been asking for?
Are the requested roles and behaviours reasonable?
How does all this fit with the vision of the current game?
Should this development be extended to NPC with space legs in the future? If so, what are the likely roles? Bartender, mechanic, accountant, mission giver, tourist etc.
What are the testing scenarios?
How are QA going to be involved and at what point?
How many QA staff will be required to work not this once it hits alpha testing?
How are the NPCs to be rendered?
Can the Holo-me suite be used to render the NPCs? If so what parameters are required for each NPC role?
The list goes on.
These are just a few of the questions that need to be answered before development can even begin that I can think of off the top of my head. If I were to sit down and approach this as a proper development task, bearing in mind that I write complex business software for a living and have been in the software business for over 45 years, so I like to think that I know a little about the subject, I would expect this basic specification to run to at least 50 pages of A4. The task would require one project Manager and 3-5 developers and probably around 6-12 months to get a playable model in the lab, with public beta testing in 12-18 months.
I could be way off with those last, as I said my experience is in business application not game development but I'm probably not that far off.
I wouldn't even begin to be able to look at the costs or whether or not this was even a justifiable project, I leave that to other experts to answer those questions.
And we haven't even begun writing code yet!
So, does that give you a better idea of the complexity of the task?