Hello! I try to make asynchronous function. I see that in lua there's a function called lua_thread, but when i type that function name in Core and test my game he let me know that that value is nil. So, how called there function to make asynchronous functions?
I think that lua runs in a single thread (the game thread) within core and all execution is synchronous within the individual client / server instances. I think the rendering is run in a second thread, but you do not have computational access to it.
You can use coroutines to package up repeatable tasks, but each coroutine will wait until the previous one yields.
If you are thinking about anything computationally intensive, you should also be aware that Core tightly checks number of instructions and hard caps such processes. So if you are thinking of anything like a chess program or training a neural network.... don't. There is a computer chess game on Core, but its capability is capped by this limitation. There is also discussion there of a workaround by abusing Task.Wait(), but this has since been patched out (I can't find the source for this, but I'm sure I read it).
Sources:
Game Thread
Multithread discussion - care, read all as incorrect assumptions are made to start with.
So, that mean that you can't make asynchronous functions?
Anyway, i can make my game without asynchronous functions.