Saya melakukan itu di mesin saya ( sumber tersedia , tetapi mungkin tidak layak diuraikan).
Dalam kasus saya, "entitas" adalah konsep yang sepenuhnya ada di dalam Lua. Tidak ada dukungan C ++ untuk "entitas". Dengan demikian, "entitas" adalah apa pun yang dibutuhkan oleh game tertentu. Kadang-kadang itu hanya sebuah tabel dengan sedikit data yang melekat padanya, kadang-kadang itu adalah elemen Frame 2d (perhatikan bahwa Frames sepenuhnya merupakan konstruksi Lua juga, saya hanya memiliki perpustakaan UI standar), kadang-kadang itu adalah sesuatu yang rumit dengan AI dan rendering dan kemudian masih saja hal yang dibuat di Lua.
Banyak orang menggunakan Lua untuk skrip sistem objek yang memiliki dukungan C ++, sehingga entitas "hidup" di C ++ dan memanggil Lua untuk skripnya. Saya biasa melakukan itu, tetapi saya mendapati diri saya semakin bahagia dan lebih bahagia ketika saya memindahkan kode dari C ++ dan ke Lua. Pada titik ini, saya menggunakan C ++ semata-mata untuk menangani panggilan API OS, dan semua tata letak / render / AI / logika game dalam 100% Lua murni.
Direkomendasikan.
Jangan ragu untuk bertanya, saya cukup bersedia untuk menjawab :)