Planetary Annihilation Engine Architecture Update #1 - UI

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

  1. Consili

    Consili Member

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

    If that information was something you could access locally from an option in the game then that would be good. Like a localised version of the official wiki/site which updates when the game is updated. That way you dont need an internet connection to look at that information.

    It could be accessed in game, or from the main menu or something but I would quite like a feature like that.
  2. sylvesterink

    sylvesterink Active Member

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

    Well, I'm coming in late on this one, but my reaction is a bit mixed. On one hand I really like the potential power behind what the UI will be able to do, but on the other hand . . . Javascript. My main concern is the performance of it, especially if you want a smooth, responsive UI. But I guess I'll just have to wait and see how it pans out . . .

    My buddy's reaction: Day 1 someone's going to put in bejeweled so you can play while you play.
  3. torrasque

    torrasque Active Member

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

    Are game menu using this system ?
    I would see a lot of possibility there. Especially for the server list UI.
    You could add wiki stats for player/server, add information about the game etc..
  4. Intekin

    Intekin New Member

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

    Usually I just lurk around and reading stuff. I have never touched js and probably never will. Until I saw that it may be used in UI modding. I can see the possible outcomes of this, very interesting. And it is just UI and not Minecraft, so people, don't whine to much.

    When neutrino said that you could possibly could show the stats of an unit, I started to think about maybe you could change unit stats during run-time?

    I could be interesting for balancing unit mods and other type of mods.
  5. RCIX

    RCIX Member

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

    MC is java*

    that said, Javascript is worse than Java, I wouldn't touch it with a 10-foot pole.
  6. stanhebben

    stanhebben New Member

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

    Hearing that javascript would be used for the UI made me frown... but it does make sense. I would have preferred a more strict language instead (of which Dart is certainly one example) but I can live with Javascript. Being an advanced web application developer myself, I could get started with it immediately.

    "I hate javascript" is not much of a constructive statement - I'd rather say I dislike the way javascript often ends up being used. I can see Javascript as an interesting modding language, offering us the ability to replace and insert methods (and prototype methods) to change the behavior of certain classes, so it's certainly flexible in that regard.

    It will all up to implementation and quality coding from the developer's side, much more than the language that is being used. Hope the API is clear and well-documented. And that the UI is snappy, and that many different kinds of mods can be implemented without affecting performance and responsiveness too much. The way the UI code is written should promote good coding practices.
  7. Pluisjen

    Pluisjen Member

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

    Interesting. I might actually be able to mod a bit, as I'm also from the webdevelopment branche. Really looking forward to seeing how this goes. Javascript can be powerful, but it can also be messy.
  8. cursedmind

    cursedmind New Member

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

    Makes it super easy to send to/grab external stuff ingame too, I like.
    Also if it was ever to go f2p this is a good basis to add features upon.
  9. chrishaldor

    chrishaldor Member

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

    Sounds good to me, even if it means i'll have to use JavaScript for any UI modding (hate coding in java ><)

    Can't wait to see terrain generation stuff!
  10. KarottenRambo

    KarottenRambo Member

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

    So does that mean the visuals of the UI will be set up by html/css and the functionality by javascript?

    This doesn't sound good, everybody who played Company of Heroes or Dawn of War II knows how frustrating a laggy UI can be in a hectic situation. Please don't take the performance issue easily.
  11. danielbrauer

    danielbrauer Member

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

    Java and JavaScript are very different languages. I think the only thing I could say with confidence is that if you hate Java, you will really, really hate JavaScript.
  12. thezj

    thezj New Member

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

    I think it's safe to say that, in terms of usability, the UI is by far the greatest factor. On the one hand theres design concerns - e.g. a "communicating" ui thats intuitive to read and understand and allows a fast understanding of information and quick issuing of orders.
    Using JavaScript and a Web-based-UI could ease the difficulty of implementing a well designed interface, since the modularity and variability is inherently high. We do not want a Sword-of-the-stars-II-UI.
    But, on the other hand, performance plays a subtle role whose importance is often largely underestimated. No matter how well designed a UI is, when the controls are laggy, there is no way to use it efficiently and without getting incredibly annoyed.
    Just play Company of Heroes, you'll know what I mean.
  13. shinseitom

    shinseitom Member

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

    I'm trying to come up with any time I've ever been inconvenienced by a laggy ui in CoH, and I'm coming up with nothing. Even when the game was in the teens, I don't ever remember having troubles with controlling units/structures. Can you give a specific example?

    (however, if directional damage is used in PA, for the love of god allows use to tell units to move in reverse without insane micro. too many of my tank losses in CoH can be attributed to a tank turning around on the spot just so it can try to move 10 feet back and turn around again :evil: )
  14. frnx

    frnx New Member

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

    As someone who actually *likes* javascript, this is pretty exciting. Despite its warts, javascript has a very useful core to the language and it was designed for this kind of environment. Js also has a huge library ecosystem that can be leveraged for scripting the UI.

    If you're not a fan of javascript, tons of other languages will compile down to it already– coffeescript, typescript, and dart are probably the most common examples. Also, V8 is pretty damn fast, if uber is using that engine I wouldn't be too worried about performance.

    A few questions related to this, although maybe it's too early to answer them:
    * What will be allowed in terms of cross-domain access? I'm assuming there will be some (to enable the loading of wiki content, for example), but will we be able to access our own domains as well?
    * Will the UI be designed to be easily modified by CSS as well (eg. using fonts for text and icons instead of images)
  15. danielbrauer

    danielbrauer Member

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

    I really hope so. Now that both Mac OS and Windows support UI scaling, and "retina" style high-DPI screens are only going to become more common, it would be pretty embarrassing if a brand new game UI wasn't resolution-independent.
  16. slaguth

    slaguth New Member

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

    I'd like to point out that anyone who doesn't like Javascript can just compile their code to Emscripten[1] and then use any language they want. In fact, Emscripten code sometimes runs faster than hand written Javascript.

    So for all you Javascript-haters: chillax. No need to use Javascript if you don't want to.

    [1]: https://github.com/kripken/emscripten
  17. Veleiro

    Veleiro Member

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

    Neutrino, I just want to say that this was one of the most impressive ideas I've seen that will be implemented into the game. I completely understand what's going on here, as I am a web interface/ui designer, and I love this idea. I actually might be able to become a modder now!
  18. o

    o Head Honcho Official PA

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

    JavaScript is a total abomination but I've been pushing this idea internally at Uber for some time. To at least try it anyway. The benefits we get, if it all works and performs well, seem to outweigh the crappiness of the language.

    Like neutrino said, its the most widely used language in the world. Doesn't make it good, but it does mean it'll likely attract a lot more modders, even those who have never thought of themselves as modders (as already seen in this thread). You can use libs like jquery, knockout, etc. In fact, there's an incredible wealth of community developed tech that we, and you, can leverage. Pretty exciting IMO.
  19. japporo

    japporo Active Member

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

    Can't say I'm terribly enthused about Javascript (felt cramped the few times I've used it) but I suppose it'll be okay. I would probably look into Dart or something else to overlay it as other posters have suggested.

    Extending on the theme of using a broadly used programming language for the UI, I hope that other modding interfaces support common applications development languages (C#/Mono, Java, C++) rather than being locked to Lua or some other specialized language. Yes, a decent programmer can learn new languages quickly but, practically speaking, there are only so many hours in the day.
  20. Daddie

    Daddie Member

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

    As I do use Javascript alot, it is a love/hate relation :mrgreen:
    But I like to know which HTML version you want to support in PA, HTML5 would be great as it opens much more doors...

    Do objects within the 3D world get HTML objects which we can use within the Javascript. For example giving every unit an unique DIV which we can use to fill with junk?

Share This Page