withaust / spaceriskgame-flax Goto Github PK
View Code? Open in Web Editor NEWA sandbox PvE looter-shooter made in Flax Engine with C++/C#
A sandbox PvE looter-shooter made in Flax Engine with C++/C#
Release is not going to compile due to a redefinition issue:
GameAnalytics.lib(guid.obj) : error LNK2005: "public: __cdecl Guid::Guid(void)" (??0Guid@@QEAA@XZ) already defined in FlaxGame.lib(FlaxGame.exe)
Current implementation initially syncs stuff over common INetworkedObject
interface. This makes a lot of sense for stuff like System's that require server to client syncing, but when it comes to Entities this concept fails, due to the fact that you would need to send RPC calls for EVERY SINGLE NETWORKED COMPONENT. If you have an NPC which has like 15 components that only have 1-2 networked variables, you would need to sync scene up with NpcCount * 15
RPC calls. This is unacceptable, and has to be changed immediately. For Entity we have to make a custom exception with a custom replication mechanism that would involve gathering replication info of each of the networked component, and then sending them all bundled up per each Entity. This would lower down the amount of sent RPC calls significantly, while also improving compression rates due to the fact that we are now compressing replication data of the entire Entity, and not each component individually.
P.S. Also, sending replication data can be done on a single frame without any issues. From what I've saw in the sourcecode, Flax already supports and works over internal buffers for sending messages, so it should be handled automatically somehow, I hope...
Currently, when we change cameras we also have to manage stuff like player movement in like so:
entity->GetComponent<PlayerNetworking>()->Camera->SetIsActive(false);
entity->GetComponent<PlayerMovement>()->CanMove = false;
Cameras[0]->SetIsActive(true);
This is super bad and was initially written to test out stuff. This has to be automatically handled by the player camera OnEnable()
/OnDisable()
instead.
Currently, using tools to get splatmap data relies on editor only code, and having a precompiled static grid with terrain types would also be beneficial to speed up game's initialization.
Having global state enforces to toggle global effects on/off constantly through the code is horrible. This could be easier done on per camera basis.
Currently, we are using this horrible way of implementing icon proxies for Json assets -> https://github.com/UnarySoftware/SpaceRiskGame/blob/main/Source/Game/Scripts/Editor/AssetIconsProxy.cs
But @mafiesto4 successfully fixed it in the 1.6 branch ->
FlaxEngine/FlaxEngine@086e4c9
We will have to migrate when 1.6 will arrive.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.