Volca on 21/9/2008 at 15:01
Quote Posted by Yakoob
Then you clearly don't know enough about how computers work. A simple example is to hack my kernel to translate all direct x calls to draw wireframe, thus giving me instant wallhack. On windows it wont work since the game can just check the integrity of your kernel which is always consistent. On linux, there are so many distros that doing such check would mean stopping 90% of legitimate users from playing your game cause they chose a different kernel.
Please give me a better example, because I'm not buying this one. Check consistency of kernel? Do you know what you're talking about? Give me an example of a game which does this.
Quote Posted by Yakoob
(note: my example is flawed because direct x is a separate DLL and not tied to kernel, but it illustrates my point)
I don't think so, to say the truth. Just look at the ddfix, it will show you how this can be done on windows as well. Creating a proxy dll is quite easy for an experienced programmer. What about all the different patch versions of kernel32.dll?
Quote Posted by Yakoob
Also Carmack is one of the richest and most famous studios out there and can do damn well what he pleases. Most game devs do not have the time and resources to support yet another highly dynamic platform, especially one with a tiny market share that will most likely not return the money put into its development. We're lucky when we even get a windows port nowadays.
His linux releases show he cares about linux, even though it might not be a profitable thing to do these days (around 1% of PCs have linux).
Quote Posted by Yakoob
(also, Carmack's games run on linux because they use OpenGL. I don't want to start a DX vs OGL debate, but if you're writing in DX you CANNOT easily port to linux without rewriting your whole rendering (and in part, content) pipeline).
Having DX calls directly in the engine is a portability suicide. Writing rendering backend for any of the rendering options is a much better thing to do. Unreal Engine does it for example.
Quote Posted by Yakoob
No, of course not, it's not like it doesn't mean twice the requirements to get the same code running, twice the amount of bugs which appear on only one platform but not another, twice the code (in some areas) that can be functionally vastly different and inability to use platform-specific concepts that can vastly decrease performance. Why do you think many games today get skipped on PC ports? because, contrary to your ignorant opinion, games ARE harder to code on different platforms that have their own specifications and can require big rewrites just to get a fucking box drawn to the screen.
If you want a very simple illustration of this, try making a complex, layout-heavy website with CSS and try to get it to look exactly the same on IE and Firefox. Good luck.
this.
You know what is hard porting? All those vast amounts of different java versions across all those different phones, having different screen sizes, processor speeds, etc. That is hard porting. Porting for 4 or 5 platforms? This is all about support.
Quote Posted by raevol
Seems to me that where there's a will there's a way. Seems to me that "traditional" game developers just hire run-of-the-mill programmers who can poop out a half-assed unoptimized directx engine, and then spend the rest of their time expecting gamers to shell out for the hardware. Maybe that's just the way it seems though.
That's it, I could not say it better.
Porting means support. Support mens money. So, porting for a nonviable platform means losing money. Porting to linux does not happen, as the platform is too small. That's it, nothing more.
There is an official client for Second Life, plenty of small games are released for linux (not much, yes, but still, there are some).
Yakoob on 21/9/2008 at 20:01
Quote Posted by Volca
Please give me a better example, because I'm not buying this one. Check consistency of kernel? Do you know what you're talking about? Give me an example of a game which does this.
My wording was really poor, I agree. But as an example, afaik, Valve's VAC scans the memory to see if you are running a modified version of (I believe) dx dlls exactly for that purpose. Not exactly kernel, but close. And I cannot think of a good kernel example right now, so I'll you win this argument for now.
However, my point still stands: having an open source kernel is in no way beneficial to game developers and, if anything, it can just cause more problems (yet more software configurations to support).
Quote:
His linux releases show he cares about linux, even though it might not be a profitable thing to do these days (around 1% of PCs have linux).
Ok, but this in no way refutes my point; I never said Carmack doesn't care about linux, I was just saying why he's one of the few who can and do.
Quote:
Having DX calls directly in the engine is a portability suicide. Writing rendering backend for any of the rendering options is a much better thing to do. Unreal Engine does it for example.
Irrelevant. You still have just as much DX code, but it's now in a different place. When porting to OGL you still have to rewrite just as much code, it's just that this code is now in dxbackend.cpp rather than renderengine.cpp.
Quote:
You know what is hard porting? All those vast amounts of different java versions across all those different phones, having different screen sizes, processor speeds, etc. That is hard porting. Porting for 4 or 5 platforms? This is all about support.
Ah yes, cell phones with their 1280x768x32 displays, their advanced HLSL 3.5, their 6.1 surround sound, joystick support, shitton of specification requirements to get systems like achievements/friends lists/voice chat/etc. working, billions of hardware and software combination dependent entirely on the end-user...
Also, "all about support?" WTF? Do you even know what these words mean, cause I sure as hell have no idea what you're trying to say.
Honestly, claiming development on a fucking cell phone is harder than cross-console and -PC development just show's how little you know about this subject.
Quote:
That's it, I could not say it better.
Porting means support. Support mens money. So, porting for a nonviable platform means losing money. Porting to linux does not happen, as the platform is too small. That's it, nothing more.
That's EXACTLY my point. It's just that I clarified that "nothing more" means "linux isn't some god-send platform that, through it's magic of 'open source' practically makes the code port itself."
Volca on 22/9/2008 at 06:34
Ok, it seems we're finally reaching some conclusion :)
Quote Posted by Yakoob
My wording was really poor, I agree. But as an example, afaik, Valve's VAC scans the memory to see if you are running a modified version of (I believe) dx dlls exactly for that purpose. Not exactly kernel, but close. And I cannot think of a good kernel example right now, so I'll you win this argument for now.
Windows use microkernel. This means all the functionality of the system is in DLL files and drivers. This should mean a simmilar problem for developers - what if a particular dll was missing? I see this as an analogy for some customized kernel build.
Quote Posted by Yakoob
However, my point still stands: having an open source kernel is in no way beneficial to game developers and, if anything, it can just cause more problems (yet more software configurations to support).
This is not what I undestood from your original posting. Anyway, applications typically don't interface with kernel directly, there are libraries to do this. I agree it can cause problems, but look at the distros out there. Typically, there is the same kernel on all the machines, distro's default kernel, and software developers can count on that. If some one compiles and uses a modified one, his fault if the app does not work (although I think that this would be a rare problem). Also, there are about 3-4 major distros, and if linux will gain more attention, you'll see releases for the major ones.
Quote Posted by Yakoob
Ok, but this in no way refutes my point; I never said Carmack doesn't care about linux, I was just saying why he's one of the few who can and do.
Anyone can do it. Carmack also said somewhere about id Tech5 that it's being developed on all platforms in parallel, and this is what I was saing is much better attitude than write now, port in the feature.
Quote Posted by Yakoob
Irrelevant. You still have just as much DX code, but it's now in a different place. When porting to OGL you still have to rewrite just as much code, it's just that this code is now in dxbackend.cpp rather than renderengine.cpp.
Not quite. If you calculate with the specifics of each of the platform from the start when designing the rendering interface, you'll be able to separate those from the game itself, saving quite some trouble. After all consoles today are much closer to PCs than they were a generation ago.
Quote Posted by Yakoob
Ah yes, cell phones with their 1280x768x32 displays, their advanced HLSL 3.5, their 6.1 surround sound, joystick support, shitton of specification requirements to get systems like achievements/friends lists/voice chat/etc. working, billions of hardware and software combination dependent entirely on the end-user...
This seems simmilar. More complex yes, but for about 2-3 platforms. You're mentioning features, not portability problems.
Quote Posted by Yakoob
Also, "all about support?" WTF? Do you even know what these words mean, cause I sure as hell have no idea what you're trying to say.
Honestly, claiming development on a fucking cell phone is harder than cross-console and -PC development just show's how little you know about this subject.
I just said it's more work to port, as there is million of different java platforms out there. I did not say it's harder to develop for cell phones. I said it might be a hell to port from one phone to another. One small problem after another, times the count of the platforms you port to.
Quote Posted by Yakoob
That's EXACTLY my point. It's just that I clarified that "nothing more" means "linux isn't some god-send platform that, through it's magic of 'open source' practically makes the code port itself."
See, we can agree. I was originally reacting to your conclusions that GPL includes some devillish plan to pull sourcecode from the authors and that writing a client for linux is HARDER than on windows. I still think you're not right here.
Edit: By which I mean that GPL won't magically steal your code unless you include some code with that license. This applies on any platform, including windows.
MorbusG on 22/9/2008 at 07:00
Quote Posted by Volca
GPL includes some devillish plan to pull sourcecode from the authors
Well it kinda does, doesn't it? "Open Source" -licenses include others than just (L)GPL you know, like BSD, X11/MIT, etc. which don't carry such a hypocrite meaning for the word "free".
Porting games to Linux had its time when Loki did the hard work and no one was buying (I was, though).
Ultimately this can be seen as OpenGL vs. DirectX issue I think.
Volca on 22/9/2008 at 07:09
Yeah, I should have written that sentence better. What I mean is that GPL will require you to publish any changes to the already GPL'ed code. If you won't use any GPL'ed code, you are free to distribute binaries. From whay Yakoob said it would nearly seem that simply publishing some game for linux makes you forced to release the source code as well, and GPL is to be blamed for it.
It's a pity Loki had so hard times back then. I suppose if only linux had 5% or 10% of PC installations, it could end differently.
Yakoob on 23/9/2008 at 00:04
Quote Posted by Volca
Ok, it seems we're finally reaching some conclusion :)
YAY e-progress :D
Quote:
This is not what I undestood from your original posting. Anyway, applications typically don't interface with kernel directly, there are libraries to do this. I agree it can cause problems, but look at the distros out there. Typically, there is the same kernel on all the machines, distro's default kernel, and software developers can count on that. If some one compiles and uses a modified one, his fault if the app does not work (although I think that this would be a rare problem). Also, there are about 3-4 major distros, and if linux will gain more attention, you'll see releases for the major ones.
I agree it's his fault, but also a lot of the linux users are the geeks who pride themselves in modifying thier kernel; this would probably be the target audience of game devs (at least for now until linux becomes mainstream).
Also, 3-4 major distros still means 3-4 different specifications. Yes, most of them (sharing the same kernel and all) are almost identical, and in an ideal world a program would work equally and flawlessly on each one, but we all know that's not always true. Sure, the variance may be minimal, but it's still there - these things compound onto each other.
I'd love to argue more about on the point of "windows = 1 api vs linux = more varaince hence harder" but I've never done much linux coding and cannot really go further with this
Quote:
Anyone can do it. Carmack also said somewhere about id Tech5 that it's being developed on all platforms in parallel, and this is what I was saing is much better attitude than write now, port in the feature.
Yes, anyone can do it, but very few can do it and not collapse financially.
Quote:
Not quite. If you calculate with the specifics of each of the platform from the start when designing the rendering interface, you'll be able to separate those from the game itself, saving quite some trouble. After all consoles today are much closer to PCs than they were a generation ago.
Yes, but you are still writing twice as much code that does the exact same thing - that's my point. Whether you do it from the get go or after, it always means writing more stuff and having more bugs to deal with. And some devs simply don't have the time and resources to pull it off.
Quote:
This seems simmilar. More complex yes, but for about 2-3 platforms. You're mentioning features, not portability problems.
Portability problems are caused by features
Quote:
I just said it's more work to port, as there is million of different java platforms out there. I did not say it's harder to develop for cell phones. I said it might be a hell to port from one phone to another. One small problem after another, times the count of the platforms you port to.
I see what you are saying and I agree in part. It may be more work, but it's definitely not as tricky and challanging work as for games. Most phone apps you can probably half-ass and they will work fine - if you do that for games, your game will end up with a metric fuckton of bugs or glitches, or run like ass. There are also many more "features" you need to worry about when porting a game from console/pc than from a simple phone app.
I haven't done any phone development, but I think what you're getting at fits nicely with my earlier analogy of creating a cross-browser compatible website. Is it time consuming? Sure. Is it annoying? Yea. Is it hard? No.
Quote:
See, we can agree. I was originally reacting to your conclusions that GPL includes some devillish plan to pull sourcecode from the authors and that writing a client for linux is HARDER than on windows. I still think you're not right here.
Edit: By which I mean that GPL won't magically steal your code unless you include some code with that license. This applies on any platform, including windows.
Sorry if I wasn't clear - from what I understand, if you make use of a GPL code in your own code (not as an external DLL), your code then automatically becomes GPL as well. And GPL requries you release your source code for free.
Developing on linux wont automatically make your code GPL (though, fun fact, IIRC the standard c libs are GPL and at some point would have made anything you compile using them GPL too, until a new clause was introduced specifically to prevent this scenario). However, I always got the impression most of the GPL stuff happens on linux platform, so if you're gonna use external libraries you are more likely to end up using something with GPL on linux than windows. This is a really oddball argument against linux developing, so I don't think we should really go into it further tbh.
Volca on 23/9/2008 at 12:31
Quote Posted by Yakoob
YAY e-progress :D
I agree it's his fault, but also a lot of the linux users are the geeks who pride themselves in modifying thier kernel; this would probably be the target audience of game devs (at least for now until linux becomes mainstream).
True. Although I'm surprised how much normal users I start to see around me these days. Ubuntu really changes things.
Quote Posted by Yakoob
Also, 3-4 major distros still means 3-4 different specifications. Yes, most of them (sharing the same kernel and all) are almost identical, and in an ideal world a program would work equally and flawlessly on each one, but we all know that's not always true. Sure, the variance may be minimal, but it's still there - these things compound onto each other.
There is a more-or-less followed specification for linux systems - the (
http://www.linuxfoundation.org/en/LSB) LSB.
Quote Posted by Yakoob
Yes, anyone can do it, but very few can do it and not collapse financially.
Maybe, but I'd say it depends on the developers. Hire someone that knows how to develop for linux from the start and he'll be able to influence the developement process so linux port will be much easier to do.
Quote Posted by Yakoob
Yes, but you are still writing twice as much code that does the exact same thing - that's my point. Whether you do it from the get go or after, it always means writing more stuff and having more bugs to deal with. And some devs simply don't have the time and resources to pull it off.
Portability problems are caused by features
Right. Under time pressure, lack of developers, etc, what I expect to be quite common situations with game developement, this might happen.
Quote Posted by Yakoob
Sorry if I wasn't clear - from what I understand, if you make use of a GPL code in your own code (not as an external DLL), your code then automatically becomes GPL as well. And GPL requries you release your source code for free.
Developing on linux wont automatically make your code GPL (though, fun fact, IIRC the standard c libs are GPL and at some point would have made anything you compile using them GPL too, until a new clause was introduced specifically to prevent this scenario). However, I always got the impression most of the GPL stuff happens on linux platform, so if you're gonna use external libraries you are more likely to end up using something with GPL on linux than windows. This is a really oddball argument against linux developing, so I don't think we should really go into it further tbh.
You're right that there can be issues with GPL (after all it's attributed viral), but I don't remember any basic C library to be pure GPL - glibc is LGPL all the time I remember. Dynamically linking to LGPL library is safe.
Going back to the original subject of this thread:
I find all those small games on linux much more entertaining than the big ones which often suffer from amateurish graphics, random issues, etc.
For example:
* jumpnbump (only for 2 or more people, but a real time eater)
* xmoto (elastomania had somewhat better physics, still this one is quite fun)
* gwelled
* all those sokoban clones (Namely Rocks'n'Diamonds)
raevol on 24/9/2008 at 11:45
Quote Posted by Volca
* jumpnbump (only for 2 or more people, but a real time eater)
I didn't realize this game was still in development. :O
Rogue Keeper on 24/9/2008 at 11:56
Ubuntu is a great choice for your laptop, under condition you also have desktop with Wins for gaming and all mainstream applications. You spare money for another Win license and Ubuntu has all important apps in it.
I plan to make Ubuntu 64bit duaboot on my desktop soon on separate drive. It's never bad to have backup system.
Hemebond on 24/9/2008 at 12:21
As someone who's used Linux exclusively for quite a while now, plays quite a few games and does his best to keep up with issues around Open Source I'd just like to say that many of you are full of crap.
Yakoob.