Currently in this project we're working with many low-level data structures, primitive types, battling synchronization, we need to be aware of garbage in hot paths etc. Development could possibly be simplified by using a game development library where all the low level details are already handled and optimized for us, and we are only working with those abstractions. Obviously, the library needs to permit some level of customization to handle any legacy quirks for preserving compatibility.
For example, something like Arch ECS https://arch-ecs.gitbook.io/arch/extensions/page-3/arch.system:
- knows about 2D positions and movement
- can separate monster AI behaviour systems
- can separate each player subsystem: Skills, Affects, Refine, Inventory, Guild, Marriage etc.
- is already optimized for performance in hot 100Hz loops
Currently in this project we're working with many low-level data structures, primitive types, battling synchronization, we need to be aware of garbage in hot paths etc. Development could possibly be simplified by using a game development library where all the low level details are already handled and optimized for us, and we are only working with those abstractions. Obviously, the library needs to permit some level of customization to handle any legacy quirks for preserving compatibility.
For example, something like Arch ECS https://arch-ecs.gitbook.io/arch/extensions/page-3/arch.system: