You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This must be done manually no batching without breaking possible.
Performance and memory optimizations
Investigate where modern features of .NET could improve performance or reduce allocation.
Better use of Span, ReadOnlySpan, ISpanFormattable
Try to find places where stack allocation would suffice for object type conversion.
Find operations with byte buffers which could be done on stack only.
Investigate use of DotNext
DotNext offers some very nice set of API wich may be of use for us.
Investigate possibility of running Edelstein channels on RAFT cluster.
Investigate possibility of using Atomics API for field object id stuff.
Plugins
Investigate possibility of Hot-Reload
Investigate possibility of registering external plugins
Investigate possibility of source gening the plugins
Investigate possibility of runtime patching/injecting
SnapshotPlugin
Ideally this could be external plugin however that presumes some progress on the before mentioned points :{
Creates interface for writing/reading snapshots which are stored in structured CSV.
A marvelous work Sep is utilized to parse/read the actual csv.
SnapshotReaderWriter - somewhat done
SnapshotContext - done
Stats - done
Skills - works but there's possibility of mismatch between application of skillsSnapshot
Inventory - only handles equipment so far
CharacterBuild - works with exceptions mentioned before
AdminPanel
This largely depends on development of SukiUI as many needed controls were already mentioned in possible future development of SukiUI.
Setup
Setup wizard
We don't need any complicated workflow system, a Cake.Frosting async pipeline should be entirely sufficient for this.
Download repo
Unzip to install dir
Run dotnet tools
Download data/scripts
Unzip into server root dir
Autoinstall from archive
Download binary
Unzip to install dir
Download data/scripts
Unzip into server root dir
Server
Launch/Monitoring
Launch via process and its info, window hidden, output redirected, use args if any.
Observe the process properties
Filter output into separate logs
Configuration
Start file watcher.
Load configuration into property grid.
Use ReactiveValidation on the input -> figure out bounds for server settings.
On change write file back to storage.
Since snapshots have predefined structure it should be easy to use AI LLM to generate valid snapshots which could be initialized.
This leads to interesting possibility of making a Text -> Server states convertor.
Role play
AI is prompt engineered to play a game which us where context of being NPC is given and uses reduced protocol for utilizing the NPC and receiving model updates.
RL/RLHF
Learn from prediction of input to attain basic goals/rewards.
Reward function:
Positive:
gain exp, level, stats, skills
explore map, new screen
obtain, finish quests
trade items for mesos
Negative:
lose exp, level, stats, skills
no new visual scene for some time
Data
Scripts
Load scripts in AvaloniaEdit control to edit them and save.
Reflect the exposed LuaApi as autoCompletion choices.
WZ/NX game archives
Pack/Unpack.
Read/Write.
Parse/Display.
Database
Manage and monitor PostgreSQL installation/service.
View the db tables.
Populate db with data from GUI.
Write and execute SQL queries.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
This is summary of some talk I had with @Kaioru on discord.
Putting it up here so its up for further specification and discussion.
Edelstein
Cleanup the entire solution using modern C# syntax features where possible
Primary ctors, object initializers, switch expressions, pattern matching expressions
This must be done manually no batching without breaking possible.
Performance and memory optimizations
Investigate where modern features of .NET could improve performance or reduce allocation.
Better use of Span, ReadOnlySpan, ISpanFormattable
Try to find places where stack allocation would suffice for object type conversion.
Find operations with byte buffers which could be done on stack only.
Investigate use of DotNext
DotNext offers some very nice set of API wich may be of use for us.
Investigate possibility of running Edelstein channels on RAFT cluster.
Investigate possibility of using Atomics API for field object id stuff.
Plugins
SnapshotPlugin
Ideally this could be external plugin however that presumes some progress on the before mentioned points :{
Creates interface for writing/reading snapshots which are stored in structured CSV.
A marvelous work Sep is utilized to parse/read the actual csv.
SnapshotReaderWriter - somewhat done
SnapshotContext - done
Stats - done
Skills - works but there's possibility of mismatch between application of skillsSnapshot
Inventory - only handles equipment so far
CharacterBuild - works with exceptions mentioned before
AdminPanel
This largely depends on development of SukiUI as many needed controls were already mentioned in possible future development of SukiUI.
Setup
Setup wizard
We don't need any complicated workflow system, a Cake.Frosting async pipeline should be entirely sufficient for this.
Well use Octokit to interface with github.
Autoinstall from source
Download repo
Unzip to install dir
Run dotnet tools
Download data/scripts
Unzip into server root dir
Autoinstall from archive
Download binary
Unzip to install dir
Download data/scripts
Unzip into server root dir
Server
Launch/Monitoring
Launch via process and its info, window hidden, output redirected, use args if any.
Observe the process properties
Filter output into separate logs
Configuration
Start file watcher.
Load configuration into property grid.
Use ReactiveValidation on the input -> figure out bounds for server settings.
On change write file back to storage.
AI
Interfaces:
OpenAI - OpenAI-DotNet
Anthropic - Claudia
Generation
Since snapshots have predefined structure it should be easy to use AI LLM to generate valid snapshots which could be initialized.
This leads to interesting possibility of making a Text -> Server states convertor.
Role play
AI is prompt engineered to play a game which us where context of being NPC is given and uses reduced protocol for utilizing the NPC and receiving model updates.
RL/RLHF
Learn from prediction of input to attain basic goals/rewards.
Reward function:
Positive:
Negative:
Data
Scripts
Load scripts in AvaloniaEdit control to edit them and save.
Reflect the exposed LuaApi as autoCompletion choices.
WZ/NX game archives
Pack/Unpack.
Read/Write.
Parse/Display.
Database
Manage and monitor PostgreSQL installation/service.
View the db tables.
Populate db with data from GUI.
Write and execute SQL queries.
Beta Was this translation helpful? Give feedback.
All reactions