4 ms·
I haven't seen Defold before, but the message-passing architecture looks very interesting, so thanks for bringing it to my attention. I have a couple of random
by da_big_ghey 6y ago
I haven't seen Defold before, but the message-passing architecture looks very interesting, so thanks for bringing it to my attention.
I have a couple of random questions, in case someone who knows the answers sees this:
1. Why protobuf and not Cap'n'Proto or Flatbuffers? Last I checked, both were better at zero-copy decoding, which might be a big deal for an engine with a message-passing architecture. Cap'n'Proto has had a lot of improvements for RPC use over the past few years.
2. Why HTTP/S rather than UDP? Both in terms of throughput and latency, UDP tends to come out ahead. Was it just not an issue?
3. Why WebP for compressed textures rather than KTX2, which offers BasisU supercompression? Doing so can get similar compression and greatly improve performance when decoding to GPU formats.
4. Any plans to support GLTF2? It has potential to replace custom engine formats, at least those that don't store data for easier GPU consumption, especially if used with meshopt. Unless the Defold format stores data in a GPU-ready format, it might be a good future option, and doing so would simplify asset pipelines a bit.
- nacs 6y ago> Why HTTP/S sockets rather than raw UDP Because Defold targets mobile mostly and https/websockets does better at working with corporate firewalls and VPNs. Also mobile games typically aren't as latency-sensitive as real-time desktop games since they often have to work over slow/unreliable wireless cell networks.
- britzl 6y agoHi! Defold Foundation member here. 1. The first lines of Defold code were written more than 10 years ago and at that time Cap'n'Proto and Flatbuffers didn't exist. One could argue that we should change to a newer format, but for our purposes protobuf still works really well. 2. Defold uses LuaSockets to make TCP and UDP sockets available to developers through our Lua API. And we also make TCP sockets available to our C extension system. 3. The next big task which we will start the new year with is a full review of our texture compression formats. Basis Universal is on our list of formats to investigate. 4. While we do support import of basic 3D models our focus has been mainly on 2D content. We are currently negotiating funding for improved 3D support in a work package for 2021. If all goes well you can expect some major improvements in this area. Feel free to ask more questions!