Planetary Annihilation Engine Architecture Update #1 - UI

Discussion in 'Planetary Annihilation General Discussion' started by neutrino, November 22, 2012.

  1. dukyduke

    dukyduke Active Member

    Messages:
    167
    Likes Received:
    40
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Yeah, very mod able interface that really looks great (even with javascript) !

    It can lead to big possibilities and not only customize your interface...

    Displaying wiki units stat is one of them.

    Dynamic event too, like a pop-up when a unit has finished.

    But also using some "http post" event or external a java api to activate some external peripherals :
    • - changing the keyboard backlight
    • - having your smartphone displaying usefull data
    • - having a karotz that alert you when your base is under attack
    • - having an in-game java console with some predefined function/macro
    • - triggering orders on event for attack synchronisation
    • - automatic pizza delivery while playing
    • - making coffee
    • - etc

    OK may be I'm a little bit too enthusiast...
    Last edited: January 23, 2013
  2. dukyduke

    dukyduke Active Member

    Messages:
    167
    Likes Received:
    40
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Also a quick question, does the UI manage sounds too ?
  3. exterminans

    exterminans Post Master General

    Messages:
    1,881
    Likes Received:
    986
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Probably partly. You have to distinguish between UI sounds like notifications and alike, and ingame sounds which are bound to sources in the screenspace. First ones are triggered in the UI, thats for sure. Latter one are probably tied to the actual game engine, but i guess it should be possible to assign additional sounds to entities in the scene too.
  4. renrutal

    renrutal Member

    Messages:
    45
    Likes Received:
    6
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Q: Will JavaScript be the only UI language, or there will be other markup languages, like declaring GUI templates (See "FrameXML" in World of Warcraft)?
  5. Pawz

    Pawz Active Member

    Messages:
    951
    Likes Received:
    161
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    AFAIK Javascript might be the *scripting* language, but the actual layout etc is handled as HTML, so stick whatever GUI elements you like.

    Not sure if it's going to be HTML5 tho (I imagine so?)
  6. thygrrr

    thygrrr Member

    Messages:
    252
    Likes Received:
    1
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    I think Webkit/JS for the Ui is a great idea. JS isn't so bad if you discipline yourself to write clean code.

    That said, SupCom's Lua was so terrible that I first believed it was machine generated. Until I found the first comments. I dislike Lua more tha JS. Python is of course the best scripting language out there, but this might just be my personal taste speaking.
  7. Gowerly

    Gowerly Member

    Messages:
    44
    Likes Received:
    0
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Yeah that Lua gave me nightmares. I spent a week trying to fix the Regeneration field's auto-bump up of hitpoints.
  8. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Someone might be really happy then since the server side stuff is all currently being done in... Python.
  9. RCIX

    RCIX Member

    Messages:
    664
    Likes Received:
    16
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    ;_;

    Farewell my fair Lua, we shall not meet again for a long while
  10. dantealiegri

    dantealiegri New Member

    Messages:
    21
    Likes Received:
    0
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Noooooooooooooooooooooooooooooooooo anything but python! *cries*
  11. dantealiegri

    dantealiegri New Member

    Messages:
    21
    Likes Received:
    0
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Anyway, I think an embedded web browser is a very smart idea. Everyone is grousing about javascript, but in html script language is pluggable. A future update could support javascript, perl, python, dart or whatever else you want .. just as long as there is a binding between the scripting language and the DOM.

    The key in this, I think is having a good API to manipulate the gui, so it is easy for modders to make gui elements that fit in, but have the flexibility needed. The reason this is difficult of course is what is essentially being discussed is making a widget toolkit which are a notorious pain in the ***.

    -d
  12. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    What's wrong with python?
  13. dantealiegri

    dantealiegri New Member

    Messages:
    21
    Likes Received:
    0
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    In short, it is almost as write-only as perl, but pretends that it isn't.

    The flexibility you get in writing makes debugging and maintaining a nightmare. I speak from experience.

    I like it for prototyping, but that's about it.
  14. frnx

    frnx New Member

    Messages:
    4
    Likes Received:
    0
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    I (also speaking from experience) respectfully disagree. As do many others.
  15. ledarsi

    ledarsi Post Master General

    Messages:
    1,381
    Likes Received:
    935
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    I agree. Python is alright.

    And for purposes like people will use it in PA, even its supposed weaknesses matter less. Being flexible is fine if you aren't writing huge programs with 100 different coders.
  16. Consili

    Consili Member

    Messages:
    527
    Likes Received:
    3
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    I don't think there is a programming language you could pick that would make everyone happy Neutrino. But I think it is cool that you are sharing that information with us. I've been wanting to try out programming for a while (all I have is some rudimentary first year Java).
  17. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Python has a lot going for it in our case including the fact that all of our tools are already written in it. For example our cross platform build tools are all Python.

    Anyway I'm not terribly concerned about the language, I'm concerned about getting good functionality. I know there is no way everyone will be happy. Heck it's hard to even get people to agree on how to write code within the same language in a lot of cases.
  18. bobucles

    bobucles Post Master General

    Messages:
    3,388
    Likes Received:
    558
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Pro coders use <3XxXcAmElCaSe420XxX<3
  19. dantealiegri

    dantealiegri New Member

    Messages:
    21
    Likes Received:
    0
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    You are one of those TAB people, aren't you?
  20. dantealiegri

    dantealiegri New Member

    Messages:
    21
    Likes Received:
    0
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    I agree that in theory, using it for scripting ui or even maybe units.

    The problem occurs when you are using python to create an API, which is something any language that doesn't allow static typing will have weakness from. Thus, you can have code that worked with the previous version of a library, and now it mysteriously fails.

    Additionally, C/Python has horrible threading support, and using SWIG to wrap into C/Python is an exercise in jugging loaded chainsawguns.

Share This Page