We do it as well.
I’ve found it to be very convenient writing both the server and client in Defold.
First of all, our game is strictly server authoritative which means all level loading, physics collision detection, game logic etc are done on server. Having that being ran on 2 different systems/languages would be a lot more hassle. Now I build a defold build and run server/client locally and can check everything immediately. I also have a visual representation of the game immediately when needed even on the server so I can see whats going on, who is logged in, where they are, where the scanlines are shooting. how the level collision shapes are looking etc etc.
Talking to our hosting services and comparing stats we are really up to par in how many game instances we cram into one server compared to other similar titles out there. Also all our network code and many other things are shared between server and client so it becomes very very easy to implement new stuff and debug it all.
If the serverside was much more a “validate if this and that move might be possible and then just send the data coming in to all the other clients” I agree that having another special solution could be a better option. Now the pros surely wins over the cons. I recommend you to try it!
6 Likes