Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Comment Re:Guesstimates? (Score 1) 409

So instead of telling developers to abandon tools which make their job and life easy, how about requesting Linux developers to make game development a little easier?

The problem is that there is no such thing as "Linux developers". Afaik, OpenGL is maintained by the OpenGL ARB and it looks it needs more support. I agree it is inferior to DirectX, however it is not by abandoning it that the solution will improve. Windows game developers are responsible for the situation by adopting DirectX and succumbing to Microsoft's charms so massively. It's Microsoft, everyone saw it coming.

Anyway, I was not talking about the quality of the API but the achievable end-results which are close to DirectX equivalents (the proof is that Wine translates DirectX to OpenGL and games don't end up looking so bad). I would rather have slightly worse looking games and having them run natively on Linux.

OpenGL ES is a strict subset of OpenGL and the UnrealEngine2 can run under Linux natively. The 3rd version doesn't run Linux/BSD yet (afaik) because I guess it is not a priority, but I don't see why it couldn't.

For being a developer on a cross-platform game (using SDL but knowing how to do it in a "lower-level" way with X / ALSA), I can assure that while it's not perfect, the sound & mouse events is a non-issue. It's only a matter of reading doc... of course the development environment could be better, but it won't happen magically: even in the best case scenario, it will happen gradually if games are release natively.

Comment Re:Guesstimates? (Score 1) 409

Thanks for the link! It doesn't look bad even if I am not very much into realm/faction-based MMOs. However the RTS part seems really nice! Players can even run their own server. Their forum, which is usually a good indicator of the community, looks civilized and written in proper English. I have found that Linux games tend to have a more mature community. I will try it when I have some free time.

I also know of Regnum Online which has a native client, but having played it I can tell it's utter shit and I'll spare you the link. If you are masochist, use Google :).

Actually, I am rather selective for MMOs, it's easy to get addicted even to bad ones. I dream of Mortal Online with a native Linux client.

Comment Re:Guesstimates? (Score 5, Insightful) 409

Unfortunately this will be buried in the mass of posts, but I'll go anyway.

If a game developer releases his game for Mac and Linux as well, maybe that's 10% market share but it's not the same market share! It's really disappointing to see this fact so often overlooked. Because not all users are the same. Mac and Linux users are DYING to play games. Meaning that a lower market share could still have higher game adoption.

For instance, take MMOs. There are no decent MMOs running Linux natively. As a former Ultima Online player now reconverted into a Free Software enthusiast, I would love a good MMO to play. But I will not use Windows.

The market for MMOs is *saturated*. If you publish yet-another-MMO, whether it's for a niche market of players (hardcore MMOs such as DarkFall of Mortal Online which I would love to play) or another WoW theme-park-MMO clone, you still have to convince Windows players to buy your game and pay the monthly fees. The Linux desktop usage may be lower, there is NO competition for MMOs. Meaning all suckers for MMOs like me would play if the game is any good.

In fact this applies to most games because the market is saturated. It is better summed up by the Lugaru game developers.

IMO, game developers are only missing opportunities. Once they release for Linux and Mac, desktop usage will raise and more people will favor their games over their Windows-only competitors.

Last argument is that "Linux users only want free". This is wrong. Windows users are a lot more about cracking and pirating. If Linux users see something of value, they will no doubt buy it to encourage companies to continue. Most Free Software enthusiasts have no problem with proprietary games because it can be considered a piece of art rather than a piece of software. At least art resources (graphics, music) need not be free, even RMS says so :). And we *are* desperate for good native games.

So (to game developers), stop depending on DirectX! Use abstraction layers between DirectX and OpenGL. UnrealEngine 3 works with both, and considering how advanced it is, I don't want to hear shit about how OpenGL is not as good. It will only get worse if game developers let it die. And release NATIVE support for Ubuntu and Fedora. The community will make sure it works on other distributions.

Comment Re:...then IBM wouldn't be into OSS at all (Score 2, Informative) 370

And, it is also possible to (gasp) add proprietary code on top of a GPL project too. It simply takes a bit more work. Several companies have been doing this with Linux for years. Here's how to do it: 1. Submit hooks into the GPL code back into the GPL project. These hooks will be used to connect your proprietary code into the GPL code. Most likely these changes will be rejected by the project. Who cares? You've done your bit. 2. Now use the open source hooks that you submitted, but were rejected by the GPL project to create a new GPL project that includes those hooks. Can't stop you from forking a project! 3. Now build the proprietary layer of your code on top of the hooks. As long as you are dynamically linking into the GPL portion of the code, you are safe from the GPL license. Otherwise, you wouldn't be able to run any proprietary third party application on a Linux box. If that was the case, IBM would have dropped Linux a long time ago. 4. Rake in cash by leaching off the GPL software project!

