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

    Haha, reminds me of this webcomic [​IMG]
  2. syox

    syox Member

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

    Just use multiple processes and let them communicate through data at a RAM-disk,
    works fine for me -.-"
  3. neutrino

    neutrino low mass particle Uber Employee

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

    Tabs as spaces is the one true way.
  4. neutrino

    neutrino low mass particle Uber Employee

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

    I don't think we are using Python in the way you are envisioning.
  5. doctorzuber

    doctorzuber New Member

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

    a language debate, lovely.

    From experience I do know that java is not terribly efficient at run time, so my first concern would be whether or not it can actually do the job you're asking it to do or not. I'd also be worried about security weaknesses inherent in Java or worse Adobe Flash.

    Finally if the choice is Java, I'm concerned about sound issues, which I have seen crop up in a number of different Java applications recently. From what I understand there's some glitches in the language itself there that have proven difficult to fully resolve.

    All that being said, if it can be done, It could be interesting to see. But I am a bit skeptical myself.
  6. dantealiegri

    dantealiegri New Member

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

    I don't think neutrino said anything about Java? He said javascript, and then someone changed that to Java.

    Any sound will by definition want to be piped through their engine so they can uniformly apply volume levels.

    I would assume the applications are having issues with latency. Sound is really, really finicky about latency - you don't get a huge buffer, and when it is empty, all that is left is sadness. At a stab, I would guess it was the VM deciding to do memory work at inconvenient times.
  7. dantealiegri

    dantealiegri New Member

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

    I just saw "python" and "server" and I freaked out :)

    Honestly, it doesn't matter a ton what I think .. you know what tools your people are good at using, and you do whatever is best..

    What any concern I would have would be for someone attempting to get into using the tools for the first time. There is the situation when you are learning something new and things aren't working, and unless there is an easy way to find out what is going wrong, it's very easy to give up.

    I find often python and web toolkits lag behind on their API documentation, or even worse, have contradictory info.
  8. BulletMagnet

    BulletMagnet Post Master General

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

    I've read that the runtime has gotten a lot faster over the past years - mainly because everyone complained that Java was slow. But yes, security is a hilariously important concern with Java. Sophos releases news about new holes in Java almost every second day.

    In any case, my Java experience stopped about five years ago, with the exception of a brief read-over of the Minecraft codes for mods that I wanted to make. My concern (a minor one, in the grand scheme of things) is how verbose the language is. I will often see blogs ranting about multi-line factories and constructors for trivial things like floats. I don't remember seeing any of that when learning Java myself.

    Are they the proper ways of doing things, like how some PHP and Python codes are longer than they truly need to be, or is just a result of maintaining cross-platform support?
  9. neutrino

    neutrino low mass particle Uber Employee

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

    Just to be clear the design for using both Javascript and Python uses them in a completely async manner to the rest of the game. This is on purpose to make it so that script can't slow down the sim. I want the sim to be ultra fast so we can support a lot of units.

    I'll explain more of the architecture as we get all of the pieces put together but I'm being hardcore about not letting the sim get slow.
  10. thygrrr

    thygrrr Member

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

    Wheeee! I hope you will stick with it. The advantages in development and flexibility are worth it.

    To those Naysayers: Even huge projects can be done in python - EVE online's server code is written in (stackless) Python, for instance. It's a powerful, modular language that treats the programmer like an adult and allows both great, clean architecture as well as quick n dirty 'getting the job done' scripts where you don't want to waste time or are just experimenting.

    And there's nothing wrong with Tabs. :p
  11. pantsburgh

    pantsburgh Active Member

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

    JS may not be the ideal solution from a performance/efficiency standpoint, but it lowers the barrier of entry for modding the UI so low that even I can do it. Hell yeah, this is gonna be awesome.

    One random question I have is, will this open up the game to any cheating UI mods? I guess in the end it'd depend on how mods are handled game-wide; could a player have a UI mod that other players don't have?
  12. KNight

    KNight Post Master General

    Messages:
    7,681
    Likes Received:
    3,268
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    Define 'cheating'.

    I think the client/server nature of the game will do more to curb cheating than UI code will.

    Mike
  13. pantsburgh

    pantsburgh Active Member

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

    I'd consider cheating anything that helps me that my opponents don't have. Extra information for making decisions, extra automation (upgrade this group of mexes 1 at a time), etc.

    Slightly off-topic, it'd be nice if mods were handled similarly to how UT2k4 handled them - you'd download any necessary mods from the game's server automatically anytime you joined a game using mods that you didn't have.
  14. KNight

    KNight Post Master General

    Messages:
    7,681
    Likes Received:
    3,268
    Re: Planetary Annihilation Engine Architecture Update #1 - U

    For the first one, the Client/Server system deals with that, no player will have the full simulation of the game, only the server will and the server will only send you the information that's applicable to you.

    Automation as cheating is....debatable at best, so long as it's following the 'rules' of the UI there's nothing saying a human player can't do the same thing, it usually just comes down to a time factor.

    But to Define Cheating prolly deserves it's own thread.

    Mike
  15. vonWolfehaus

    vonWolfehaus New Member

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

    I'm a web developer (extremely deep in it, actually, both professionally and on free time) and I hate JavaScript.

    But neutrino is right--it's the world's most-used language (notice I didn't say "popular", as that means something else entirely).

    Good news! Everyone else hates it too, so there are a lot of supersets of JS that compile into vanilla JS. A really good one that recently surfaced is TypeScript, which is just a future version of JS, today (classes, enums, proper scoping, etc--called ECMAScript 6 "Harmony"). There are a lot of other tools that do the same, just different flavors, like Haxe, CoffeeScript, Dart, and so on. So it's not the end of the world :)

    Anyway, just saw this thread. My only concern regarding the entire game (yup, I like Uber) is UI, so I'm keen on topics covering it.

    Edit: Also note that there are syntax-checkers that you can run your code through to make sure you're not doing anything stupid. The most popular one so far is JSHint, and it's quite handy.
  16. vectorjohn

    vectorjohn Member

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

    Good news! There are a lot of us out here that love Javascript. Most of the flak it gets is from people who conflate Javascript the language with the DOM api and 1995 "DHTML" websites. The rest is bandwagon effect. The language itself is very lightweight and powerful.

    Also as luck would have it, there are enough people who know this that bad Javascript is quickly recognized as such, and good libraries tend to come to the surface and have good clean code. Of course bad code can be written like in any other language, but once developers come to terms with the fact that is is not Java or C and you should not try to force it to be, you can write good code with it.

    Anyway, this isn't a language debate thread. The decision to use webkit to render the UI overlay is awesome, and will make at least that part of modding a breeze.
  17. neutrino

    neutrino low mass particle Uber Employee

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

    Keep in mind Javascript is only being used in the UI...

Share This Page