I think the Microsoft situation is different (due to the scale, expectations of their customers of several decades, and global dependence upon their operating system) and totally indefensible, but I agree with you. The web crowd should put their money where their mouths are and stop using external tracking services before they cast stones over this. Analytics are one thing, volunteering to be another node in Google's dragnet is another.
Most C and C++ programmers I know hate dragging in large dependencies (increase in build and runtime complexity, code size, "can I debug this if I have a problem," etc), and would consider a library depending on Boost to be a red flag at best, or a deal breaker at worst.
From the popular (in game development circles, at least) stb libraries:
>Why single-file headers?
>Windows doesn't have standard directories where libraries live. That makes deploying libraries in Windows a lot more painful than open source developers on Unix-derivates generally realize. (It also makes library dependencies a lot worse in Windows.)
>There's also a common problem in Windows where a library was built against a different version of the runtime library, which causes link conflicts and confusion. Shipping the libs as headers means you normally just compile them straight into your project without making libraries, thus sidestepping that problem.
>Making them a single file makes it very easy to just drop them into a project that needs them. (Of course you can still put them in a proper shared library tree if you want.)
>Why not two files, one a header and one an implementation? The difference between 10 files and 9 files is not a big deal, but the difference between 2 files and 1 file is a big deal. You don't need to zip or tar the files up, you don't have to remember to attach two files, etc.
How does header-only versus header+impl file have anything to do with deploying libraries? Versus a separate header + DLL, sure. But having an impl file isn't gonna matter if you link it all in. This sounds more like a source-vs-bin issue. What am I missing?
Worth noting that only the first two points there are relevant here, since these are not single file libraries. Also, the STB libraries work massively differently from C++ header only libs (#define STB_FOO_IMPLEMENTATION, for example).
Also, fwiw Sean Barrett also has gone on record as saying that he's not really a fan of C++ before. I'm struggling to find a specific link, but it's not really a secret.
(As a side note, to anybody who is in the need for what they do, the STB libraries are really absurdly high quality and can do exactly what you want them to 99% of the time. Highly recommend!!)
> Windows doesn't have standard directories where libraries live.
Visual Studio certainly does:
Microsoft Visual Studio 11.0\VC\include
Many people argue don't put libraries there - well then you are back to the original problem. Just as long as you don't overwrite a provided library - there are no issues. And if you do overwrite it - you get a rolled up newspaper and start beating the person who overwrote it.
It's a different directory for every version of Visual Studio (and obviously mingw doesn't use it), ergo it's not a standard directory like /usr/include
His point is that it's arguably simpler to tell people to copy a single source file to their project's source tree, than it is to help them find the include dir for whatever compiler they happen to be using. And that it's probably easier to have to manually update this file when the library is patched, than it is to coordinate manual library updates across an entire team without the use of a package manager.
You mean like when Microsoft tried to force adoption of Windows Vista by not bringing DirectX 10 to XP, and in response developers stuck with DirectX 9 for years?
A huge portion of the gaming market (China and large parts of Asia) is still using Windows XP. D3D9 renderers aren't going anywhere.
No, DX9 renderers aren't going anywhere, but they're being abstracted away and all the shiny new code is being written for DX11 and DX12. So all of the fancy high end features will be on newer systems only, with the others having less and less support. I know because this is what I'm doing at work at this time.
You're probably aware of this, but the PC-Engine (TurboGrafx's Japanese counterpart) actually did very well in Japan, beating the Mega Drive for second place in that market.
People underestimate the CPU load of modern games. There's a lot of graphics API overhead in current D3D and GL (though D3D12 and Vulkan will improve upon that), use of dynamic scripting languages (most notably Lua), and most engines don't make the best use of all cores either. And of course, your game is probably sharing the CPU with a number of other applications, which probably aren't hitting the GPU nearly as hard.
Given that, plus the fact that it's a lot easier to upgrade a graphics card than a CPU, makes me think it would make sense to spend more on your CPU than GPU on a fresh build.
(the grandparent comment has been deleted, so I don't know what the context of this discussion is, just throwing my thoughts out there)
I don't believe the reward system works as described, because I have personally seen rewards of anywhere from 8 to 12 points for victories in B and A ranked games. My guess is that rewards are based on the difference between your rank and the average rank of the enemy team; being lower rank confers a bonus, and vice versa.
The more important missing factor, however, is that the game penalizes players for disconnecting, making you eat the 10 point loss regardless of your team's performance. This makes sense, as otherwise, cheaters would disconnect or turn off their console as soon as they started losing. However, because the game is riddled with connection errors and network bugs, it is extremely common (and frustrating) for a match to go well for you, only to be kicked out near the end due to network errors and count a loss anyway.
If only one player disconnects, then their team will almost always lose, and the model remains unchanged. However, it's usually the case that a significant portion of both teams will disconnect. This results in a point deficit that this model does not account for. Example: normal games are 4v4, resulting in (ignoring my previous comment about rank-relative rewards) an even exchange of +40 points (to the victors) and -40 points (to the losers). However, if two players disconnect from each team, then only 20 points total will be rewarded to the remaining victors, while both the losers and the two "winning" disconnectors will lose 10 points a piece, resulting in a loss of 60 points, and a deficit of 40 points.
I would estimate that I have lost several ranks worth of points due to disconnects alone; just yesterday I lost around 50-70 points after a series of infuriating network errors. So my guess is that in the long run, disconnects more than compensate for the occasional +10 point bonus this blog post exposes.
Splatoon is an innovative take on the team-based shooter genre, and probably the most fun I've had with such a game since Team Fortress 2. But problems like frequent network errors and lag (probably exacerbated by the fact that matchmaking is cross-region and a significant portion of the active playerbase, especially in higher ranked games, is Japanese), flaws in the ranking system (sharing ranks between wildly different game modes, making players suffer the full loss penalty when their teammates disconnect) and matchmaking system (frequently pairing players up on imbalanced teams of e.g. 4 snipers, with no opportunity to change your weapon after the fact) do put a damper on my enjoyment.
I don't know if this is what you're referring to, but the article does say:
> (The reward or penalty is sometimes adjusted when lopsided battles occur, for example, rewarding an extra 2 points to an underdog team. For purposes of this analysis, we'll ignore those adjustments.)
The disconnection penalty does sound interesting, though. You could even argue that the network errors are a kind of balancing away from the trend that this article describes, by forcing ranks downward - although I doubt that was deliberate on the part of the developers :-)
Also, lest I scare people off from Splatoon, I should note that I spent $300 on the Splatoon Wii U bundle just to play it, and would do so again in a heartbeat. The core game design is very fun and innovative, especially in the way that it makes (through the art style and the deliberate lack of text or voice chat) a very competitive/"scary" genre palatable to people that don't consider themselves to be "hardcore gamers." And believe it or not, the (optional) gyroscope-based aiming controls (tilting the gamepad in your lap to make minute adjustments to aim, not uncomfortably pointing it directly at the screen like a wiimote) are (IMHO) significantly more precise than that of any other twin-stick-based console shooter (though nothing can hold a candle to the ol' keyboard and mouse, for sure).
My only complaints are due to flaws in the "meta-game," like the matchmaking system and map/mode rotation systems. And it's only because I like the core game so much that I can be annoyed by the meta-game.
The sad thing is, they fixed this a while ago with a stylesheet that adjusted the page width and text size to fit your display, but reverted it after a bunch of people whined hard.
“When I’m parting with a friend, regardless of the circumstances, I find it best to just say, ‘See you later.’ We’ll meet again. After all, we’re friends.
That’s right—nothing unusual about it. I’ll see you later.
You went on a trip far, far away, even though it was planned for many years from now. You wore your best outfit and said ‘Sorry for the short notice,’ though you didn’t say it out loud.
You always put yourself last, after you’d finished helping everyone else. You were so generous as a friend that this trip might be your very first selfish act.
I still can’t grasp what’s happened. It feels like I could still get a light-hearted e-mail asking me out to lunch at any moment—after you’ve made sure lunch wouldn’t disrupt my schedule, of course.
You can invite me out whenever you want. I’ll invite you, too.
So for now, let’s plan on meeting again. You can call me up whenever you like, and I’ll give you a call, too. I still have a lot to talk to you about, and if I come up with any particularly good ideas, I’ll let you know.
So let’s meet again.
No–I suppose we’re already meeting. Right here, right now.”
The fact that Iwata-san's passing is being mourned by so many around the world really speaks to his contributions to gaming, and also to the fact that video games are already - and have been for 30+ years - a true art form.