Nope. Your "loophole" doesn't exist, you cannot link either dynamically or statically on top of a GPL'ed piece of software without your code being GPL'd. But as with all copyright infringement (which is exactly what you are describing), a copyright owner has to complain / sue you. In the case of proprietary Linux modules, they are tolerated by Linus and other kernel developers because they feel they add value anyway. So it's a tolerance that might as well stop tomorrow.

Why is Nvidia safe? Because they don't themselves distribute GPL'ed code. They only distribute their modules which are very similar to Windows or Mac drivers. The only Linux-specific parts are the interface/hooks and this is rarely considered as derivative work (it really depends on the interpretation of the judge at the trial), so that's how far the legal uncertainty goes for Nvidia.

If the user himself links proprietary to GPL'ed software, he is safe: the GPL has no provision preventing the end-user from any usage. However, the ones who are distributed GPL'ed software automatically linking proprietary modules to the kernel are.... Ubuntu and other distributions (note that Debian does not). They are actually the ones most likely to be sued if a kernel developer with copyright relevant to the graphical subsystem in the Linux kernel (or some code from which it was derived) wanted to go against the flow (because, most kernel hackers stopped caring even if Greg K-H complained about it, and obviously Linus doesn't give a shit because he's "rational").

Now, do the same with a GPL'ed project whose copyleft belongs to the FSF and it will be another story altogether. I think it might hurt :). So what you're saying will work only if the original authors don't want to enforce the GPL for a particular case, and you should ask them first -- they will never say they don't care officially, but you can still test the water if you like to play.

