Server Side Dynamic Compilation?

I’m very new to IF in general. In fact, I haven’t played a full game in my life (except Leisure Suit Larry if that counts). I’m interested because I’ve half-written my own interpreter and language, but now I know that other libraries exist… and I don’t need to make my own. Instead, I was thinking about using my existing code to write a TADS story code file (“t file type”), then compile it on the server to a “t3” (or whatever file type I need it to be so that I can upload it to a web client), and present it using TADS’ javascript library.

User logs in server application and selects story—>Modifies character attributes for story—>Sends changes to server and requests to read new modified story—>Server stores changes->Server compiles “t” file—>Server compiles “t” file to “t3” bytecode file—>Server uploads Webpage to client along with “t3” file with modified story with changes—>User is happy and plays game on their browser.

My question is: can I compile a “t” file type to a “t3” type for upload, probably using a command prompt batch file on Windows Server 2012, or something similar, during a cron-job, or some other event-driven trigger? Or even better, is there a C# library compiler?

If so, what do I need to do to compile on a windows command prompt console? What is the syntax required, and the executable? Where can I find in-depth information about it, if it exists?

Thank you for your answers. I will continue to search for the answers myself regardless.

I suppose I’ll answer my own question. The interpreter can only exist on the server side, and using php apache + mysql. I dropped php from my plans about a year ago, so that won’t work for me. As for compiling, the tutorial for Linux’s the command line, found here: , works on microsoft, but file names have to include the full directory path. Assuming the project name is test, navigate to t3make.exe’s location, then follow the reset of the tutorial using full file paths… Like so: C:\Program Files (x86)\TADS 3>t3make -d -f “c:\Tad Project\test”


By the way you need server under your control to upload and run binaries, typical shared hosting probably won’t work for hosting TADS games. On the other hand there are public game servers available. And is a question whatever you need to compile story to modify character attributes. Can’t you just read them as a data on game startup? Anyway, TADS has also embedded compiler in the interpreter itself so it can compile and execute string with TADS source code at runtime.

You’re right, hosting is a must, and I “must” run my existing code because 1) it’s pretty powerful in its own right 2) I cannot foresee how players will change their attributes 3) it’s my beloved code.

It’s just a phrase builder, capable of building complex noun phrases using random adjectives, adverbs, and prepositional phrases, and conjugating verbs in all tenses, and while handling all of today’s crazy gendered pronouns for users that want to change character genders (or species…) No one can truly foresee how a user wants to describe a character, but my code can give the users this ability, whether it’s simple descriptions or difficult ones. My code gives me an edge. Automating a TADS Thing-inherited object based off of my code would rather simple and fast once I understand the rules and syntax. This still leaves me to build the environment and other game rules.