Client Side Lua (Again)
I believe this was posted before, but a quick search returned nothing.
What can be done with client side lua ?
1 - Maps of all kinds, ores, caves etc, user added tags, etc..
2 - Clocks and compasses (ore detector etc).
3 - Computer interface (its currently impossible)
4 - Sound streaming from server to client (radio turners, tv sets)
5 - Client side texture modifications and render to texture (cameras, tv sets, mirrors) [Needs irrlich render to texture and texture manipulation API in client side scripts], clients can disable mirrors if wanted.
6 - Ballistic and rocket weapons with low server load.
7 - Vehicles (cars, carts, airplanes) Less lag when driving, sends updates to server, but those updates need not be exact (think about a delta engine), just general positions, while the same movement can be very detailed in client side, like taking physics into account (realistic flight sim, trains that pull cargo wagons etc).
8 - sub-block machines (a machine that is a single block for the server, but is a complex machine at client side) with input and outputs to minetest world. (computers, microcontrollers).
9 - with some engine adjustments, you can render, say, videos to a texture locally (minetest tv set) etc.
Anything that is single player centered and needs only read access to the map, produces client side effects only or can be layered into subcomponents that the server need not know the internal states of (a computer simulated in minetest doesnt need to expose all internal states to the game world, just i/o needs to be exposed, floppies and ram needs to be stored client side etc), things whose level of detail can be coarse in server side but can be fine grained client side (ex.: a radio set that instructs client to download music from a music server to be played locally, minetest server only needs to know music url and name, not the actual ogg vorbis file content, egg).
What can be done with client side lua ?
1 - Maps of all kinds, ores, caves etc, user added tags, etc..
2 - Clocks and compasses (ore detector etc).
3 - Computer interface (its currently impossible)
4 - Sound streaming from server to client (radio turners, tv sets)
5 - Client side texture modifications and render to texture (cameras, tv sets, mirrors) [Needs irrlich render to texture and texture manipulation API in client side scripts], clients can disable mirrors if wanted.
6 - Ballistic and rocket weapons with low server load.
7 - Vehicles (cars, carts, airplanes) Less lag when driving, sends updates to server, but those updates need not be exact (think about a delta engine), just general positions, while the same movement can be very detailed in client side, like taking physics into account (realistic flight sim, trains that pull cargo wagons etc).
8 - sub-block machines (a machine that is a single block for the server, but is a complex machine at client side) with input and outputs to minetest world. (computers, microcontrollers).
9 - with some engine adjustments, you can render, say, videos to a texture locally (minetest tv set) etc.
Anything that is single player centered and needs only read access to the map, produces client side effects only or can be layered into subcomponents that the server need not know the internal states of (a computer simulated in minetest doesnt need to expose all internal states to the game world, just i/o needs to be exposed, floppies and ram needs to be stored client side etc), things whose level of detail can be coarse in server side but can be fine grained client side (ex.: a radio set that instructs client to download music from a music server to be played locally, minetest server only needs to know music url and name, not the actual ogg vorbis file content, egg).