loftar wrote:I don't really see why that would make it better. Just as you rightly say, choosing an externally developed engine would mostly just serve to restrict our choices, and I don't really see what positive would come out of it.
The reason is that field of graphics engineering as specialized as any other field. People who create graphics engines should have specific set of skills (
https://study.com/articles/Graphics_Engineer_Job_Description_Duties_and_Requirements.html) and up-to-date expiricence with related technologies (DirectX, OpenGL, Vendor-specific extensions and other stuff). This guys know how to make certain things both fast and cool-looking. The huge advantage of graphics engines that you don't need to have this set of skills yourself, you can just use them and benefit from built-in support of modern video cards, driver versions etc. Even huge companies who makes AAA titles prefer not to mess with custom graphics engines and stick to industry standards. You can probably write your own super-cool-and-fast engine but it will takes months or even years of nothing but graphics engineering. Do you think it is worth it?
loftar wrote:There are lots of reasons why I've done it that way, though. Doing it otherwise would need all mechanics basically duplicated on the server and the client, and also ties them closer together, which makes future development much more cumbersome. Not to mention forces full client updates on everyone every time we want to add any little mechanic. It sounds like several steps backwards.
Well, we have different opinion on this one. I prefer to have loose coupling of the components. UI for the client side, calculations for the server side, not both on the server and nothing on the client
loftar wrote:Internally, we use Ogre XML as the interchange format; it should be able to handle any required features. I've also seen such formats as X3D and Collada, which I believe should be able to handle all the features we use, but I haven't looked into them (seeing as how we already have Ogre XML and have no real need to switch)
I tried to look into it but it is the format from some semi-dead graphics engine which has not even proper model viewer for it. Anyway, i am not a graphics engineer or modeller, maybe it is easier for such people to distinguish between all animation techniques you use
loftar wrote:I feel it should be said that we've already had this discussion.
Yeah, we had this discussions in the past and it didn't lead to anything. I, personally, think that client should be rewrited not only because of the graphics part, it has some general problems. Huge amount of runtime garbage (around 2 millions of Coord objects created per second iirc), questionable concurrency support, some weird code to workaround bugs in java which should be review (probably removed), not to mention code quality