First part [registering] is easily doable in newer SDK - you'll need at least version which have registration screen moved to scripts, as it also exposes required stuff.
Second should be doable as well, there was option to change on-head name in 2238 using lexems [search for "$@" in scripts]; changing
CritterCl::NameOnHead, just like 'name colorizing' does, would be even simpler but would work only in SP.
Now for removing name
completly from registration:
Singleplayer: you just send string with name and/or use NameOnHead, no magick here; boooriiing
Multiplayer: i'd try with changing
name argument in
player_register() to something unique, like critter id and in
critter_init(), if
firstTime is true, set name-lexem basing on which preset player selected [client needs to send such info as param]. I'm not sure if
player_register() works how i assumed [can't check source now] so it may become a problem.
Setting critter params can be done in client or server, your choice. I'd personally make shared .fos with data, use client
only for display and set everything on server [
critter_init() + firstTime again] but that's just me thinking multiplayer and preventing possible hacks, it may be pointless for you