My point is that there's no reason for people to think evil of Microsoft's move to create their own open source license, since other developers out there (myself included) would also have a custom open source license. It's easier to custom tailor a license to every requirement, than try to find an OSS license out there that fits.
I will *never* license any of my code under the GPL. It's an extremely restrictive license that takes away the rights of the developers. If I release something as open source and it's modified, I don't care who modifies it. There's no good reason for them to have to release their changes to the public. The only thing I care about is if my code is used to generate profit. Any other uses... *shrugs*
THQ bought out Volition a few years back, but it's never been sold outside of that. Perhaps you're thinking of Outrage/Parallax, which made the Descent series?
It's Computer Science in general that's the problem. CS is for theory, which is what some people don't understand. I dunno if there are any really good non-game, programming schools out there, but you usually won't find a top-notch programming team inside of a CS program.
I work in games, so I figure that a good balance for me would be an hour of compile time to cut out 100 microseconds a frame. Of course, these compile time optimizations should only be enabled in release builds, but when you only have ~16 milliseconds a frame, a 100 microsecond speed increase is a lot. Template specialization at compile time wouldn't be a terrible speed hit if Visual Studio supported the export keyword, which lets you separate the declaration and definition of templated functions.
As a side note, with Incredibuild, compile times aren't bad at all.
Hm. As far as maintainability/readability/debugability, the non-templated version wins (though, your use of recursion there is so unnecessary). As far as speed goes, the templated version wins (compile-time is usually preferred to run-time). Even with a good amount of comments on the templated version, the first would be preferred. It doesn't matter if it's fast if it can't be maintained/debugged.
But that static assert is a perfect example of unintelligible templating. That code means exactly nothing to me.
It was a student project and LuaBind was easier and, more importantly, quicker than writing the bindings ourselves. Boost seems too black-box/managed for my tastes, with most of the code leaning more towards safety than speed.
I should preface my comments with the fact that I'm a game programmer, so speed is more important than idiot-proofness to me. I've never taken a look at the preprocessor metaprogramming library, just asio and LuaBind. I've never used asio (honestly, I'd prefer dealing directly with the sockets than trying to figure asio out), but LuaBind seemed to work alright, if a bit slowly.
Even beyond that, Boost fills up the symbol table quick as hell, because of how templated it is. I worked on a project that used LuaBind, which requires Boost, extesnively. We eventually had to swap over from Visual Studio 2003 to 2005, because of Boost's templating filling up the symbol table. Visual Studio would just fail to compile. Lua's hard enough to debug as it is, but tossing Boost on top of it made it impossible.
Maybe you've never worked on games before, but you seem very naive about it.
Sure, you can build an ultra-secure game that will be near-bulletproof, but you know what? That game wouldn't be fun. You'd have to wait for server auth before you could do anything, so this would only work for non-real time games.
And, finally, on top of what I said, the direct issue brought up (keyboard/mouse movement spoofing) cannot be fixed by games. Period.
In the past two days, I've been in contact with Microsoft support for over 4 hours. I'm waiting for another call from them today.
What's the problem? I can't open the control panel. When I open it, it immediately closes. The culprit? Either my display driver or the NVIDIA control panel. The display driver comes with the NVIDIA control panel, so I can't get one without the other.
I wasn't giving advice. I was saying that contrary to the OP's opinion, work doesn't have to be a means to an end.
What you say is definitely fair enough and you could definitely be right, but even if you are, that doesn't mean you can't like what you do.
I'm sorry. I *enjoy* what I do and would be doing it in my spare time if I weren't being paid to do it. I work for a THQ studio (Volition) as a game programmer. I don't know if working at a game studio owned by THQ would be classified as corporate (THQ is *huge*, though).
So far, I've spent about 4 months in the industry and I've loved it.
The difference between Xfire and Live is that Xfire is "simply" an IM program at heart. Live is a full-fledged multiplayer service. Whereas Xfire changes itself to work with other games, other games change themselves to work with Live.
I'm not sure, but I believe the 360 could communicate with PCs relatively easily. At the base level, it would only make sense the the 360 uses BSD sockets, as does almost everything else.
I'm not saying they're right, I'm just saying that I understand what they're talking about now. Before reading this story, I'd call that coin a fake, and a bad one at that ("who puts colors on coins?"). They couldn't call the Canadians, in case it was the Canadians that were doing the spying. Though, I can't believe they didn't google it.
My point is that there's no reason for people to think evil of Microsoft's move to create their own open source license, since other developers out there (myself included) would also have a custom open source license. It's easier to custom tailor a license to every requirement, than try to find an OSS license out there that fits.
If someone is making money off of my work, why is it wrong that I should be getting some of it?
I will *never* license any of my code under the GPL. It's an extremely restrictive license that takes away the rights of the developers. If I release something as open source and it's modified, I don't care who modifies it. There's no good reason for them to have to release their changes to the public. The only thing I care about is if my code is used to generate profit. Any other uses... *shrugs*
Yes, because we should be using functions that are NOT IN THE STANDARD to maintain portability.
Oh, and as far as I know, those functions aren't in VC++, which is what a hefty chunk of C/C++ development is done on.
THQ bought out Volition a few years back, but it's never been sold outside of that. Perhaps you're thinking of Outrage/Parallax, which made the Descent series?
Go tell THQ you want Freespace 3 :-)
Dear Godai:
:-)]
Um... We're still alive.
Sincerely,
- Volition
[I'm a programmer at Volition
The school I went to (Full Sail) was for game programming, so it probably wouldn't help you, but more tools never hurt :-)
It's Computer Science in general that's the problem. CS is for theory, which is what some people don't understand. I dunno if there are any really good non-game, programming schools out there, but you usually won't find a top-notch programming team inside of a CS program.
It being ugly and hard to debug is a problem of both, but regardless, the problem exists and it causes many of us not to adopt Boost.
Agreed. It's like trying to use 'export' and then complaining that the compiler sucks because it doesn't support it.
I work in games, so I figure that a good balance for me would be an hour of compile time to cut out 100 microseconds a frame. Of course, these compile time optimizations should only be enabled in release builds, but when you only have ~16 milliseconds a frame, a 100 microsecond speed increase is a lot. Template specialization at compile time wouldn't be a terrible speed hit if Visual Studio supported the export keyword, which lets you separate the declaration and definition of templated functions.
As a side note, with Incredibuild, compile times aren't bad at all.
Hm. As far as maintainability/readability/debugability, the non-templated version wins (though, your use of recursion there is so unnecessary). As far as speed goes, the templated version wins (compile-time is usually preferred to run-time). Even with a good amount of comments on the templated version, the first would be preferred. It doesn't matter if it's fast if it can't be maintained/debugged.
But that static assert is a perfect example of unintelligible templating. That code means exactly nothing to me.
Implementation independant interfaces are a *fantastic* thing. C++ is a good thing, but some people take OO way too far.
It was a student project and LuaBind was easier and, more importantly, quicker than writing the bindings ourselves. Boost seems too black-box/managed for my tastes, with most of the code leaning more towards safety than speed.
I should preface my comments with the fact that I'm a game programmer, so speed is more important than idiot-proofness to me. I've never taken a look at the preprocessor metaprogramming library, just asio and LuaBind. I've never used asio (honestly, I'd prefer dealing directly with the sockets than trying to figure asio out), but LuaBind seemed to work alright, if a bit slowly.
Mod up. AC knows what he's talking about.
Even beyond that, Boost fills up the symbol table quick as hell, because of how templated it is. I worked on a project that used LuaBind, which requires Boost, extesnively. We eventually had to swap over from Visual Studio 2003 to 2005, because of Boost's templating filling up the symbol table. Visual Studio would just fail to compile. Lua's hard enough to debug as it is, but tossing Boost on top of it made it impossible.
Maybe you've never worked on games before, but you seem very naive about it.
Sure, you can build an ultra-secure game that will be near-bulletproof, but you know what? That game wouldn't be fun. You'd have to wait for server auth before you could do anything, so this would only work for non-real time games.
And, finally, on top of what I said, the direct issue brought up (keyboard/mouse movement spoofing) cannot be fixed by games. Period.
In the past two days, I've been in contact with Microsoft support for over 4 hours. I'm waiting for another call from them today.
What's the problem? I can't open the control panel. When I open it, it immediately closes. The culprit? Either my display driver or the NVIDIA control panel. The display driver comes with the NVIDIA control panel, so I can't get one without the other.
And the hilarity? The driver is WHQL signed.
I hear that about half the time when I tell people I work for Volition :-P
I'm just a peon. Go tell THQ.
I wasn't giving advice. I was saying that contrary to the OP's opinion, work doesn't have to be a means to an end. What you say is definitely fair enough and you could definitely be right, but even if you are, that doesn't mean you can't like what you do.
Yay for bitterness!
I'm sorry. I *enjoy* what I do and would be doing it in my spare time if I weren't being paid to do it. I work for a THQ studio (Volition) as a game programmer. I don't know if working at a game studio owned by THQ would be classified as corporate (THQ is *huge*, though).
So far, I've spent about 4 months in the industry and I've loved it.
My job is both the means and the end.
The difference between Xfire and Live is that Xfire is "simply" an IM program at heart. Live is a full-fledged multiplayer service. Whereas Xfire changes itself to work with other games, other games change themselves to work with Live.
I'm not sure, but I believe the 360 could communicate with PCs relatively easily. At the base level, it would only make sense the the 360 uses BSD sockets, as does almost everything else.
I'm not saying they're right, I'm just saying that I understand what they're talking about now. Before reading this story, I'd call that coin a fake, and a bad one at that ("who puts colors on coins?"). They couldn't call the Canadians, in case it was the Canadians that were doing the spying. Though, I can't believe they didn't google it.
I understand where they're coming from, now.