Dear FD: How To Code Realistic Spawns, Sincerely: Another Game Developer.

One of the things I've noticed on the forum over the years is a significant split in opinions of those posters who are also programmers.

One group: "Bugs would never be allowed where I work. Frontier should do something different."

Other group: "An app of this complexity has so many interacting bits it's a miracle it works at all"

I don't really have any hypotheses as to what leads a programmer into one group or the other.

"Bugs would never be allowed where I work" is mostly critical systems guys, and even then they are a bit hypocritical (although to be fair, those systems are best designed software systems on planet, and they have very strict QA requirements). I have seen lots of bugs in these systems, they aren't nothing new. However there's important catch - most of users of those systems are TRAINED to manage them. Thus if there are bugs or shortcomings, they are INSTRUCTED how to act in those situations.

There's no such luck for games. Heck, you can't even assume people will read manuals or view instructions because of course they won't.

As for ED being complex...well, it is. It might be even more complex than let's say nuclear reaction simulation software. It is important to understand not to mix up complex gameplay AND complex code, because complex code doesn't automatically imply gameplay will be complex. In fact, 'hiding' part of decisions made by code is way more complex than actually giving raw access to player. Because balancing, and getting nice gameplay experience for majority of players is nearly impossible to get right 100%.

Due of hundreds of thousands of players interactions and playstyle preferences it turns into complex beast you can ever have as IT project.
 
321a39e06d6401301d80001dd8b71c47
 
All of that could actually define what will spawn: System, security and location define what is available and it's scaled by the player as any NPC force would approach with an appropriate force to who the player is or behave in a different way if they are outgunned/-skilled.

Pirates could come under-equipped and just try to bull the player into handing over goods (and being modest about their demands) only to run off as soon as they are getting shot at, knowing they couldn't fight the player down into submission.

A greater variety of NPCs, each with a range of behaviours, generated according to the local environment, would be great. But it's also handy to tell the player what kind of environment they are in. A combination of show, and tell mechanisms. The current technique of having an NPC blurting about the system state in Supercruise is somewhat coarse.

The 2 lines for current location info in the target/location area of the cockpit UI are insufficient to show enough data, and the 2 additional lines of government type and wanted state that pop up when initiating a jump to the new system feel a bit improvised.

Perhaps this area of the cockpit UI could be reworked as a sort of notification display to temporarily cycle through physical conditions and political conditions when entering a new location and/or polity:

Examples:


Code:
[SYNUEFE X32-A   ]    [SYNUEFE DEF LEAGUE]
[M3v,K6          ] -> [DICT., ALLIANCE   ]
[                ]    [CIVIL WAR         ]
[                ]    [NEUTRAL           ]


[SYNUEFE X32-A-9 ]    [SYNUEFE MINERALS  ]
[GAS GIANT III   ] -> [CORP. INDEPENDENT ]
[PRISTINE        ]    [BOOM              ]
[METAL.,ROCKY    ]    [HOSTILE           ] 


[SYNUEFE PRIORY  ]    [SYNUEFE PROPHETS  ]
[RELIG. OUTPOST  ] -> [THEOC. INDEPENDENT]
[REPAIR          ]    [RETREAT           ]
[                ]    [CORDIAL           ]

This would be replaced by target information when changing tactical or nav target.

NPCs reacting to circumstance is already in the game. I had a fight with a pirate once, fought with him for a while but as soon as system security spawned, he shouted in local "The law!" and high waked out. More dynamic behavior like that would be great for creating a more living and breathing game world.

I'd like to see more responsive reactions in supercruise, and more flavour text to signal what is going on as NPCs modify their behaviour according to conditions. NPCs around stations are alright, but in SC they are mostly mute, except for the pirate about to interdict you. You do see NPC on NPC interdictions occasionally, but you have to be watching out for it.

For example, if there is a cop and a wanted NPC pirate within 500Ls of the primary, the cop will squawk: 'Stop and await scanning, criminal' to the hapless freebooter, who will either say 'You'll have to catch me first' and high-wake, or 'You'll never take me alive!' depending on their relative strengths. A trader might warn other non-combat ships about the presence of pirates, and an authority vessel in an authoritarian state might broadcast threatening messages to all and sundry. Pirate vessels escaping a Combat Aftermath could utter a hokey 'Let's get out of here while the going's good'. Oh, and a way to mute LOCAL chat if it becomes annoying.
 
NPCs are exactly the way the majority of ED players want them to be: easy, predictable, avoidable, underpowered.. it's all about grind - money, rank. You make NPCs harder people will cry they cannot grind effectively.