I agree this licensing stuff is tricky, but the GPL actually works and makes sense (but if I lack sleep I can't wrap my head around it).

Comment Re:OK this is just stupid (Score 1) 715

I'll reply to you but I could as well have replied to the other hundreds of similarly ignorant posts. The difference I guess is in your uneducated (dare I say moronic) title.. When you ssh a GNU/Linux server, it *is* free because you have access to the DATA (and to the free software using it). When you are doing "local computing", data access is guaranteed so the focus so far was on software freedom. When you do "remote computing" (ie cloud computing, SaaS, etc), the notion of *usage* Freedom needs to be extended not only the software, but also to control over the data as well as the guarantee that the software running (or at least the data managing parts) is the software you can obtain.

Reading the article and past RMS interviews, this interpretation seemed obvious but you are so many calling him stupid for stating that simple fact yet not even understanding how obvious it is that it ends up being a pathetic flame-fest. In fact, the most important aspect of remote computing is the control over your data (at least the ability to get it back) in a standardized way so that even if you don't have the software that's running on the other end, you can have a free software of your own do it.

Next time maybe you can read, and if you did, try understanding. Sorry for the rude tone but so much ignorance or ease to go flame gets on my nerves.

Now you may disagree and think that it's OK if you spent 2 years uploading data on facebook that is totally yours (your inputs, your personal life, your photos, etc) and can't even get it to process it yourself or upload it to a (better) competitor, that's your problem. RMS is only saying one thing: Free Software is about control over the data, and if you do remote computing, then you need more than just Free Software to ensure the very freedoms that the FSF is trying to defend. Sorry, but he makes sense.

It IS possible to do SaaS in a way that guarantees control over data and software freedom, that's just not what is being done.

Comment Re:Scala seems to be Java+/- (Score 1) 324

In fact I used to program a lot in C++ and I loved it. I was very much in Bjarne's school of C++ and programming it just like He said (even among ##C++ freenode helpers/idlers at a point); definitely not programming it like C at all (I still love C). But my points are still valid. Sure, the const modifier in C++ is great to get the typing system to prevent writing on some refs. Sure, the typing system isn't bad for an imperative language. But it is still light years behind ML & fp, and that is something Scala does very nicely and it keeps the object oriented paradigm.

One of the things I love most in fp (and Scala does it right) is that "everything is an expression that returns a value". For example, an "if" is not a statement in ML or Scala, it's an expression and you are guaranteed that both branches will return the same type, so you can write: val x = if (...) y else z

It doesn't look like much but when you get used to it and what you can make of it, it's something that I miss in imperative languages. I often think of Scala as C++ done right (note: these are EXTREMELY different languages, I'm talking about the feeling): not too much low-level details to care about (for instance, Java's "all objects in the heap, only refs/primitives on the stack", and always have a gc, simplified a LOT programming compared to C++'s static & automatic objects on the stack vs. objects in the heap). But unlike Java (and very much like C++), Scala is fun to program in and gives the developer a feeling of freedom and power.

Anyway I'm not expecting I will convince a C++ programmer over a post -- but I convinced myself that C++ is fundamentally flawed. And whether you trust me or not, I guarantee you that I know C++ very well. A programming language is all about giving you the right tools and abstractions. Quoting Saint-Exupéry, "Perfection is reached not where there is nothing left to add, but when there is nothing left to remove.". In that regard, Scala is a lot closer to it than C++. You should give it a try :).

PS: My code has never been evil :).

Comment Re:Scala seems to be Java+/- (Score 1) 324

I know. I didn't imply no other languages allowed this (especially for "high level" data structures such as list). I was just replying to gp that indeed, the article is about scalable infrastructures/systems rather scalable languages.

On the other hand Scala goes quite far in that approach; Ruby and Scala are also often compared for the ability to define embedded DSLs. In Ruby it is handled with meta-programming whereas Scala has made the choice of offering language-level DSLs (that make use of Scala syntax smartly), thus offering the typing system for the definition and usage of DSLs. People coming from Ruby especially enjoy a strong typing system that helps them and doesn't get in their ways.

Here's something I read tonight on IRC, and I read it quite often :)...
<against_logging> i learned ruby for nothing, i found scala

Now, Ruby is nice -- but just like a lot of people didn't care much before Rails came, right now a lot of people are dismissing Scala because "we don't need another language". Scala is not just another language, really. It finally provides an "enterprise-friendly" functional language: enterprise-friendly, because a lot of companies are sold with Java and the JVM, it's easy to let Scala in. But it gives the power of ML and functional languages, all the libraries written for Java, and the lightweight syntax of Ruby or Python (with a much better performance).

Finally, Scala matters because this is the Free alternative to F#, which is basically Ocaml for .NET. OCaml is Free (even if the policy is a bit restrictive with contributions), but it isn't part of a larger platform such as the JVM or the CLR. In the upcoming years, functional languages will get a boost because they handle multithreading better (they make it more practical to use immutable data) and because finally people understand that a typing system makes complex programs easier to re-use and maintain. Scala is very much the contender for the Free Software community -- and it's not only more innovative than F# (which is very similar to Ocaml, which is awesome but has been around for a while), but also in my opinion offers developers from the world of Java & dynamic languages with a stairway to functional programming: they can learn step by step.

Comment Re:Scala seems to be Java+/- (Score 1) 324

A language scales if the language itself (not the "runtime" or whatever) can grow with user constructs to suit the ever-changing needs. For instance, in Python, if you write
l = [a]

you will end up with a Python built-in list. Squared-brackets are part of the language syntax and will always refer to Python builtin lists.

In Scala, which is meant to be a scalable language (as the name implies: SCAlable LAnguage), if you write
val l = a :: Nil

you will end-up with a Scala list only because the ::' "keyword" (which in fact isn't) is in the scope, but you could specify another class if you'd like. Use another implementation, yours if you'd like.

All of Scala is made this way and that's why the *language itself* is scalable.

Now, the article talks about scalable architectures, not scalable languages -- they use Scala because they like it :). Yet since Scala compiles to Java bytecode, it offers all the JVM's scability features (clustering with terracotta, ...) and it's a great language to write scalable software in :).

Comment Re:Scala seems to be Java+/- (Score 4, Insightful) 324

I read between the lines that you call C or C++ solid-code, and if I'm not mistaken, you will find that the kids are doing Scala because the code is more solid. Scala benefits from a typing system close to OCaml's which makes Scala code very, very solid -- especially if you keep away Java specifics (such as nullable objects) in your code and take special care when interacting with Java libs that may do so.

If I'm mistaken and you're not talking about C/C++, I hope you are not talking about dynamic languages which offer no guarantee whatsoever; you know as a developer I enjoy actually spending my time on working on the business side of my application -- and how to make it scalable, rather than working on low-level specifics and on testing if every pointer is null before dereferencing them. A type system that does this for me (which Scala or ML's parametrized type Option allows) is a bliss.

Now, I'm not enumerate every language under the sun to see what code you call solid, I guess your answer would be that the code is solid whatever the language it's written in. In the end, it all comes down to binary instructions, right? The question is: how many guarantees do the tools give you? In the case of Scala's compiler, it gives you a lot AND offers you a very enjoyable, lightweight yet powerful syntax.

Slashdot Top Deals

The difference between reality and unreality is that reality has so little to recommend it. -- Allan Sherman

Working...