Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

Qeustion to the developers about the choice of C# Script

Discussion in 'Programming Questions and Suggestions' started by TheBarret, Jan 25, 2015.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. TheBarret Trainee Engineer

    Messages:
    17
    Before i bombard the developers with these qeustions i want to make clear, what they made is brilliant, they carefully put together something that really lines up to a alote wishes of a sci-fi fan (such as myself), altho it is still a testing phase i can safely say that what they made here is already working in such effect that it tops out in what some game developing company's failed to do *cough* EA *cough*.

    That being said, my qeustion is what the candidates where for the scripting or interpreted language was. My opinion is slighty stronger towards LUA, Phyton, Ruby or even one to develope them self, now i do understand the last option is quite an mission on it self ofcourse.
    Ive developed my own syntax and interpreted language completely coded in vb.net and was strongly infuenced by c#, vb and Ruby. It took me 6 months to complete it, so i know its quite an undertaking.

    However, im a strong believer that altho C# has really strong standings and is allround its capability its not entirely suitable. I believe that the barrier of maintaining security is coming to a very thin wall. By creating this barrier of lets say using LUA, its i think easier to maintain this barrier between script runned by a player in the runtime proccess space of the server and therefore make it impossible for a script kiddie to breach this barrier.

    Now there are some other games that allowed you to upload and execute self made scripts, such as GMod with the wiremod, and it is how they did it wich was a very good concept because it almost has the same crude concept as what they do in host resellers, they jail the space wich cannot be breached. Now this concept is known as chroot or jail users to limit them to theire own space.

    I think the developers should adapt this concept, jail the scripts per player in a folder.
    This way you can allow them to use the IO operations and cannot do any harm.
    And even further optionally would they could alow them to share scripts with theire friends.

    Now im sure the devs are already aware and doing somekind of implementing where each script is limited to its owner wich cannot access other players grids or blocks, i just want to share my thoughts and point of view of scripting because it brings alote of nasty complications with it.

    Alright, that was my opinion. Feel free to add anything that you think should be made clear.

    Greets
    - Barret
     
  2. Conradian Moderator

    Messages:
    2,596
    C# was chosen for the programming language because it is the language in which the game itself is coded. This made it far easier to integrate the in-game programming since you are basically coding the game itself in a limited sense.
    I've previously learnt a bit of C, and barring a block to my creativity, I'm really looking forward to picking up C# properly once I get back into SE.
    That being said, with regards to your point about limiting code ownership, personally I think code should only be affected by ownership i.e. Using code on someone else's ship, if transmitted via antenna. If you can actually get over to their ship and access their programming block then you should be able to upload or edit whatever code you want.
     
  3. Phoera Senior Engineer

    Messages:
    1,713
    SE don't interpret scripts. compile them and execute.
    any interpret will be slower.
     
  4. TheBarret Trainee Engineer

    Messages:
    17
    Yes i know that the game is c# coded, you don't have to explain me that :D hahaha
    And i was aiming for IO support at that point.
     
  5. TheBarret Trainee Engineer

    Messages:
    17
    yeah however it is a form of CLR based scripting system which uses ECMA-compliant C# as a programming language.
     
  6. Malware Master Engineer

    Messages:
    9,866
    Yes, using the DLR would probably yield good enough performance I think. I've made this argument myself, but they've made their choice and I doubt they will change it.

    Unfortunately.
     
  7. TheBarret Trainee Engineer

    Messages:
    17
    DOn't be, i believe there will be a time where they allow us as modders to implement a custom based block that would act as an interpreter, like a one-in-all block that has the console, engine (refered to an plugin import) and that would be great.


    I already have a syntax waiting to be implemented, if you like i can post it or send so u can browse thru it.

    I call it XScript and at the moment its capable of basic operations and such. Its initial design was to be as the AutoIT concept, a single standalone console execute all from a script. But i can break it down to a single engine again. :)

    [​IMG]
     
Thread Status:
This last post in this thread was made more than 31 days old.