That is true.

Some even suggest adding NPCs to CQC so they can grind rank easy way.

That is not. The point of adding NPCs to CQC is to help fix the low population problem. CQC is a multiplayer-only arena shooter without a playerbase. The only way to get a game is to arrange a game beforehand wiht other players, which very few can be bothered with.
Bots would allow a player to get into a game without spending a whole hour in the lobby waiting for players.

Lately I've been playing another MP arena shooter suffering from the same issue: Angels Fall First. They have added bots to the game, which are pretty decent and allow you to actually play the game even with only 2 or 3 players. It's of course not as good as the full MP experience, but it's certainly better than not being able to play at all.
 
Last edited:
One of the things I've noticed on the forum over the years is a significant split in opinions of those posters who are also programmers.

One group: "Bugs would never be allowed where I work. Frontier should do something different."

Other group: "An app of this complexity has so many interacting bits it's a miracle it works at all"

I don't really have any hypotheses as to what leads a programmer into one group or the other.

Experience :)
 
The solution is obviously hardware. Point a directional antenna at an arbitrary point of the sky connected to a broadband receiver and your "entropy server" performs a fourier transform plotting signal strength against frequency, normalized to a 0 < strength < 1 range. whenever another machine needs a real random number it requests one and the entropy server increments its index into the frequency band by the number of milliseconds since the last call, looping back on overflow via the modulo operator and returns the signal strength at the new index. Simple! any competent programmer could come up with it!

/snark
 
I would like to have NPCs that spawned not according to player's ranks or ships, but according to the environment (BGS, type of location + some degree of randomness).

In fact, having NPCs spawn according to player rank and ships was one of the changes I disliked the most since the game was released. Makes the world feel much more game and much less natural.

Instead of creating NPCs for the player, NPCs should be created for the environment, and those NPCs would then react to the player AND other NPCs in a natural way.
 
I would like to have NPCs that spawned not according to player's ranks or ships, but according to the environment (BGS, type of location + some degree of randomness).

In fact, having NPCs spawn according to player rank and ships was one of the changes I disliked the most since the game was released. Makes the world feel much more game and much less natural.

Instead of creating NPCs for the player, NPCs should be created for the environment, and those NPCs would then react to the player AND other NPCs in a natural way.

I agree and my ranks are not that high too. NPC spawns should be more random. Or have a subset that is relevant to your rank and the rest random. If I want to try to take down an Elite wanted NPC, I should have that opportunity.
 

Dominic Corner

Mostly Harmless Programmer
Frontier
The solution is obviously hardware. Point a directional antenna at an arbitrary point of the sky connected to a broadband receiver and your "entropy server" performs a fourier transform plotting signal strength against frequency, normalized to a 0 < strength < 1 range. whenever another machine needs a real random number it requests one and the entropy server increments its index into the frequency band by the number of milliseconds since the last call, looping back on overflow via the modulo operator and returns the signal strength at the new index. Simple! any competent programmer could come up with it!

/snark

Hi there,

Works for cloudflare...

[video=youtube;1cUUfMeOijg]https://www.youtube.com/watch?v=1cUUfMeOijg[/video]

Thanks,
Dom
 
I would like to have NPCs that spawned not according to player's ranks or ships, but according to the environment (BGS, type of location + some degree of randomness).

In fact, having NPCs spawn according to player rank and ships was one of the changes I disliked the most since the game was released. Makes the world feel much more game and much less natural.

Instead of creating NPCs for the player, NPCs should be created for the environment, and those NPCs would then react to the player AND other NPCs in a natural way.

FD decided to go 'NPCs for the player' when it got big backslash over harder NPC combat AI. Granted, balancing everchanging player curve is hard. Overall it feels that after Master ED kinda takes off kid's wheels, and NPCs become more harder to predict and I have found myself running from them quite often - something I didn't do before reaching Master.
 

Dominic Corner

Mostly Harmless Programmer
Frontier
Unreal.

I bet the USA will prohibit the export of lava lamps at some time in the future ;)

Hi there,

As they say in the video, they produce randomness around the world; in their london office they have a chaotic pendulum and in singapore they have a radioactive source, so losing the lava lamps won't be too big of an issue ;)

GamesByEmail went with a more traditional method...
[video=youtube;7n8LNxGbZbs]https://www.youtube.com/watch?v=7n8LNxGbZbs[/video]

Thanks,
Dom
 
Back
Top Bottom