Realtime scripting with uploaded media
This is a more daring idea I've had in mind. It's related to a question I raised with MineCraft, regarding how much its structure can be used as a virtual space rather than a game. I've been a Second Life user for years in this sense, and interested in the idea of virtual spaces and sandbox systems, which engines like MineTest also have a potential for. My idea was inspired by one of the core features that made SL exciting over the years as a sandbox system.
Similar to MineTest, you can freely build objects out of geometry in Second Life. But the biggest addition there is the ability to script them in realtime, as well as uploading and using textures, sounds, animations and meshes. This allows anyone who has an idea to put it in practice, and create all sorts of objects that do many things. All of it is done in realtime, and people create scripts from in-world that they assign to objects. They can also upload textures and sounds and use them to preform a variety of scripted actions.
Obviously we can't nor want to copy what others do, but I like to inspire myself from good ideas. So I've been thinking of having something similar in MineTest, in a form that's possible and useful for it. Unlike SL and other sandbox systems however, you don't just spawn a shape on the ground and texture it in MineTest. Everything is defined as a node or item, which is either obtained by crafting or mining. My idea is players being able to script items and nodes from in-world, using textures and sounds they can upload to that server... all from their MineTest client.
In other words: Players with this privilege are given a folder of their own by the server (within that world). Using an in-game menu, they can upload sounds, textures and models to that folder. Then each player would have a text editor in their MineTest client, in which they can write lua scripts and save them on the server. Whenever a script is saved, the engine initializes it and puts it in practice. Each player can create, edit or delete their own scripts.
Example: Let's say someone is playing on a server with the feature enabled, using default minetest_game. They want to create a weapon that shoots mobs. To do that, they would transfer the image of a gun to the server, a gunshot sound, and from their inventory they would write a lua script for the gun (specifying the uploaded image, assigning the uploaded gunshot sound for left-clicking, what the object does and how it's crafted, etc). Once he saves the script, anyone on that server can write his crafting recipe to obtain the gun and use it.
The idea would obviously raise a lot of concerns. First of all, the creator of a script / item can modify or remove it at any time, which means he can also ruin what he made. People could also upload any media to the server... including copyrighted stuff, porn, or everything you can imagine. Not to mention that cheating would instantly become possible (eg: you can make a rockpick that mines everything immediately) so this would be unusable on servers where you want gameplay to matter. Griefing would also become much easier, and you can expect a troll to make an item that just spawns fire everywhere, burns everything and kills all players. This would need a lot of planning, but I think the feature would be interesting and worth having.
What do you think? Would it be a nice addition for some servers, and bring even more creativity to MineTest? How hard would it be to implement it in the engine, and do you believe it's worth the time? As a Second Life and OpenSim user, I can say this is a great feature for a well-made sandbox system, and it would be nice to give it a try here as well.
Similar to MineTest, you can freely build objects out of geometry in Second Life. But the biggest addition there is the ability to script them in realtime, as well as uploading and using textures, sounds, animations and meshes. This allows anyone who has an idea to put it in practice, and create all sorts of objects that do many things. All of it is done in realtime, and people create scripts from in-world that they assign to objects. They can also upload textures and sounds and use them to preform a variety of scripted actions.
Obviously we can't nor want to copy what others do, but I like to inspire myself from good ideas. So I've been thinking of having something similar in MineTest, in a form that's possible and useful for it. Unlike SL and other sandbox systems however, you don't just spawn a shape on the ground and texture it in MineTest. Everything is defined as a node or item, which is either obtained by crafting or mining. My idea is players being able to script items and nodes from in-world, using textures and sounds they can upload to that server... all from their MineTest client.
In other words: Players with this privilege are given a folder of their own by the server (within that world). Using an in-game menu, they can upload sounds, textures and models to that folder. Then each player would have a text editor in their MineTest client, in which they can write lua scripts and save them on the server. Whenever a script is saved, the engine initializes it and puts it in practice. Each player can create, edit or delete their own scripts.
Example: Let's say someone is playing on a server with the feature enabled, using default minetest_game. They want to create a weapon that shoots mobs. To do that, they would transfer the image of a gun to the server, a gunshot sound, and from their inventory they would write a lua script for the gun (specifying the uploaded image, assigning the uploaded gunshot sound for left-clicking, what the object does and how it's crafted, etc). Once he saves the script, anyone on that server can write his crafting recipe to obtain the gun and use it.
The idea would obviously raise a lot of concerns. First of all, the creator of a script / item can modify or remove it at any time, which means he can also ruin what he made. People could also upload any media to the server... including copyrighted stuff, porn, or everything you can imagine. Not to mention that cheating would instantly become possible (eg: you can make a rockpick that mines everything immediately) so this would be unusable on servers where you want gameplay to matter. Griefing would also become much easier, and you can expect a troll to make an item that just spawns fire everywhere, burns everything and kills all players. This would need a lot of planning, but I think the feature would be interesting and worth having.
What do you think? Would it be a nice addition for some servers, and bring even more creativity to MineTest? How hard would it be to implement it in the engine, and do you believe it's worth the time? As a Second Life and OpenSim user, I can say this is a great feature for a well-made sandbox system, and it would be nice to give it a try here as well.