Web platform
See also: Development whiteboard, User stories.
Community features
Currency
Planned to have two denominators with different value and a conversion rate.
Perhaps a fixed total amount on the platform, with the root Freeblox account acting as the reserve holder.
Denominators can be exchanged, currency can be transacted between players and exchanged for goods in the store.
Currency whole
A larger currency denominator.
Will be rewarded to players:
- Log in every day of the week (1 u)
- Featured game (5 u)
- Top game of the day (1 u)
Name ideas
- Cylinder
- Block
- Tokens
Currency fragment
A smaller currency denominator.
Will be rewarded to players:
- Daily login bonus (10 u)
- Game visit bonus: 10 u per visit of at least 5 min.
Name ideas
- Sector
- Bit
- Points
Voting
All user-created content on the site can be voted on after owning, playing.
Commenting
All user-created content on the site have a comment section.
Character features
See Character.
Store catalog
Character items
- Characters
- Clothing
- T-Shirt
- Shirt
- Pants
- Accessories
- Hat
- Face
- Front
- Body
Creator items
- Textures
- Meshes
- Sounds
- Models
- Animations?
User privileges and roles
Role | Description | Privileges | Notes |
---|---|---|---|
player | A regular player without restrictions. | web, report, play, shop, community, create:game, create:clothing trade, oidc | Default role assigned on registration |
member | Placeholder role, possibly for paid membership or donations | Privileges in addition to those from player:
create:accessory |
|
moderator | Website content moderator | Privileges in addition to those from member:
ban, privban, contentmod, server:quarantine |
|
admin | Platform administrator | Privileges in addition to those from moderator:
permaban, server:stop, server:banhost, server:provision |
|
reduced | Banned users will effectively have this role | web, report |
Privilege | Provided in | Description | Notes |
---|---|---|---|
web | player | Logging in, navigation, views | Available for banned users as well. |
report | player | Reporting content | |
play | player | Play games | |
shop | player | Buy character items | |
community | player | Add comments, rate content | |
trade | player | Trade with other players | |
oidc | player | Allow logging in to other connected platforms such as the forum | |
host | Player can host and announce their own server(s) | Automatically assigned after TBD days of account age | |
contentmod | moderator | The ability to review and moderate user created content | |
ban | moderator | Ban users from the platform | Up to a month max, no IP ban |
privban | moderator | Ban an user privilege | This can be used to disable a feature for a user without creating custom roles |
permaban | admin | Ban users and IP addresses/networks from the platform | No limits |
root | The right to do anything | The API does not allow assigning this privilege,
only doable from the database or by just using the superuser account | |
create:game | player | Publish games to the platform | |
create:clothing | player | Create character clothing items and distribute them | |
create:accessory | member | Create character accessories and distribute them | |
create:character | Create new character models | ||
server:quarantine | moderator | Prevent new sessions from being assigned to a server | Moderator only has temporary means of preventing
access to a malicious server - must bring it to the attention of an administrator immediately. |
server:stop | admin | Stop a server. | Provisioned servers will be shut down, hosted
servers will be prevented from announcing themselves until next restart (session revoke). |
server:banhost | admin | Ban a server host. | Not available for provisioned servers, hosted servers will be
IP banned indefinitely from the platform. |
server:provision | admin | Provision new servers from the configured game host pool. |
Notes
- 1 superuser account (Freeblox, created using database seeder, default password must be changed on first startup).
- Roles and privileges are set up using database seeder.
- Store categories are set up using database seeder.
- When creating Accessories, the model has to be exported as GLTF binary format and the material must be baked into an albedo texture. Meshes and Textures are separate content objects. Animations are not yet supported/planned.
- Character model will probably need its own format to dictate how it loads and what features it supports. Games should also be able to choose which models are allowed in their game, as asset loading is done at first on the server side.