🎉 Celebrating 25 Years of GameDev.net! 🎉
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
Latest architecture Activity
Your diagram is completely unreadable to me, words are too small.
As for your question, “the best software architecture for turn based online game” doesn't exist. It's a nonsense question.
Any program / game has a lot of properties that you want to have. For example., minimal bandwidth, optimal preci…
@Jikoob If it works for you then there isn't anything really wrong with it.
Myself I use an asset manager that handles anything that can fit under the category of an asset, images, sound, fonts, models, maps, …
If you make a generic enough manager you can simply add an interface to allow new asset ty…
@Juliean Thank you this is useful. It has changed my way of thinking and approaching my engine.
Dreadpon said:
Did anyone try to solve this already?
People have had good solutions for several decades now. The problem isn't new.
Dreadpon said:
Surely there aren't 2 separate UI systems that are hardcoded into each edition of the game?
Two? No, that number is far too low. Often the ratios are 4:3, 3:…
Brian Sandberg said:
If you want to do a webassembly build, you might also have a look at WebGPU, which is a modern abstraction that is far less verbose than Vulkan. It's supported in browsers (obviously), but there are also a couple of desktop implementations such as https://dawn.googlesource.com/d…
@hplus0603 @frob Hey there!
I just went through both of your messages. There's obviously precious insight in both, but I believe I will have to iterate on the implementation to consolidate my understanding. I imagine I could question or challenge some aspects, but that'd require a hindsi…
Torque networking was fine for the time. They computed remote entities based on sending inputs with occasional state snapshots (and maybe CRCs, IIRC?) so they didn't need to send large state dumps every network tick.
Yes, the pre-allocated mesh structure must live past a single frame.
Just like textures and shaders – you don't want to re-upload textures, or re-compile shaders, every frame.
Heisenberg33 said:
What do you think about this approach?
Whatever works for you is a good solution I guess but you should step back from hashing the name and instead generate a unique ID. Must not be a UUID but something similar could help. Its just (I don't think you'll get into that situation but)…
Shaarigan said:
Once it came to the decision how we want to manage memory in our engine, I did some research, asked some people about best practice (so what we programmer usually do ? ) and the lead dev of one of my previous jobs suggested this blog post about memory management in BitSquid Engine.
Thanks for your detailed reply, and for pointing out the existing models.
I admit this article is a bit length. I'll start talking about the real contents in the following articles, and keep them concise and to the point.
whitwhoa said:
would that not just be a fancier version of my current debacle?
Not inevitable. Using shared_ptr is a case of being dependent on it's implementation, I'd make my own “ResourceHandle” and return that instead. This way you can also make access to the underlaying pointer const and const m…
cozzie said:
Hi. This article has been there for a while, but imho the core concept still stands: https://realtimecollisiondetection.net/blog/?p=86
Yes, this is good article, but what about sorting and culling for instanced(grass, bushes, trees) objects ? It can reduce performance. I think should con…
Yes, you're right.
The difference is that your manager in one scenario needs to provide full control over the resource data in the background. You have for example to define an interface to allow handles to increase the ref-count on copy, decrease it on destruction, give access to the data loc…
1000 players isn't by itself hard, assuming the simulation load per player is low, and somewhat depending on the size of a tick. If you're sweeping a sphere across a static geometry with precomputed collision, that should be super easy.
Of course, using optimized libraries and high-performance runti…
Ok, thaks for all your replies, they help a lot.
cocos creator, which has a similar node-component system, uses events to communicate between components of the same node. for all intents and purposes, it works well.
i'm using signals (https://www.npmjs.com/package/@robotlegsjs/signals) and ioc/di (https://www.npmjs.com/package/inversify) to implem…
@JohnnyCode yep, I have read that it is possible to attach multiple fragment shaders to the same shader programs, but only one of them can have void main() entry point
But even wiki says that it's a good way to get weird driver bugs. As you said, I can do some preprocessor magic and concaten…