Hi @Charles,
Well my primary goal is to transpile an existing game to a fully different language. The main goal there is honestly just readability because I do suffer from dyslexia, so reading expressions in prefix notation riddled with a lot of parenthesis is difficult for me personally. This is all born out of curiosity to just study the game logic of the classic Sierra games as-is.
The bigger question though: could such code get to a point where it was runnable? At first it would be first simple small scripts. The kernel code would need to interop with this new code, for a language such as Python: it's already run on a bytecode interpreter. Aside from a handful of SCI runtime concerns + kernel routines, the Python VM would be just as powerful if not more so.
So while I could take the converted Python (or other target language) and now compile that to true SCI bytecode, it's still going back into an older proprietary format IMO.
When I talk about modernizing the engine, I don't necessarily mean targeting newer engines like Unreal or Unity to have access to 3D and new asset management. I simply mean interoping with all the kernel routines, creating a window and rendering the relevant assets: pics/views/polygons/priority screens, etc from Python and that would be "good enough"
From there you can go further though. What's stopping someone from importing a Python library that does some HTTP requests, or a TCP socket and now you are unlocking something that could be multi-player. Of course, the original game's aren't going to just suddenly become network aware without changes as well. But the real idea is that modern tooling and libraries are now immediately available by moving to entirely different VM implementation. So the dream goal although quite hard would be to migrate SCI off of the original PMachine VM and language and moving it into modern language and runtime while being able to run all games as-is. If I did my job correctly, the games would all play with no discernible difference. That would be a litmus test into a full proper migration.
Once you are there, you can crack open a game like King's Quest, import a JSON library, import the HTTP requests module and now dynamically load in object inventory from some remote server and now you have power to do some really neat stuff that was previously not possible. Another idea is to dynamically send the games text to a 3rd party text-to-speech API and have a character speak in real-time even if the game was never made as a "talkie" variant. Another idea is to have an NPC wired up to Chat-GPT and now it can tell about the magical adventures they experienced on the Land of Green Isles.
"Now you're just talking non-sense deckarep!"
I'm sure my ideas sound like I'm smokin' crack...
For what its worth, I'm sure people would be like: Um no, please leave these classics alone. But I see it differently, I'm more in the camp of: Bring adventure games back into the modern era and let's see what they can do!
=)
-deckarep