Web platform: Difference between revisions

From Freeblox
Jump to navigation Jump to search
No edit summary
(→‎Notes: character model will be gltf)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
See also: [[Development whiteboard]], [[User stories]].
== Community features ==
== Community features ==


Line 21: Line 23:
# Cylinder
# Cylinder
# Block
# Block
# Tokens


==== Currency fragment ====
==== Currency fragment ====
Line 34: Line 37:
# Sector
# Sector
# Bit
# Bit
# Points


=== Voting ===
=== Voting ===
Line 43: Line 47:
== Character features ==
== Character features ==


=== Character models ===
See [[Character]].
Character models are the models player characters use when they spawn into a world.
 
By default, the primary character model is '''Round6''', composed of 4 rounded limbs, a rounded torso and a cylindrical head.
 
==== Round6 ====
The character model contains the following:
 
* Parts: Head, Torso, ArmLeft, ArmRight, LegLeft, LegRight
* Skeleton: BRoot, BTorso, BHead, BArmL, BArmR, BLegL, BLegR,
* Animations: Idle, Walk, Jump, Sit, Wield, Climb
* Standard UVs: [http://git.icynet.eu/freeblox/assets/raw/branch/master/shirt.png Shirt], [http://git.icynet.eu/freeblox/assets/raw/branch/master/pants.png Pants] (Roblox-compatible)
* Features: 6 colors, Height scale, T-shirts (1), Shirts (1), Pants (1), Hats (5), Faces (1), Body (5), Tools (1).
 
=== Character colors ===
Character model parts' colors can be picked. Configurable by character model.
 
=== Character height ===
Character vertical scale can be modified. Can be disabled for character model.
 
=== Character clothing ===
Three main parts: T-shirts, Shirts and Pants. Combined into single character texture.
 
When creating, need to specify which character model(s) it supports.
 
=== Character accessories ===
Hats, Faces, Tools, Front, Back, etc..?
 
When creating, need to specify which character model(s) it supports (or add variations for different models?)
 
=== Ideas and other stuff ===
 
==== MyLittleQuadruped character model ====
Basic pony character model inspired by My Little Pony: Friendship is Magic, usable for ponies and furry characters.
 
* Parts: Head, Body, HoofLeft, HoofRight, LegLeft, LegRight
* Features: 6 colors, Height scale, Hats (manes, horn, etc), Faces (eye color and style), Tools (hoof wields, telekinetic effects), Body (tails, wings, bags etc)


== Store catalog ==
== Store catalog ==
Line 109: Line 77:
|+System roles
|+System roles
!Role
!Role
!Default
!Description
!Description
!Privileges
!Privileges
Line 115: Line 82:
|-
|-
|player
|player
|true
|A regular player without restrictions.
|A regular player without restrictions.
|web, report, play, shop, community, create:game, create:clothing trade, oidc
|web, report, play, shop, community, create:game, create:clothing trade, oidc
|
|Default role assigned on registration
|-
|-
|member
|member
|false
|Placeholder role, possibly for paid membership or donations
|Placeholder role, possibly for paid membership or donations
|Privileges in addition to those from player:
|Privileges in addition to those from player:
Line 128: Line 93:
|-
|-
|moderator
|moderator
|false
|Website content moderator
|Website content moderator
|Privileges in addition to those from member:
|Privileges in addition to those from member:
ban, contentmod, server:quarantine
ban, privban, contentmod, server:quarantine
|
|
|-
|-
|admin
|admin
|false
|Platform administrator
|Platform administrator
|Privileges in addition to those from moderator:
|Privileges in addition to those from moderator:
Line 142: Line 105:
|-
|-
|reduced
|reduced
|false
|Banned users will effectively have this role
|Banned users will effectively have this role
|web, report
|web, report
Line 204: Line 166:
|Ban users from the platform
|Ban users from the platform
|Up to a month max, no IP ban
|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
|permaban
Line 209: Line 176:
|Ban users and IP addresses/networks from the platform
|Ban users and IP addresses/networks from the platform
|No limits
|No limits
|-
|contentedit
|admin
|Edit all fields of content objects, including internal ones, such as max stock
|
|-
|-
|root
|root
Line 268: Line 240:
* Roles and privileges are set up using [http://git.icynet.eu/freeblox/web-service/src/branch/master/apps/auth/src/database/seeds/0002-initial-privileges.ts database seeder].
* Roles and privileges are set up using [http://git.icynet.eu/freeblox/web-service/src/branch/master/apps/auth/src/database/seeds/0002-initial-privileges.ts database seeder].
* Store categories 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.
* 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.
* Character model will use the glTF format for model data and 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.

Latest revision as of 10:15, 19 August 2023

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
  1. Cylinder
  2. Block
  3. 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
  1. Sector
  2. Bit
  3. 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

System 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
System privileges
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
contentedit admin Edit all fields of content objects, including internal ones, such as max stock
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 use the glTF format for model data and 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.