Is it possible, and how much would it take, to create a bridge between engine/lua and csharp application?
At this point, i'm curious, how much time and pain would it take to implement this. This csharp application will work in separate thread on low priority. Main goal is to create very large amount of interesting situations between stalkers and creatures.
For example: A group of stalkers decided to go on Radar. A few days for preparations, few broadcast messages, few days of quite road. Meanwhile, information leaks, and a group of bandits knows, that very soon, a group of stalker will return from Radar and they might have a few very interesting artefacts.
When stalkers going back, they will meet bandits, last will win. Then, while returning to Dark Valley, they will encounter a stress-amount of creatures, or, maybe they will go through those location, where player might be. Or, maybe non of it.
Meanwhile, lonely stalker found bodies and sent broadcast message. Friends of dead stalkers decided to go after bandits. Meanwhile, bandits sending private message to base, that they have very large amount of artefacts. This message intersepted by Mercs, and they already on they way.
All this, can be curated in background thread, with broadcast messages, tasks for npcs, creatures and etc. Yes, it could be developed under lua, but i dont like it very much, and there might be a few problems with calculating everything in background while player is playing (heavy fps-drops).
The questions are:
- Is it possible to create a bridge, between engine and csharp-app, that will have full access to game? For example - executing lua-code.
- How much time might it take, and can you develop very tiny example (i mean bridge), so i could start testing this idea?
- And most important - is it interesting to you?
Example: with ability to execute lua script, i can create a very comfortable and low-memory consumption broadcast news. Modmakers will be able to create a large amount of news, but they wont be loaded at once. Also, it would be easy to test it in program, rather than launching game each time.