Aaron Suen 8120a5c715 Re-rename hints/challenges to discovery
NodeCore is supposed to be a "player vs self" mental
challenge, neither tourism/spectacle, nor a "player vs
environment" conquest.  Players are supposed to find
their own goals, as well as applying the effort to
achieve them, and the nature of the goals is
purposefully as open-ended as possible, ideally with
no bias toward any kind of "completionism."

The name "Hints" implied some kind of assistance, and
thus was inappropriate.  The name "Challenges"
similarly implies an extrinsic source of motivation,
which the system is only marginally designed to
provide; especially, it helps new player gain some
momentum, but players are supposed to find their own
motivation eventually instead of chasing after
hint completion as a goal, especially since they will
miss the most compelling aspects of the game.

Somewhat experimentally, rename these once again
to "discovery"/"discoveries" and remove language that
suggests progress toward completion.  Add stronger
language suggesting that there is much more to
discover outside of this, hinting at emergent systems
as an example
2021-12-12 14:17:29 -05:00

27 lines
901 B
Lua

-- LUALOCALS < ---------------------------------------------------------
local minetest, next, nodecore, pairs
= minetest, next, nodecore, pairs
-- LUALOCALS > ---------------------------------------------------------
minetest.register_chatcommand("tabula", {
desciption = "Reset NodeCore discoveries",
params = "rasa",
func = function(name, param)
if param ~= "rasa" then
return false, "If you're sure you want to erase all discovery"
.. " progress, use the command \"/tabula rasa\""
end
local db, player, pname, save = nodecore.get_player_discovered(name)
if not db then
return false, "Must be online and have interact privs"
.. " to use this command"
end
while next(db) do db[next(db)] = nil end
for _, cb in pairs(nodecore.registered_on_discovers) do
cb(player, nil, pname, db)
end
save()
return true, "All discoveries reset"
end
})