pioneerspacesim/pioneer — Issue #663: Nethack style #conduct (also has implications for reputation)
Author: johnbartholomew
Created: 2011-10-14 22:46:18+00:00
State: open

This is a long term design/feature request. Mentioned on IRC a couple of times (logs below).

NetHack's [#conduct](http://nethack.wikia.com/wiki/Conduct) is a set of challenges that you can attempt while playing. These are things like "You have been a pacifist." They're not active (you don't go into a menu anywhere and pick a challenge to try), and they're not binding (just because you've been a pacifist in the game so far doesn't in any way prevent you from attacking a monster now). The game just keeps track of various events and statistics about the player's actions.

I'd like to see this idea in Pioneer. The game should keep track of lots of statistics about what the player does (stats are usually pretty cheap to keep, so we should just track whatever stats we can think of), and then we can have achievements and conduct. Some examples of possible Pioneer conduct and achievements:

* Never used autopilot
* Never used set-speed
* Won all battles
* Never landed on a planet
* Never docked in a space station
* Only used main thruster
* Never used external view
* Made a profit on every journey
* Lived for a million (virtual) years
* Never cheated (never used the Lua console)
* Never fired a weapon

Keeping stats on player actions has other possible uses as well, in particular it can be used in a reputation system. If you never (or only rarely) run away from a fight you might get a reputation as being tough or violent. If you reliably make profits on trading runs you might get a reputation as being a good trader. If you always make deliveries quickly you might get a reputation that allows you to get more lucrative delivery contracts.

```
Oct 13
re: nethack. I want Pioneer to keep a lot of stats on player actions to get a nethack style #conduct list
(never used autopilot; never used set-speed; won all battles; never landed on a planet; never docked in a space station; only used main thruster; never used external view; made a profit on every journey; etc)
"distance traveled" :)
"never used time acceleration"
lol
would take forever to get anyway without time acceleration,
that was the joke:)
I know
leave your computer on for a year, and it might just get somewhere
'million virtual years'

Oct 14
I want Pioneer #conduct though, as I've said before
jpab: That's worth an issue
Might be able to code that in Lua already
well it's almost entirely stat tracking -- most of those stats will have to be exposed through the core I imagine
although conduct() will by necessity never show "never used console"
actually stat tracking of the sort I'm thinking of might be a good way of doing reputation too
jpab: If we merge that with my musings on a GURPS-style character sheet, we're set up for everything like that
self-quote from earlier: "Roll under your charisma to get that deal"
<_robn> This matches well with modifier-based equipment
with a character sheet for each crew member (or applicant)
Player can't see the actual sheet
but it will influence the answers inteh BBS ad
<_robn> Yay, engine mod / crew with +10% hyperspace range
```