Slashdot Mirror


BioWare Announces Open-Source Orbit Project

An anonymous reader writes BioWare, part of EA Games, have announced Orbit, their first open-source project. Orbit is a Java based framework for building distributed online services including a virtual actors system (based on Microsoft's Orleans project) and a lightweight inversion of control container. The announcement says, in part, Beginning today, we will be making Orbit open source on GitHub under a BSD license. We have been leveraging open source technology internally for quite some time, and we think the time is now right for us to give back and engage with the community in a more meaningful way. The last-generation of Orbit powered some of the key technology behind the Dragon Age Keep and Dragon Age: Inquisition. Our plans for the next-generation framework are even more ambitious.

61 comments

  1. Why empathize that it's Java? by Anonymous Coward · · Score: 0

    I don't get this with Java projects. Why is it important that the framework is written in Java? It's a framework. Just call it a framework. You can call Java from non-Java languages so why does it matter that it's written in Java. It's almost as bad as the programs that all prefix their name with J or j just so that it's clear to everyone using it that this piece of software is written in Java. Why should I care that it's written in Java. It's just software, call it software. I don't care. It's bits and bytes.

    1. Re: Why empathize that it's Java? by Anonymous Coward · · Score: 0

      Bits and bytecodes. Obviously it needs to drum in that its Java more!

    2. Re:Why empathize that it's Java? by SirSlud · · Score: 1, Informative

      Go home, you're drunk. It's not important that it's written in Java. It just is.

      "Hi everyone, we wrote this library in a language, but we won't tell you what language we wrote it in, because it's not important."

      That's a weapons-grade stupid way to think about it. Man, I couldn't give a shit about Java. Don't use it, don't program in it. Exactly what point do you think you're making here?

      --
      "Old man yells at systemd"
    3. Re:Why empathize that it's Java? by Anonymous Coward · · Score: 1

      What do you mean "You can call Java from non-Java languages"? I assume you mean from other JVM languages, not C, C++ any of the .NET languages, main versions of Python and Ruby, Perl, etc. It matters a hell of a lot whether it is hosted on the JVM or not!

    4. Re:Why empathize that it's Java? by Anonymous Coward · · Score: 0

      Agreed, that it's Java (or at least JVM based) is important to developers who may be interested in using it.
      The site even has a Scala example on it so it's clearly targeted at all JVM languages rather than just Java (though it appears to be written in Java).

    5. Re:Why empathize that it's Java? by Anonymous Coward · · Score: 0

      What do you mean "You can call Java from non-Java languages"? I assume you mean from other JVM languages, not C, C++ any of the .NET languages, main versions of Python and Ruby, Perl, etc. It matters a hell of a lot whether it is hosted on the JVM or not!

      I'm not using Java but this is insane to me. You can't call something that's written in Java from some other thing? Why would anyone lock their code into the JVM? Even .NET can be called quite easily from unmanaged C and C++, so anything that can call into C can basically call it.

    6. Re:Why empathize that it's Java? by Anonymous Coward · · Score: 1, Insightful

      Because we can assume that if it's written in Java, it's going to run via a VM, and thus perform poorly. That's why it's relevant.

    7. Re:Why empathize that it's Java? by abies · · Score: 3, Interesting

      You can call java from other environments, it is just not trivial - and you will need spawn parts of jvm inside your process.

      It is also not trivial to call into C++ library which uses a lot of STL goodness in its API from some of languages. Basically, it is just plain C which got very good and easy compatibility in every language out there - and you end up with a lot of C++ libraries doing poor-man extern "C" interfaces just to make compatibility easier.

      But the real answer I think is - nobody wants to. If you have your golden framework in java, there is nothing forcing you to endure C++ anymore ;)

    8. Re:Why empathize that it's Java? by Anonymous Coward · · Score: 0

      Yikes, that's actually not great at all if interop is important for you. I guess I'm glad I'm mostly in .NET (and some Perl) land.

    9. Re:Why empathize that it's Java? by Anonymous Coward · · Score: 1

      Having written JNI code before (that's the bridge from Java to C/C++), I feel it's safe to say that you cannot call other languages from Java and vice-versa.

      It's not strictly true: you can. Using the JNI. The problem is that you can't call arbitrary C code, you can only call very specifically named and structured C stubs.

      Going the other way is slightly better, you can call arbitrary Java code from C. It's just so fiddly and error prone that you'll quickly realize you never should have tried.

      And, of course, in both scenarios, I'm ignoring one very important factor: using the JNI ties you to a single version of the JVM. JNI code written for Oracle's JVM won't work anywhere else. JNI isn't a standard part of Java, it's Sun/Oracle Java specific. So using JNI to call out to another language would leave your code base very, very fragile indeed.

      To the point where ultimately you're best off simply not bothering, which is why most Java libraries are written and pure Java and never try to use another language. It may be theoretically possible to use non-JVM code with Java, but you absolutely should never do it.

    10. Re:Why empathize that it's Java? by angel'o'sphere · · Score: 1

      Ofc you can call Java from C/C++
      Unlike the other answer, it is in fact trivial.

      You can call Java code via the C interface with any language that can call C code. However why would you do that?

      And what sense makes your list of languages anyway? Why would anyone try to call Ruby code from Perl or Python from Ruby? Just to make a point that it is possible? So it is when Java is involved.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    11. Re:Why empathize that it's Java? by Anonymous Coward · · Score: 0

      It is not that bad.
      1) Using SWIG you can generate all the boilerplate code automatically from C/C++ header files. Of course, more complex things might require some configuration, but you keep bindings config separate from C and java code (.i file) and you can regenerate bindings automatically later for changes in API. SWIG is even powerful enough that you can extend C++ classes from java and having virtual C++ calls go into your java polymorphism resolution.
      2) If generating bindings is too much (because it is just 3rd party lib you want to access and you don't want to mess with code generation at all), then JNA (http://en.wikipedia.org/wiki/Java_Native_Access) might be an answer. It is as simple as

      public interface POSIX extends Library {
              public int chmod(String filename, int mode);
              public int chown(String filename, int user, int group);
              public int rename(String oldpath, String newpath);
              public int kill(int pid, int signal);
              public int link(String oldpath, String newpath);
              public int mkdir(String path, int mode);
              public int rmdir(String path);
            }

            public static void main(String[] args) {
              POSIX posix = (POSIX) Native.loadLibrary("c", POSIX.class);
              posix.mkdir("/tmp/newdir", 0777);
              posix.rename("/tmp/newdir","/tmp/renamedir");
            }

      It has some performance penalty compared to JNI, but as long as we are not talking about tens of thousands of calls per second (so I would not suggest doing opengl bindings for 3d game through JNA), it won't be noticeable.

      Between these two solutions, I think that java is in a lot better shape than in late 90ties.

      As for the JNI not being a standard - as far as I know, it IS a standard
      http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html
      and you need to implement it to call yourself jvm-compliant. It is defined in the way same library can be used against different versions of jvms without any recompilation needed. Do you know any major jvm implementation which does NOT support JNI? Or any real compatibility issues between implementations of JNI?

    12. Re: Why empathize that it's Java? by Anonymous Coward · · Score: 0

      One very major one: when Apple dropped their version of Java, all JNI written for OS X broke with Oracle Java.

      Which is hilarious because Apple Java is supposedly based on Sun Java, but they still managed to be incompatible!

    13. Re:Why empathize that it's Java? by Anonymous Coward · · Score: 0

      BioWare, part of EA Games, have announced Orbit, their first open-source project. Orbit is a Java based framework...

      *close tab, move along*

    14. Re:Why empathize that it's Java? by Anonymous Coward · · Score: 0

      You mean "emphasise". It's an amusing typo - empathizing with it being Java is an interesting idea.

  2. Gotta love EA by Anonymous Coward · · Score: 0

    Leveraging open source technology to give back and engage with the community in a more meaningful way!

    1. Re:Gotta love EA by Anonymous Coward · · Score: 0

      Now how much did EA pay you to say that?

    2. Re: Gotta love EA by Anonymous Coward · · Score: 0

      So a company tries something to improve its rep and its met with cynicism? Let's see how it pans out before panning EA.

    3. Re:Gotta love EA by SirSlud · · Score: 1

      Suck it up. None.

      --
      "Old man yells at systemd"
    4. Re:Gotta love EA by Anonymous Coward · · Score: 0

      That's from the summary, Einstein.

    5. Re: Gotta love EA by Anonymous Coward · · Score: 1

      EA is not redeemable. They're the biggest pile of greedy shit in the gaming industry.

    6. Re: Gotta love EA by qpqp · · Score: 1

      EA is not redeemable.

      They could, if they try really, really hard...

      They're the biggest pile of greedy shit in the gaming industry.

      signed.

    7. Re: Gotta love EA by Opportunist · · Score: 1

      Been there, done that, got burned.

      Fool me once and all that shit.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  3. EA killed bioware years ago by Karmashock · · Score: 5, Insightful

    The company is a shriveled husk at this point. Mass Effect 2 was the last game they made before being so mangled and digested that they're unrecognizable.

    Only company making games in that genre that I give a damn about at this point is Obsidian.

    It is sad that EA is Lenny from Of Mice And Men.... always talking about the cute rabbits... loving them... and cuddling them... and them squeezing the life out of them and wonder what happened to the rabbit.

    I respect EA's ability to make money. Largely from their sports franchises from what I can figure out. But they've killed so many studios.

    Westwood was strangled to death... Maxis appears to be dead... they just can't help themselves.

    --
    I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    1. Re:EA killed bioware years ago by zopper · · Score: 1

      Honestly, ME2 is the worst one. ME3 was a great deal better, although still not as good as ME1 (mostly because the ending...) And the current Dragon Age: Inquisition is the best DA so far. I don't remember any of their games before ME1, so I can't talk with regards to this, but I wouldn't say they are killed.

    2. Re:EA killed bioware years ago by Anonymous Coward · · Score: 0

      Nice troll.

    3. Re:EA killed bioware years ago by Anonymous Coward · · Score: 0

      Agreed, all /. IDs above ~2 million should just be deleted from the user database as they're all sock puppets and trolls IMO. And yes, I recognize the irony of posting as AC, so take this as you will.

    4. Re:EA killed bioware years ago by loonycyborg · · Score: 2

      Bioware mostly remembered for RPG games like Baldur's Gate and Neverwinter Nights. Those were before ME. And ME was the turning point when Bioware finally abandoned RPG core gameplay and switched to FPS/TPS core gameplay. That's the reason many people consider it dead. Because it's no longer doing what gave it worldwide fame, namely RPGs.

    5. Re:EA killed bioware years ago by Karmashock · · Score: 3, Informative

      Uhm... ME2 had the most interesting characters and had real drama in it. There was that whole tension between the Illusive man, the citadel, etc. ME1 was a lot simplier in its plot.

      As to ME3, that was utter shit and everyone agrees... mostly because of the ending but really if you look into the situation more you'll find out that they switched writers for ME3 and that is why the story doesn't really relate or feel like part of the previous two games.

      As to DA 1-3.

      DA1 was pretty good. It was nice and dark and had an interesting tension between the wizard's guild... forget what they were called, and the wild wizards/witches. DA2 is widely regarded to be a rip off joke because of the reused areas, short game play, and filler plot. There really wasnt' anything you learned in DA2... there was no plot development.

      As to DA3, I haven't played it yet. I've heard mixed reviews on it.

      In any case, Bioware is not what they were. I've been playing Kotor and Kotor 2 recently via GoG and Kotor 2 especially is really good if you get the restoration patch that re-adds most of the content that was stripped from the game at release because they ran out of time.

      Bioware's titles have gotten more thematically simplistic and shallow over time. It isn't that I've changed, you can go back and play the older games and there is a big difference. They used to hire real writers for these things and that has increasingly gone out of fashion with bioware which becomes obvious if you pick up subtle nuances in phrasing, language, and insinuation. The writing use to have multiple dimensions of meaning and increasingly it is very playschool. Big bright colors on big simple shapes.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    6. Re:EA killed bioware years ago by Karmashock · · Score: 3, Insightful

      ehm, that's not really important to me. What is important is writing, dialogue, plot, world building, immersion.

      Those have taken a hit. ME2 was quite good but since then I've seen a lot of crap out of bioware.

      ME3 was completely unacceptable and the fact that they didn't realize it spoke very poorly for their ability to manage a narrative. it was incompetent story telling.

      You conclude the ME series, all those saved games imported from one game into the next with THREE endings... Red, Green. Blue. Other than that, pretty much the same. Just a color change. Utterly fucking stupid.

      The fallout method of dealing with complex multithreaded plot resolutions is probably still the most reasonable. In that franchise, they just quickly summarize what happens as a result of your various actions. No animations. No complicated renderings of any description. They just have their writer work out the result, hand that to their narrator if it is even narrated, and then flash that on the screen long enough for you to figure out what happened.

      that isn't ideal but in fallout there can be MANY variations on the game's ending... that's FO 1, 2, 3, and 3 NV. Too many things happen for you to be able to manage that with a scripted animated ending for each option.

      And bioware didn't even do that much. They just boiled everything down to 3 endings which were Red, Green, and fucking Blue.

      There's no defense for that. None of your choices mattered up to the end. You can choose red green or blue indifferent to anything else you did prior to that point. Importing your old game files which people saved through the various versions has no effect on fucking anything.

      The entire thing was a huge disappointment for a reason. And that doesn't even get into issues with the DLC in ME3 where they stripped critical game elements out of the story arc OUT of the game and then forced you to buy the DLC to get them back.

      Giant fuck yous to EA.

      I don't want to be an EA hater... but seriously lenny, stop fucking killing rabbits.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    7. Re:EA killed bioware years ago by Karmashock · · Score: 2

      I am not trolling. I've been playing bioware games since the early days and they're not what they were.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    8. Re:EA killed bioware years ago by Anonymous Coward · · Score: 0

      Only company making games in that genre that I give a damn about at this point is Obsidian

      Speaking of which... DA (Bioware) vs POE (Obsidian). (Safe for work link).

    9. Re:EA killed bioware years ago by Opportunist · · Score: 1

      EA Games: Where good studios go to die.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    10. Re:EA killed bioware years ago by Karmashock · · Score: 1

      Just started Pillars of Eternity. I preordered it on GoG and just noticed it has been waiting for me for download the other day.

      Without any spoilers, I killed my entire party in the first 10 minutes. There was an auto save from about a minute before that... but seriously, I saw something, thought "hmmm, that's probably going to kill me but lets see what happens"... bam... whole party instantly dead.

      I laughed and am now taking the game more seriously because typically in RPGs especially from bioware... you can't really wipe your party. There's nothing you can do that will cause everyone to die. Enemies are never really threatening in a bioware game. They haven't been for a long time honestly. Back in the old Kotor days they weren't especially threatening either. The stories and plots were better but the gameplay was easy mode. Pillars killed my entire party at roughly the same stage in gameplay that you're killing rats in someone's basement in an MMO. Full party wipe. Too funny.

      It served as a really good introduction to the game because they were basically telling you upfront "we are totally happy to kill your entire party at any time if you fail to respect warnings we're giving you."

      So you keep your eyes peeled and don't do dumb stuff. :D

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    11. Re:EA killed bioware years ago by C0R1D4N · · Score: 1

      Except of course Jade Empire which also had action based combat.

    12. Re:EA killed bioware years ago by loonycyborg · · Score: 1

      Jade Empire still existed alongside proper RPGs. Could be considered a side project.

    13. Re:EA killed bioware years ago by Anonymous Coward · · Score: 0

      Did you Baldur's Gate 2? Very easy to wipe out your party in that one, especially if you don't respect the Mind Flayers' abilities.

      I also got massacred quite a lot in Dragon Age 2, in fact. The game had its problems, but in the middle part of the game there were a few very challenging fights.

    14. Re:EA killed bioware years ago by Anonymous Coward · · Score: 0

      Note that KOTOR 2 was developed by Obsidian.

      I actually thought that Dragon Age 2 set out to tell a different kind of story -- one that was intensely focused on the personal instead of the epic -- and did it well at first. I applaud the concept. However, it completely failed to follow through on its promise, particularly the story of Varric, who was (IMO) the game's best character. Another quality chapter in his story might have made the game worthwhile. A better development of the sibling dynamic was badly needed as well: there is much foreshadowing throughout the game of how that will develop, but in the end it's pretty forgettable. I don't know if the team didn't have the chops to make that game work, or if they succumbed to time pressure and released it unfinished. I had no problem looking past the reused scenery (which Bioware has always done, though never as blatantly), but I couldn't get over the flopped storylines.

    15. Re:EA killed bioware years ago by Karmashock · · Score: 1

      Kay... in the first few minutes, my party wiped in pillars. Name another RPG where that can happen?

      I mean, I asked for it... there was something there that looked really dangerous but I figured I could touch it anyway... this is basically what happened

      https://www.youtube.com/watch?...

      I had it coming.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    16. Re:EA killed bioware years ago by Karmashock · · Score: 1

      As to KotoR 2, oh I forgot... it shows even then. The dialog in KotoR 2 is amazing. The little monologues by Kreia are just so good.

      As to DA2 being a different sort of game... advancing the story arc a little wouldn't kill them. They didn't move it at all. And the personal story wasn't that compelling so... yeah... mayonnaise on white bread all around.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    17. Re:EA killed bioware years ago by Simon+Brooke · · Score: 1

      Nothing breaks immersion so much as the player character being killed. Suddenly you're jerked out of your game world and you're just a sad individual sitting in front of a computer again. It is epic fail for anyone who's trying to build a world in which players are expected to become immersed to allow the player character to be killed.

      This isn't to say I think there shouldn't be setbacks, and that they shouldn't be severe. Of course they should. You get beaten in a boss battle and you should expect to lose all your accumulated weapons, armour, loot. You should expect to be left for dead, and have to crawl until you can find herbs, salves, bandages or aid. It could even leave you with permanent scarring or disabilities which make future battles a bit harder to fight, or have an impact on what endgames are available to you. It should be an outcome which motivates you highly not to lose the next battle. If a non-player-character companion is killed in a battle, their death should be permanent, no matter how important they are to the plot. But you should not die.

      If you die, it isn't you who have failed. It's the designer.

      --
      I'm old enough to remember when discussions on Slashdot were well informed.
    18. Re:EA killed bioware years ago by Anonymous Coward · · Score: 0

      The Mass Effect games are all complete garbage. Shit story, boring combat, terrible graphics and generic music.

      They might be nice for a first time gamer or a console gamer, but their expectations are much lower.

    19. Re:EA killed bioware years ago by Karmashock · · Score: 1

      You should try out ME2 again. It does have a good story mostly involving the illusive man. But to each his own.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    20. Re:EA killed bioware years ago by Karmashock · · Score: 1

      Nope. Nothing breaks immersion so much as being able to touch death with a level 1 character and not be killed.

      The game world is taken more seriously now. I can reload if I kill myself but now everything in the game has to be watched carefully. And that increases immersion.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    21. Re:EA killed bioware years ago by Anonymous Coward · · Score: 0

      "You should try out ME2 again. It does have a good story mostly involving the illusive man. But to each his own."

      The story is executed well but they retconned stuff from the story in me1.

    22. Re:EA killed bioware years ago by Karmashock · · Score: 1

      You're saying they referencing things or said things happened that contradicted things in ME1? Be specific please.

      Regardless, ME2 had the strongest story telling of the three. If that title had consumed ME1 and ME3 entirely rewriting both to better suit the narrative in ME2 then that would be been for the better.

      ME1 was just a very cookie cutter struggle against an invader.

      ME3 was... a very confused and disappointing climax.

      ME2 however was more complex than ME1 while not so transparently obsessed with the end game which ultimately was a complete insult to the players.

      Anywho, back to pillars of eternity for me.

      --
      I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
  4. Codebase is nearly totally undocumented. by vikingpower · · Score: 1

    ...and probably chock-full of bugs. On casually browsing through the source code, I found - and posted - a probable issue with the implementation of the Container state-machine. Does not really inspire confidence.

    --
    Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
    1. Re:Codebase is nearly totally undocumented. by Anonymous Coward · · Score: 0

      It is a 0.x release, the announcement even says it isn't production ready, so it probably does have bugs.
      As long as they fix them and react to feedback, isn't that the whole point?

    2. Re:Codebase is nearly totally undocumented. by Anonymous Coward · · Score: 0

      Not exactly a 0.x release

      The last-generation of Orbit powered some of the key technology behind the Dragon Age Keep and Dragon Age: Inquisition.

      unless they started again from scratch. How likely do you think that is? I'd guess the 0.x number is just the github repo.

    3. Re:Codebase is nearly totally undocumented. by Anonymous Coward · · Score: 0

      I'd say chances are they restarted from scratch. Its pretty tough to release software that was never intended to be open source as open source and you really need to plan it as open source from the beginning. They said "last-generation" of Orbit, which seems to me that this is something new.

  5. You now have two problems... by Hognoxious · · Score: 1

    So you're writing an app to solve a problem.

    If you're writing apps using a framework it's good if the framework is written in the same language. So that when it doesn't do what you want (which it won't, it's a framework) you can hack it around to your heart's content.

    You now have two problems...

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  6. Lightweight inversion of control container? by zifn4b · · Score: 1

    Gee, that sounds like new, innovative technology about 10 years ago...

    --
    We'll make great pets
    1. Re:Lightweight inversion of control container? by Anonymous Coward · · Score: 0

      I think the bulk of the project is the virtual actors framework, which is a pretty new concept from Microsoft.
      The IoC container is just there to make it easier to manage the apps you deploy, and seems optional.

  7. "Related" links!? by silanea · · Score: 1

    The "related" links /. gives me as of now are:

    • Anita Sarkeesian, Creator of "Tropes vs. Women," Driven From Home By Trolls
    • Combating Recent, Ugly Incidents of Misogyny In Gamer Culture
    • The Daily Harassment of Women In the Game Industry
    • Gen Con Threatens To Leave Indianapolis Over Religious Freedom Bill
    • Intel Drops Gamasutra Sponsorship Over Controversial Editorials

    Could someone kindly explain to me how those articles relate to the topic at hand? I sure have not the faintest clue.

    --
    Rudolf Hess edited Mein Kampf. He was the very first grammar nazi.
    1. Re:"Related" links!? by Anonymous Coward · · Score: 0

      Bioware is pretty much the worst offender when it comes to studios infected by the social justice warrior stuff. Not only that, but they carry the flag at the head of the pride parade.

    2. Re:"Related" links!? by KingSkippus · · Score: 1

      Because it's an article about the gaming industry in general, and unfortunately, a lot of gaming industry news these days has been about gamergate idiocy and other bigoted asshats.

    3. Re:"Related" links!? by Anonymous Coward · · Score: 0

      These are the articles that made Slashdot the most money over the last 8 months.

      Stabbing gamers in the back is a lucrative business model for nerds in tech.l

  8. Akka? by vix86 · · Score: 1

    How is this different from Akka?

    1. Re:Akka? by Anonymous Coward · · Score: 0

      It uses Virtual actors, which is quite a different model to traditional actors in libraries like Akka.
      This paper from Microsoft details exactly how they work and what the difference is. Orbit is modeled off that Microsoft project.

  9. baldur's gate by ElAngelo · · Score: 1

    Baldur's gate is still their best project so far though :) Classic game !!!