more savegame ideas

This commit is contained in:
minjaesong
2021-10-06 17:50:23 +09:00
parent c211b94b13
commit 548993553a

View File

@@ -7,12 +7,12 @@ The main game directory is composed of following directories:
``` ```
.Terrarum .Terrarum
+ Players + Players
- <Player Name Here>, TVDA { actor JSON, optional textures and sprite defs } - <Player Name Here>, TVDA { (-1) player JSON, (-2) optional spritedef, (-3) optional spritedef-glow, (-1025) sprite-bodypart-name-to-entry-number-map.properties, (1+) optional textures and sprite defs }
+ Shared + Shared
- <e.g. Disk GUID>, TEVD { * } - <e.g. Disk GUID>, TEVD { * }
- <this directory can have anything> - <this directory can have anything>
+ Worlds + Worlds
- <World Name Here>, TVDA { WriteWorld, actors JSON, chunk data, screenshot.tga.gz taken by the last player } - <World Name Here>, TVDA { WriteWorld, actors (mainly fixtures) JSON, chunk data, screenshot.tga.gz taken by the last player }
``` ```
(TEVD stands for Terrarum Virtual Disk spec version 3, TVDA stands for spec version 254; both have MAGIC header of `TEVd`) (TEVD stands for Terrarum Virtual Disk spec version 3, TVDA stands for spec version 254; both have MAGIC header of `TEVd`)
@@ -21,11 +21,16 @@ The main game directory is composed of following directories:
1. Player ID must not be strictly 9545698 (0x91A7E2) 1. Player ID must not be strictly 9545698 (0x91A7E2)
1. Use classname `net.torvald.terrarum.modulebasegame.gameactors.IngamePlayer` to check 1. Use classname `net.torvald.terrarum.modulebasegame.gameactors.IngamePlayer` to check
2. Each world has to be uniquely identifiable 2. Each World and Player has to be uniquely identifiable via GUID
1. Use GUID, World Name, etc.
3. `ActorNowPlaying` must be drawn on top of other actors of same RenderOrder 3. `ActorNowPlaying` must be drawn on top of other actors of same RenderOrder
## To-dos After the Initial Implementation ##
1. Modify Savegame Crackers and Disk Crackers to work with the new scheme
2. Create Player Creator Tool for avatar-makers
## Goals ## ## Goals ##
1. Allows multiple players share same world 1. Allow multiple players share the same world
2. Makes multiplayer possible 2. Make multiplayer possible
3. Make Players distributable (like VRChat avatars)