Language for PA

Discussion in 'Mod Discussions' started by D3adm0nk3y, June 9, 2013.

  1. sophismata

    sophismata New Member

    Messages:
    10
    Likes Received:
    0
    neutrino is saying that there won't be unit scripts in the style of SC/FA, NOT that there won't be scripting full stop.
  2. theseeker2

    theseeker2 Well-Known Member

    Messages:
    1,613
    Likes Received:
    469
    Do you recall what TA's scripting language was? I've found examples, but I don't know exactly what it is... I best start with the simpler game for my modding tools :roll:
  3. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    Exactly.

    In addition we are going to continue updating the game and using this forum as a way to help guide feature development. So if there is something you could only accomplish in the past through unit scripting we will try to add it to the engine. Over time we will end up with being able to do a lot of stuff.
  4. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    A question interesting for me in person would be, which parts of the simulation will be hardcoded for sure?

    I would actually love to be able to replace the whole visibility / radar system to get rid of the fixed radius concept and implement my own visibility test, but I assume that is pretty deep in the core, considering how many systems make use of that data already. Also rather critical in terms of performance, considering the O(n²) complexity without the use of appropriate data structures, so scripting maybe isn't even practicable.

    Are you just settings flags which unit is visible to whom or is the visibility test performed by each component again?



    Also, would it be an option to allow native code for inclusion on the server?

    I know it would be difficult to distribute and cross platform compatibility is not given at all, but scripting isn't much of an option either, except for unit scripts and planet generation, but even in the case of additional unit scripts, it would only work for rather small and rarely executed scripts.
    Most "light" conversion mods should be able to run without or with small scripts only anyway, given that your data format for units is just as flexible as it looks. This would also mean that they are pretty much save for use on official servers too.

    More radical mods are limited to private servers anyway as I don't think you want to allow any type of forkbombs and alike types of intentional and unintentional DOS on your servers. Question is only if you want to provide interfaces and headers for external libraries.
  5. DeadMG

    DeadMG Member

    Messages:
    217
    Likes Received:
    8
    Like I called it- it's gotta be binary mods or something similarly tough like LLVM IR.

    As for speed, though, something like LuaJIT is barely half the speed of C++. It's not cripplingly slow to use a script language if you have a decent implementation.
  6. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    Sure, JIT compilers might get pretty close to an assembly with -O0 flag, but it usually is no match for an -march=native or alike, especially not when talking about algorithmic problems which are well known to the compiler and where a decent speedup can be expected by the use of SSE instructions, use of optimized loops etc. Often enough the compiler will even replace your naive implementation completely by one with a better complexity class.
  7. DeadMG

    DeadMG Member

    Messages:
    217
    Likes Received:
    8
    JIT compilers can optimize too, you know. The half figure came from a performance competition- so the C++ compilers involved were most assuredly running flat out.

Share This Page