{"id":"sinlerdev/delver-pub","name":"delver-pub","scope":"sinlerdev","platform":"roblox","description":"A game framework for easier & scalable networking and cross-communication","version":"0.1.0","latest":"0.1.0","versions":["0.1.0"],"license":"MIT","licenseRating":"safe","licenseCaveats":["License identified from the packaged LICENSE file; the manifest declared none."],"licenseVerified":true,"dependencies":{"ffrostflame/bridgenet":{"version":"^2.0.0-rc4","alias":"BridgeNet"}},"integrity":"cc693829498112efaa20f73292764ee40ed1749fb2c0a9aeb366aea1cd908376","likes":0,"downloads":0,"install":"forest install sinlerdev/delver-pub","url":"https://forest.dev/p/roblox/sinlerdev/delver-pub","files":"https://api.forest.dev/ai/package/roblox/sinlerdev/delver-pub/files","readme":"# Delver\r\nA game framework for easier and scalable roblox networking & script communication.\r\n\r\n* [Documentation](https://plothan.github.io/Delver/)\r\n* [Roblox Marketplace](https://www.roblox.com/library/11521305055/Delver)\r\n* [Latest release](https://github.com/Plothan/Delver/releases/tag/V1.0.0)\r\n\r\nDelver was an internal project that was targeted to solve the issues that were introduced with Knit and other major frameworks, while also providing a few features on its own.\r\n\r\n## Features\r\n\r\n* **Unified Singleton** -- There is no thing such as Service or Controller - everything is wrapped in a single, unified singleton which is ***runner***\r\n* **Run Runners asynchronously or synchronously** -- You have the full control over how runners behave. If one is syned, and it yields, the execution of other synced runners are stopped.\r\n* **Running Server code from the Client** -- Delver gives you the ability to expose what's is known as ***endpoints*** from the server to the client. \r\n* **Networking aint go brr** -- Performant networking was always an concern of Delver, as such, we preciously chose a specific networking library based on our needs with the highest performance.\r\n* **Lightweight** -- Delver is extremely lightweight as it only requires one essential library for networking.\r\n* **No Global State** -- `_G` like data storages are entirely prohibited in Delver. The only way to store data is through naming them a name that starts with `_` *(to imply they are private)* or `M_` *(to imply they are Metadata)* - Of course assuming that the data type isn't either a table or a function. \r\n\r\n## Goals\r\n\r\n* Focus on optimizing networking\r\n* Enable powerful control flow through sensible methods that allow for greater productivity rather than methods that give full control in unsensible/unproductive methods\r\n\r\n## Why Networking Matters\r\nNetworking is undeniably the most important aspect to look into when designing a performant and efficient game. Due to the direct link between frame rate and networking *(packets are processed at the start of every frame, packates are sent at the end of every frame)*, unoptimized networking code can results in huge performance loses.\r\n\r\nDespite this, other frameworks didn't focus on improving networking performance, but rather support networking as is without any optimization.\r\n\r\nWith Delver, we wanted fast networking code due to the nature of our games, as such, we wanted to use a networking library that offered optimization to this specific use case - which is BridgeNet!\r\n\r\nBridgeNet is a dynamic and fast networking library that implements a techniques that would take rather a lot of time during the development time if we developed it ourselves.","readmeTruncated":false}