Mined Stone Doesn't Disappear
TBye101 opened this issue · 4 comments
TBye101 commented
When workers finish mining stone, the stone is not removed.
ABuonanni commented
Has somebody already verified if this is a client or server issue?
TBye101 commented
No, however it is likely a server issue, not a client rendering issue.
Thomas
…________________________________
From: ABuonanni <notifications@github.com>
Sent: Monday, April 1, 2019 1:28:28 AM
To: SneakyTactician/MagicalLife
Cc: Thomas Bye; Author
Subject: Re: [SneakyTactician/MagicalLife] Mined Stone Doesn't Disappear (#123)
Has somebody already verified if this is a client or server issue?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#123 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AQ16c_p60cvWZ7mCp1-Pk4qL-dIF4u3sks5vcacMgaJpZM4cTSZf>.
ABuonanni commented
I'm having difficulties getting myself around the whole solutions. Is there any kind of "system design" documentation? Something that explains, even at an high level, how the system works?
TBye101 commented
There is a high level description of what each assembly/project does in this:
https://github.com/SneakyTactician/MagicalLife/tree/Crafting#assembly-descriptions
However, this is as detailed as it gets. Classes generally have decent (in my opinion) documentation, but I haven’t ever thought about creating a system design document.
Here’s a quick high level description of how the game works:
[MagicalLifeGUIWindows->Game1.cs] is the entry point for the GUI client
[MagicalLifeGUIWindows->Rendering->MapRenderer.cs] is the starting point for rendering graphics.
This pulls the data for the world/map from [MagicalLifeAPIStandard->World->Data->World.cs] and renders it
[MagicalLifeClientStandard->Client.cs] has a event called ClientTick which triggers game logic such as entity movement, which is stored in [MagicalLifeAPIStandard->Entity->Movement->EntityWorldMovement.cs]
This client tick is triggered by messages from the server, which are sent from [MagicalLifeAPIStandard->Networking->Server->ServerSendRecieve.cs] and received by the client in [MagicalLifeAPIStandard->Networking->ClientSendRecieve.cs]
Serialization logic is stored in [MagicalLifeAPIStandard->Networking->Serialization->ProtoUtil.cs], and utilizes Protobuf-net for serialization. You can find examples of how to prepare a class for this kind of serialization on their Github site, or by finding one of the many classes that do so within this project.
Entity “jobs”/logic is managed by [MagicalLifeAPIStandard->Entity->AI->Task->TaskManager.cs]
Logging is done through a class called “MasterLog”, which is stored along with a lot of other file management classes in [MagicalLifeAPIStandard->Filing]
I’m sure that this will not completely tell you how the game works, but it should hopefully give you starting place to ask questions from.
Let me know what questions you have
From: ABuonanni <notifications@github.com>
Sent: Thursday, April 4, 2019 6:52 AM
To: SneakyTactician/MagicalLife <MagicalLife@noreply.github.com>
Cc: Thomas Bye <thomasbye1@outlook.com>; Author <author@noreply.github.com>
Subject: Re: [SneakyTactician/MagicalLife] Mined Stone Doesn't Disappear (#123)
I'm having difficulties getting myself around the whole solutions. Is there any kind of "system design" documentation? Something that explains, even at an high level, how the system works?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#123 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AQ16cwo6FkJ7wLYofpnxTOxCAmvaMCR2ks5vdedvgaJpZM4cTSZf>.