- Same gameplay style as Everybody Edits
- Same block ID mapping. New blocks/packs must have a unique ID
- Guest "accounts" without chat or owned worlds
- Decentralised servers (community-hosted)
To-do:
- Transaction IDs for packets
status_t Server::pkt_*(peer_t, Packet &pkt)- The return value is sent in an ACK-like packet when
pkt[1] != 0 - Useful for chat commands, bot programming and saner client communication
- Private worlds
- Achievements: death counter, timer (Lua side)
- Login
- Save server addresses, nickname and (optionally) password hash to database
- Modding API (Lua)
- Events with more than 1 payload
- Per-player and per-world states (shared on join)
- Ensure correct client-side prediction by sanity checks (physics dependent tile)
- Movable objects, e.g. for mobs.
- Moderator tools in the main menu
- Event logger + "Inbox"
- IP/user bans or mutes
- Chat commands
/pm/ignore(server-wide)
- Audiovisuals
- Animated coins (rotating mesh?)
- More sounds: on collide, jump (also of other players)
- Anti-Cheat
- Opt-in by chat commands
- Confirmation by server-side physics simulation
- Abort simulation near modified blocks (tile number)
Maybe:
- Group/crew system for easier per-world permission management
- No dependencies from GUI to
Client(useGameEvent) - No dependencies between
ClientandServer
Server-only build:
- Irrlicht dependency limited to headers only
- >= 32x32 px textures
- Where it matters, use color-blind friendly colors
Helpful GIMP tools for texture creation:
- Block borders:
- Select -> Shrink (1 px) : Adds a border
- Select -> Feather (5 px) : Smoother selection
- Select -> Invert : Actually selects the border
- Bucket Fill Tool with 100% threshold to fill the border (black?)
- For rounded borders (e.g. candy pack)
- Select -> Rounded Rectangle (35%)
- Select -> Invert
- Delete (needs alpha channel)
- Basic shading
- New layer, Mode "Multiply"
- Gradient Tool : White to grey gradient on new layer