Closed jghibiki closed 6 years ago
Idea: For the space police we could have two variants, one that is akin to regular police, and one that is akin to swat. Have a static number of police roaming the map - most concentrated in the safe zone. Once a pirate goes above a certain bounty threshold without being head hunted by a bounty hunter, we send out an Enforcer which is still killable but more difficult to kill, meaning that bounty hunters could capitalize on the fact that an enemy is engaged with a very tanky-moderately high damage Enforcer
Name | Category | What it can do |
---|---|---|
The Hive Mind | Basic - Miner | A group of miners all move as a unit with small gap between each other; pathing allows for slight wobble in the path for variety |
The Silk Route-rs | Basic - Trader | Just goes from station to station on a continuous loop; tries to keep a relative ratio of people per route |
Interstellar Mall Cops | Basic - Police | Straight path to you on their Supersonic Segway, armed with water pistols and capable of giving you the meanest parking tickets |
Media Pirates | Basic - Pirate | Ask you politely for your goods, and if not, attack with lots of little attacks (death by 1000 papercuts) |
The Poor Shot | Basic - Bounty Hunter | A camping hunter; stays in one spot, shoots his targets if they enter the area, but will not chase |
I like the ideas, the only one i think might be difficult is the Hive Mind bots. At present the NPCs implement the same parent class as the player AIs do. So initially, communication between NPCs is no do-able. Additionally, I could see a real performance concern for an AI that manages an AI. We already have a lot of nested loops, I think it is imperative that we avoid adding more, especially for special/edge cases. I would however be interested to see if we can come up with some sort of novel way to do this.
One example, would be hard coding waypoints and then choosing what waypoint to go to based on what minute it is in the day. That way the NPC responds differently, but multiple NPCs don't need to communicate to know where to go.
This is a bit of a tangent but still related. There was some conversation regarding communications between ships, basically whether or not we wanted to include it at all. It seems like a good thing to increase the variety of interactions, especially at the basic level, by including messaging and possibly trading. Presumably done via a Message object with enumerated values, Message.Hello(target), Message.Trade(target, things[], for things[]), Message.Accept, etc.
This issue we had with this was that it could add a bit too much complexity to competitors for possibly low use if it's not intuitive or if there isn't a reason to trade with other people. I think we had agreed that messaging would be a good system to add after everything is working and see if it's necessary from there. I am open for more opinions on the topic to sway either way though.
True, but what value would a messaging syatem add? What incentive is there to trade amongst players? Additionally all "conversations" would happen in real time (more or less) so players would have to stop undertaking profitable activities for an activity which so far has no planned value. Secondarily as you mentioned yourself this might get complex for players to grasp if range of communication is a thing. And if it isn't, other players might spam messages to throw others off.
Finally, how would we display chat in the visualizer? This would be difficult with some novel means and without a way to do this would easily make chat a very oblique feature because players cannot get visual feedback from it.
One case where i could see a limited communication being useful is for pirating you could send a demand that another player drop cargo into space so that they can take it, however that might work better as a one-way demand that a pirate can send to their prey when they reach low health. And which the prey would recive as an alert to do with as they choose.
I haven't been able to think of a situation where trading between players would be worthwhile either. Surely you have the cargo you do because you already have a place and a plan to sell it. You can't sell cargo for above market price because there is no value in buying it other than immediacy, that's assuming you have something someone in the area even wants. You also can't sell for below market price because you could just go and sell it for market price and make more. Not to mention that trading in this would be like trading in Monopoly to an extent; any trade you make will be at the benefit of both parties, and why do something that would help someone else when you can do something to help yourself solely.
My other issue with messaging is its a feature that demands other features in order to operate and justify its existence. Messaging itself requires an inbox of some sort so you can read messages. Being able to message others for trading requires the ability to trade. Being able to message demands requires either trading or the ability to vent cargo to space and pick up that cargo.
I can see demands working out as you described because there is value in dumping cargo to space beyond the demands system alone. I could also see surrender being a related option in space fights which would then yield to the demands situation. Then again, I can see people wondering why they would accept surrender for some cargo when you could just destroy them for all of it on top of putting them through the ramifications of ship destruction. I suppose that conversation just goes to possibly destroying a chunk of cargo when the ship explodes so you are given the choice between the benefits of destroying the ship but getting less cargo, or no benefits of destroying the ship and getting more cargo. That's just a tangent from a tangent though.
To that point, we had previously discussed having a higher bounty for murder vs robery.
Right you are, didn't think about it. Well at least if we need further punishment for murder we'll know what to do.
Closing as discussion has halted and no action has been taken. This will be referenced when implementing NPC AI
A thought for the general NPCs: having several complexities of AI that perform multiple functions; general-purpose AI that will mine, transport, pirate, etc, when necessary, but the decision making process of what it decides to do and when will be determined by how advanced they are. For example:
Other than that, will we need AI for the following: