Heads up: I’m finally getting back to video production after the move disrupted everything. I had a video on the Epic Games Store that was ready for editing, but then Epic did something really lame and stupid. I thought it would feel really odd to have a video about Epic that somehow didn’t mention these current events, so the video went back in the over for another week.
I’m not sure what I can scrape together in time for tomorrow. If we don’t get a Tuesday column, can I just blame Tim Sweeney?
Direct download (ogg Vorbis)
Podcast RSS feed.
Hosts: Paul, Shamus. Episode edited by Issac.
This game has been out for two and a half years, and I’ve never seen it before. I even went looking for an MMO a few weeks ago and I somehow didn’t encounter this one.
I complained about the writing. Maybe I should provide a sample. This quote isn’t verbatim, but it’s very close and I promise it’s not worse than what’s in the game:
There was once a man who could fight stronger than anyone else in the world, but he could never find rest.
Sorry I didn’t grab an exact quote. I didn’t get any footage or screenshots while I was playing. I honestly expected to bound off the game after an hour or so, but then it ate most of Saturday.
I see little snippets of text like the sample above while furiously clicking past the nonsense the NPCs are spewing. In light of this, I want to thank the developers for two features:
- The non-localized vocals, meaning I can’t understand anything the NPCs are saying and so the bad writing is undetectable as long as I don’t do anything foolish like read the text.
- The “Skip dialog” button, which makes it easier to not read things.
The game is very flashy, grindy, and not particularly challenging. This probably isn’t a game you’ll play for months on end, but it makes a good distraction game to keep your hands busy while your brain is elsewhere.
I had enough fun that I thought I should kick a few bucks to the developers. I went to the cash shop, but then I realized I didn’t really want or need anything. I wasn’t interested in any of the doll clothes, and I was already more than powerful enough to handle all the content in front of me.
If only they had robot suits. I’d pay for some robot suits!
09:37 Visual Studio: “Community” Edition
Fun fact: Whenever I type “Visual Studio”, there’s about an 80% chance that I’ll type “Visual Stupid” instead. I worry this means I type the word “stupid” too often and my muscle memory is just leading me down the most familiar path.
Or maybe I’m just really studio.
25:35 Horizon vs. Flight Sim
On one hand, I’m always wary of Microsoft’s video game offerings. On the other hand, this is a quasi-procgen world that uses real-world maps and machine learning to generate the cities. I can’t skip something like that.
32:52 Mailbag: Software Disenchantment
I recently read an article about Software Disenchantment, the feeling of disillusionment when you realize that despite systems getting vastly more powerful, software doesn’t run vastly faster.
I’m not very up to date with my gaming, but I haven’t really noticed the same problem in games. Aside from install sizes ballooning out of proportion they seem to run fine with ever more impressive tech.
Have you guys noticed games getting slower and bloated as systems improve?
49:03 Mailbag: Punishment and Fire Emblem
Hi Shamus and Paul,
I don’t think you’ve ever played Fire Emblem that I know of, but after the Dark Souls punishment ask last week I thought it would be interesting to hear you consider how they handle punishment.
Fire Emblem is sort of like Xcom, where you have a set of units that die permanently, but unlike Xcom they all have unique designs and personalities, and there are a lot fewer of them (generally around 20-40 for the whole game, each joining at some point throughout the game). The end result is that in normal “good” play, you will want to reset the map when you lose a unit.
But every time a character dies, you have a dynamic choice. Is it someone you cared about? Probably want to reset. Your crutch unit who’s carried the last few maps? Same thing.
But maybe you’re at the end of a really challenging stage, and you just want to be done. Someone died, but you can probably move on without them. Most of the time, there are “replacement” crutch units who join at a usable power level later in the game and can help your team if it isn’t up to snuff, but they are generally weaker than fully trained player units from early in the game (since characters level up like a JRPG). The choice is yours whether to reset the map, and depending on the circumstances, it can be a very gruelling choice.
The upshot of this punishment system is that it leaves a lot of agency in the player’s hands as far as how punished they are for a given mistake. And it means that every time you “let” a character die, you really do feel responsible, since ultimately you decided that they weren’t worth going back for. When you beat the game, every character gets a little epilogue telling you what they did after the war, but the ones you let die simply say something like “Perished in Chapter 18”, which can be a huge gutpunch, potentially, and can definitely motivate you to play better on a future playthrough.
What do you think of this dynamic, player-driven punishment approach? How do you think it could apply to other genres?
56:22 Mailbag: Retcons
First off, I’d like to thank you for the Fallout recommendation a few months ago. I have been thoroughly enjoying the game repeatedly since. Though I do like New Vegas more.
One of the most surprising things to me while playing Fallout was the lack of vault experiments. Vault Tec definitely isn’t painted as a saint in the game, but they are far from the mustache twirling evil Umbrella like entity in later games.
On one hand, this makes them more relatable and real. Cutting corners and ignoring concerns to help their bottom line at the cost of human lives are things shady corporations do. On the other hand, the vaults in later games are some of my favorite parts of the series, but there is no logical reason to clone a bunch of Gary’s, lock recovering addicts in a vault filled with drugs or force people to elect an overseer to be killed repeatedly. I wonder – are the vault experiments new to the Bethesda games or were they introduced in Fallout 2?
Either way, it got me thinking about retcons. Outside of comics which have them every few years, the only other major retcon I can think of off the top of my head is Riddles in the Dark. Do you know of any other major retcons from video games? What are your favorites and least favorite retcons?
1:05:25 Mailbag: EPUB Mass Effect
This isn’t a Diecast question (feel free to include it however), but I couldn’t find any other means of contact.
I recently decided to convert your Mass Effect Retrospective series into an EPUB ebook, so that I can on-the-move indulge in my petty bitterness over a 8 year old game’s narrative failures. I have converted the first two chapters (see here: https://github.com/namandixit/mass-effect-retrospective, the file `book.epub` is the one), and was wondering whether it would be okay for me to leave this in public. If not, I can make this repo private, and not let anyone else share into my ritualistic masochistic resentment — over a story about writers’ personal sexual fantasies fawning over a hero, a bloody icon.
A video Let's Play series I collaborated on from 2009 to 2017.
Crash Dot Com
Back in 1999, I rode the dot-com bubble. Got rich. Worked hard. Went crazy. Turned poor. It was fun.
Project Button Masher
I teach myself music composition by imitating the style of various videogame soundtracks. How did it turn out? Listen for yourself.
The No Politics Rule
Here are 6 reasons why I forbid political discussions on this site. #4 will amaze you. Or not.
Black Desert Online
This Korean title would be the greatest MMO ever made if not for the horrendous monetization system. And the embarrassing translation. And the terrible progression. And the developer's general apathy towards its western audience.
103 thoughts on “Diecast #313: Soulworker, Visual Studio”
Sweeney is basically trying to harvest his Fortnite fanbase into GamerGate 2.0: Child Army edition. That’s obviously pretty vile, and I feel sorry for the Apple and Google employees who are set to become targets for harassment, but I can’t help but find it hilarious that Epic spent over a year and god knows how many millions trying to brute force a good public reputation with free game giveaways and massively subsidised sales, only to basically walk back the entirety of those gains and burn their bridges with a mostly sympathetic press overnight.
My take on the Epic/Apple situation: OK, so 30% of your Vbucks cash is being wasted on Apple. On the other hand, since 100% of money spent on Vbucks is money wasted, this means that 70% of your Vbucks cash is being wasted on Epic. Therefore Epic is 2.3 times worse than Apple. QED.
I also think Sweeney will likely get blasted out of court since he just proved his own case wrong. But he also just gave the finger to two companies he should very much want to stay on the good side of.
“he also just gave the finger to two companies he should very much want to stay on the good side of”
In general strategic terms, absolutely. But as of right now, Android and iOS are only a tiny slice of Epic’s Fortnite revenue pie. They make much more from being on the Xbox, Switch and Playstation stores (where, despite this ostensibly being a crusade against unfair platform taxes, they appear to be perfectly fine with the same 30-70 split that Apple and Google apply).
I can only assume they think there’s a favourable risk/reward tradeoff by which this move could lead to vastly greater profit potential than Fortnite mobile is giving them. I’ve seen speculation that the ultimate goal is to launch a platform agnostic payment handler, so they can process microtransactions for other developers at a competitive rate. Sounds like it would be a tidy business for sure.
Epic deliberately violating Apple’s Terms of Service has already backfired horribly on them. Apple has said it will revoke Epic’s development licenses if they don’t come back into compliance by August 28, meaning Epic won’t be able to work on or distribute updates for any of their products on Macs. This includes the Unreal Engine, which is frequently run on Macs in the film and television industry to generate CGI scenery and special effects. Epic have shot themselves in the foot and possibly cut off one of their major sources of revenue.
What? What? They launched a lawsuit that’ll grind on for years and probably go no where, they made a petty ad, so what? My reaction to this whole story was one of struggling to imagine why anyone would care about it other than iPhone Fortnite players and a handful of industry analyst nerds. Why exactly do you think a sympathetic press is going to turn on them now?
It might have been a stupid move for Epic to try to dodge the Apple gaming tax, in the sense that getting kicked off the appstore was the predictable outcome of that, but that’s the kind of stupid that mostly hurts Epic rather than its customers (anyone who had already downloaded Fortnite can keep playing, after all). The ad was overdramatic, but so what? I sat through that whole painfully padded news video because your post made me expect there would be a segment where Tim Sweeney was tweeting out the personal phone numbers of random devs or something. Do people just hate Epic so much that they default to hating everything it does?
It’s a reasonable and understandable position to have. Granted, most people don’t really care either way, but I think Epic has fewer dedicated fans than dedicated haters.
We’ll see how the lawsuits go (Epic clearly thinks they have a solid case; I’m hopeful, but not particularly optimistic, especially for Android where sideloading has been supported since forever), but I fail to see how anything about this is “lame” or “stupid”. They’re fighting predatory behavior on the part of large platform owners. The worst thing I think you could say about it is that it’s melodramatic, which is weak criticism at best.
No one would care if Epic had just sued Apple. The reason that people are once again displeased about Epic’s behavior is that Epic has been especially disingenuous and transparently cynical this time. Epic didn’t just get Fortnite booted from Apple’s and Google’s respective stores. Epic planned to get Fortnite booted from Apple’s and Google’s stores and had obviously planned a lawsuit, the text of which is obviously designed for public consumption, and a snappy video well in advance. Then they published a manifesto and tried to mobilize their player base into some sort of quasi-grass roots movement. What garbage. This is a fight between two big corporations sitting in giant castles full of money. It has nothing to do with anyone else and Epic’s attempt to drag ordinary people into it is just . . . well, it’s bad. Tacky. Shameful. Possibly irresponsible, depending on just what the Fortnite fans Epic is attempting to mobilize ultimately get up to.
What gets me is the hashtag at the end: #FreeFortnite
Wow, really? You guys are making it free? You’re going to give up the battle pass crap? Give away all those cosmetics? No?
Oh, I see. You want to use APPLE’S platform for free, but I still have to pay YOU.
Why should we care about #FreeFortnite again?
So if I publish a game on the Epic Store, I get 100% of the profits? No? I still need to pay your platform tax? But your lawsuit against Apple is based on the idea that a platform tax is immoral.
Sure, Epic is free to do whatever lawsuits make sense to them. But I can’t stand this ridiculous PR stunt that compares platform fees with dystopian oppression. That’s gross.
The iPhone is a platform and jailbreaking aside, you can’t get access to it without going through the app store. The PC is a platform, there are a thousand different storefronts for it and a million different randos who will just hand you an executable you can run on your PC. The Epic store is not a platform in the sense they are litigating. Their lawsuit is based on the idea that what Apple is doing is an illegal (not immoral) exercise of monopoly power which is something Epic certainly does not have.
It would be great if somebody could work out just how reasonable or unreasonable the 30% thing is overall. The big players bitch about it the most, and arguably for the biggest properties, 30% probably heavily outweighs the costs of hosting and handling transactions. On the other hand, for small and medium developers, and people writing free apps, 30% is probably a pretty good deal for the same services, let alone the offset for publisher fees. To a certain extent, the big players are probably subsidising the smaller ones, which I imagine they hate.
Not saying Apple aren’t monopolists – although there are plenty of other smartphone manufacturers and ecosystems, so that one might not stick – but I’d like to know exactly how greedy they’re really being, overall.
Not as much as you might think. The problem is that there’s a bunch of countries that don’t have widespread credit card usage. In order to sell in those countries, you really need to make and distribute gift cards, and in order to do that, you need to give a cut to the store. (And that’s a cut off the total value of the card, not what Valve or whoever keeps.) There is a certain level of profit involved, but once you’re distributing a physical product, a 30% gross profit isn’t that high.
(This means that the Epic Games Store will have tremendous trouble expanding outside of countries with widespread credit card usage, because their margins can’t support gift card usage.)
I know that Linus Tech Tips (specifically Floatplane) has been bumping into Apple’s requirements and has gone into detail in the past. WAN show covered it Fri. Basically the 30% is reasonable for some apps. Those apps use Apple resources and Apple is adding value to the transaction. However Apple is being really greedy in the way they deny and shut out other options. An app cannot pass that 30% onto customers. Apple has all kinds of restrictions all over the place. Apple is being and doing more monopolist actions than Microsoft did that got them hit with anti-trust back in the day. It is the combination of 30% plus the walled garden restrictions, PLUS if big players (Netflix etc) have enough clout they don’t have to follow these rules.
For comparison, the typical transaction fee cut is less than 4%. It’s fair to compare Apple’s 30% against that. At least for *some* apps due to the tiny extent they are using Apple.
I do not pretend to be an expert on the law, but I see no evidence for the proposition that Apple did anything against it. Their marketplace may have strict rules, but that doesn’t mean it’s a monopoly. Further, there manifestly are alternative markets which makes it hard for me to claim it’s a monopoly with a straight face.
While I tend to view “free data” or open platforms favorably myself, I have noticed that people with those opinions tend to assume that they have a right, even a legally enforceable one, to get what they they want. That is a highly questionable proposition at best. Note that Epic does the same as Apple in this case, enforced by contract.
Yeah; while I think the way Epic is going about this lawsuit is eye-roll worthy, I’ve been hoping for Apple’s handling of their App Store to get slapped with an anti-monopoly suit for years.
Like, huge I-Am-Not-A-Lawyer disclaimer, but it seems crazy to me that Microsoft was sued (and lost) for bundling IE with Windows, while Apple has been able to have a stranglehold their app store.
Apple’s policies here are extremely sketchy – they’re not just taking a cut on purchases in their app store (which is comparable to Epic Store taking a cut… except that Apple has a platform-induced monopoly, while Epic doesn’t), they’re forcing app developers to route all monetary transactions through their channels where they can take a cut.
For example, I’ve been studying Japanese in recent years. I’ve been using a site called WaniKani which is sort of a “kanji flashcards as a subscription service”. There used to be an app on iOS, but then got removed from the platform because you couldn’t subscribe to the subscription through iOS in-app purchases. (Despite there being a free tier, so even Apple’s stated excuse of “we don’t want apps that ‘don’t work when you download them’ on the store” doesn’t apply)
In this case, it was impossible for the app to comply with Apples draconian policy, as the app was third party, using the website’s open API; but of course there’s no 3rd party API for setting up a subscription in a way that Apple can take a 15%-30% cut. And even if it were a first-party app; the potential 15-30% on user subscription fees going to Apple, just to put a free app in their app store? It’s outrageous.
(Of course, exceptions exist for “reader apps” which just happens to include the biggest names who would otherwise raise a huge stink: if Apple tried claiming 15%-30% of Netflix subscriptions, or tried removing the Netflix app, we’d have seen this lawsuit years ago. But AFAICT, there’s no real demonstrable reason why this one class of apps are the exception to the rule)
So, yeah, sure, this is “Epic suing Apple because they want more money”, and yeah their tactics are cringeworthy. But I’m 100% behind Epic on this one. Apple’s handling of the App Store is awful, anti-consumer, and hopefully, illegal.
Do we have to pick a side? Don’t get me wrong, I would also like to see Apple’s policies get smashed in court, but the idea that I have to cheer for one of these grasping corporate goons is deeply repellent. Why couldn’t there be a nice class-action lawsuit on behalf of app developers that I could root for?
Probably because you need a lot of money, organisation and personal motivation to see it all the way through.
I figure it’s a win win. I care for neither company, they’ll waste a bunch of money slapping to each other round and if Epic win then it’ll make it easier for smaller developers to sue too.
(Of course they’ll probably settle out of court in a way that helps noone but themselves. And then Spotify or someone will sue and th cycle will begin again)
If a company is being brought to court for bad practices, I don’t see a reason to be picky about who brings it. The reality is that it’s often going to be the big companies keeping the other big companies honest, as they both have the most direct incentive to do so, and the means to do so.
If you don’t want to cheer for Epic, cheer for the legal system itself. Not to sound too much like I’m quoting dubbed anime or anything, but the point of these sort of supreme court battles shouldn’t be which corporations win or lose, but for fairness and justice in the markets. How much you like or dislike the corporations involved shouldn’t come into it (and in fact, would only introduce bias).
Not that the justice system is perfect, especially not where technology is concerned. But given past precedent, I’m moderately optimistic that this might have beneficial outcomes.
To contextualize a little more:
Apple is a behemoth. They have a market cap of 1.97 trillion USD. If you owned 1% of Apple, that’d be worth $19.7 billion. In 2019, Apple’s revenue was around $260 billion, of which $54 billion was generated from the app store (according to quick internet searches, I didn’t check earnings releases). Their balance sheet shows about $100 billion in cash and short-term investments.
Epic is also a large company. It’s private, but the estimated valuation is $17.3 billion according to Wikipedia. Revenue in 2019 was reported at $4.2 billion.
So, these are both big companies but Apple is considerably larger. I don’t think this is some sort of David & Goliath tale where Epic is the hero of the day, but I think the reality is that it takes a large player like Epic to attempt to challenge this sort of situation (barring unilateral action by some government entity) since smaller players are far too dependent on app store exposure to have any ability to complain, much less mount an offense.
I haven’t paid any attention to how Epic is going about this on the PR front and I get that Epic is basically the anti-Valve circa 2005 (in terms of accumulated sentiment), but I don’t think this is a pure cash-grab on the part of Epic. It’ll be interesting to see how this plays out.
Alternate outcome: these big companies form a cartel with each other, and all the customers, and smaller app-devs all still get screwed, forever.
Conveniently, preventing this sort of thing is the whole basis for anti-trust laws, so this would be monumentally illegal.
Doesn’t mean that they couldn’t get away with it for a long time before getting caught though. Not so long ago the US had a canned tuna cartel that lasted for years before one member trying to acquire another brought enough anti-trust scrutiny to the industry that the cartel was exposed.
Apple v. Pepper is the case to follow. This is a rather similar lawsuit to Epic’s, but by end-users instead of an app developer. The lawsuit started in 2011, and the Supreme Court recently ruled that the end-users have standing to sue, so this is going to take a while.
I thought releasing the video that’s a direct parody of the Apple 1984 ad was pretty funny, but the first thing I wondered was “how much of Fortnite’s target audience would even get the joke?”
I’m with you that trying to garner can support is distasteful. However deliberately getting themselves kicked off the store for the sake of a lawsuit doesn’t seem particularly evil in corporate terms. Its a more effective lawsuit if you’ve proved the other company will do the action you think is illegal.
There’s also no much harm to be had in damaging their relationship with Google / Apple. It’s a small portion of their revenue, and if Google / Apple take any retaliatory action then they _will_ be being anti-competitive and that will only be making a better case for Epic in the future.
I wouldn’t care about the timing of the lawsuit–or any of Epic’s other legal maneuvering, for that matter–if it weren’t so obviously part of the public relations campaign.
Fair enough! I agree with you on that
Have you actually bothered to take a good look at the situation? Epic didn’t just “make a petty ad”, they literally planned this. They’re not being reactionary, they created the video campaign, composed the lawsuit and then deliberately violated the rules of both appstores so they could get their game kicked out and use it as a cue to sue these companies. This is like your neighbor coming to your backyard and kicking your dog until he gets bitten and then complaining to the Police that your dog bit them so they take it away. This isn’t just petty, it’s downright evil.
And make no mistake, the only reason they’re doing this is so they can get into the app market themselves, as they’ve evidently been planning for a while if you look at their famous EGS roadmap. Crazy thing is that they’re not even right. Sure, their complaint about Apple monopolizing the store in their own platform might have some merit (even though, again, it’s their own platform so really it’s their saying), but their lawsuit is going against Google as well, and they not only control the vast majority of the market, they’re an open platform in which anyone can already participate.
But most definitely, the worst part is that they’re trying to pass this off as a “people vs the system” thing when it’s just “corporation vs corporation”, where the user has nothing to gain. They’re trying to recruit the users as if they’re the ones being affected while the only thing Epic wants is not to end the monopoly, but to be the ones in charge of it. They’ve proven this with the EGS many times, showing that for all their words, they don’t care about developers or users in the slightest. Their problem against Steam isn’t that someone has too much power. Their problem is that that someone isn’t them.
Oh, they planned a petty ad. Those bastards. Those absolute monsters, how could they?
To whom!? Who is wronged here? The dog in your metaphor represents Apple’s gaming tax, are you really going to bat for the moral necessity of a megacorporation’s revenue-sharing agreement? I can’t even tell what part of Epic’s actions you consider evil, please explain.
This is an extremely faulty analogy. Your example isn’t evil because it was premeditated, it was evil because the perpetrator trespassed and kicked an innocent dog. If I expected a local business to engage in illegal discrimination, then intentionally visited that business expecting them to illegally bar me and immediately publicized my discrimination suit, I imagine I wouldn’t be seen in this same light.
You’re free to disagree that this is an antitrust problem but pouncing on them for expecting to be banned basically reduces to “they’re so bad, they act like they’re good! That’s how bad they are!”
>Sweeney is basically trying to harvest his Fortnite fanbase into GamerGate 2.0: Child Army edition. That’s obviously pretty vile, and I feel sorry for the Apple and Google employees who are set to become targets for harassment…
Are you really trying to use this sad, clapped-out, and repeatedly debunked “harassment” narrative to defend… Apple and Google, two trillion-dollar megacorporations?
The link in my e-mail got messed up, it’s meant to be https:/tonsky.me/blog/disenchantment/, for those interested.
Electron is ‘ing EVIL. EVIL EVIL EVIL.
Let’s ignore the utterly ridiculous premise of “Run an entire web browser engine in order to run your application”.
Let’s also ignore the fact that it recompiles the entire application every time it starts. (The JS gets re-JITted each time, and is not cached)
And the fact that every window is a new process.
And the ridiculous size-on-disk – Discord is 327MB, yet Gimp is 288MB!
On top of all that, it utterly smashes the security model to pieces. Electron is a security hole big enough to parallel-park a bus.
– The whole thing is stored in user-space, and thus any user-application can rip the Electron binary to shreds and insert whatever the heck it wants.
So any hole in any app on the entire PC, lets a miscreant infect all Electron apps.
– It’s a browser. Thus any holes in the browser engine are also holes in Electron apps.
Most of them are also always-online.
The thing I don’t get about stuff like Electron is this: making a native UI isn’t the hard part of writing a functional application. Admittedly I only have experience of using Appkit/UIKit, but still, it’s no harder than doing the same stuff in HTML/CSS, and with the distinct advantage of not making the app feel horrible to interact with.
Why not write the back-end once in a portable language, and then hook into native code for the UI? Is it really so hard that terrible crapware is the better option?
Speaking as a C developer, pretty much yes. A search for ‘minimalist cross-platform C gui library’ will turn up pretty much nothing – I think that in general, we would love to have something as good as Appkit to work with. Or even something as janky but basically well thought-through as Java Swing, that would be amazing. I’d even take a modern take on the Amiga Intuition library, which was a one-man project from over thirty years ago and worked nicely in 512 Kb of RAM. My usual litany of complaints:
– anything that looks remotely native (Qt, wx, GTK perhaps) is not even remotely minimalist, and tends to come with an ‘everything and the kitchen sink’ mentality. Expect additional support programs to configure your build toolchain so that you can have any hope of integrating these behemoths. Be sure to use a supported toolchain in the way the GUI designers envisaged; sucks to be you, otherwise.
– they’re not C libraries, they’re C libraries, sometimes with a wrapper to make them even bigger and heavier. This means that they won’t have support for any standard library types (string, vector, …) which they all implement themselves, in slightly incompatible ways. This means that your entire codebase gets littered with conversions between std::string and (QString, WxString, GtkString), C-style manual reference counting, different preferred containers, and other shenanigans, repeated ad nauseum. This infiltrates a lot of your code, and makes them extremely hard to swap out or experiment with – choose one, and remain stuck with it.
– far too often, they #define a ridiculous number of macros, which you then have to clutter your code with as well.
– a previous complaint of Shamus’, but generally a problem with UI code, is that they aren’t ‘humble’ libraries. You don’t plug the library into your code. You plug your code into the library, tell it which callbacks you want to respond to, and then let it do its thing. Callback you want doesn’t exist? Tough. Want to integrate with another ‘non-humble’ library as well? Tough – that’s why they include everything and the kitchen sink.
There’s occasional, half-implemented projects where people have started writing libraries that fix these things, but which usually end up abandoned with very little documentation. Trying to look native seems to be a particular bugbear, and a lot of them produce a UI which looks like a WinAMP skin from the late 90s. In addition, graphical interfaces tend to involve a lot of text, and good hardware-accelerated text rendering is not the easiest problem to solve; that issue, and also the fact that it’s ‘sexy’, means that it’s probably as easy to take the rendering guts of a browser and re-purpose it a bit to be a ‘GUI library’ rather than starting from scratch.
Big yes on the “not humble” part. GUI frameworks all assume that your entire program will revolve around them, because they pack a lot of behind-the-scenes work (eg signal handling, compositing) that they don’t want the user to mess with.
This is especially a pain in the ass if you want to use a GUI framework in a game engine (short story: you can’t), because game engines revolve around controlling the update-and-render loop.
There are probably modern frameworks that are less heavy-handed (the only one I know is Druid), but they haven’t really established themselves yet.
I’ve written games that run in Java’s Swing GUI framework. The standard practice–which is by no means original to me–is to use Swing for the game’s main window and for capturing input events but to do everything else in the game’s main loop in another thread. There are a few potential concurrency issues to watch out for, but I think it works almost elegantly. Now, Swing is far from ideal for game-making–I’m sure that you could achieve better performance using something like jMonkey, libGDX, or, if you’re especially ambitious, LWJGL–but things aren’t as black and white as you’re painting them.
Did you actually end up using the framework’s GUI elements, or did you just use it as a render loop root?
I’ve seen a lot of tutorials about using this or that framework for a video game, but usually the game would be “inside the GUI” (or in some cases, made entirely with GUI widgets). I haven’t seen any cases where using a GUI framework (that isn’t purpose built for gamedev) to render a game’s UI elements is at all practical.
I didn’t use any of the framework’s GUI elements, though I could have if I had wanted to. The way game-making in Swing typically works is that you pick a container–in my case a JFrame, the main application window class, though it could just as easily be a lightweight container class like JPanel–and display your game by updating that container’s background image. In my games, the main loop renders game objects–including the UI objects, which I prefer to code myself–in an image and then renders that image in the main application window as the background. If you want to use Swing’s GUI components, it makes more sense to use JPanel.
Almost every time my post says C, it should say C plus plus, but it’s been eaten by the forum software – strange.
Thanks, this part really confused me.
Electron offers a lot of huge benefits. I’m not denying the drawbacks, either, but developers aren’t picking Electron because they’re stupid or malicious or incompetent or EVIL EVIL EVIL EVIL.
HTML/CSS is an incredibly solid platform for building a UI. It’s cross-platform, flexible, customizable. It’s not always simple, but it’s incredibly well-known and understood, and there are lots of advanced patterns built on top of it.
And a lot of Electron apps are “website-first”, like Discord and Slack. Being able to take your existing website and basically just package it as a standalone app is a huge difference in development effort compared to needing to use an entirely different set of technologies for the native version. Maybe someday WebAssembly will mature to the point that you can write a more “native-first” application and easily make a website version of it, but so far this is largely not true.
Also, Electron apps can be reasonably efficient. VS Code is built on Electron and has really solid performance. It helps that it’s competing with a number of bloated behemoths like IntelliJ and Eclipse, but it even has comparable (if not quite as good) performance as a native equivalent like SublimeText, while being much more flexible due to its use of HTML/CSS/JS.
Yes, there’s still undeniably a performance cost to choosing Electron over a native app… but choosing development productivity over raw performance is hardly a unique phenomenon to Electron. And, frankly, not an unreasonable one.
The realistic choice isn’t between Electron apps, and the carefully tuned native apps that critics of Electron imagine. Realistically, if not for Electron a lot of these apps just wouldn’t exist.
Here’s the thing: Visual Studio Code consumes 2 GiB of memory on startup (at least on Linux), and most of that overhead is due to Electron. This means that on my laptop with 8 GiB RAM, I can only run a maximum of 4 electron apps at the same time, before my system start swapping. That’s the real problem: developers somehow thinking that their app is the only app in the known universe. This is why I refuse to use Electron apps – because I own a general purpose computer, not a specialised Visual Studio Code machine, or a Slack machine, or a Discord machine.
Correct me if I’m wrong, but isn’t VS code a fancy text editor, not an IDE? As in, it doesn’t have a compiler? So a more sensible point of comparison for performance would be something like BBEdit, I think.
The website seems to be screwing up the link.
Hold on, what if we do it like this?
OK, that seems to have worked. I think it was because it didn’t have the double-slash at the front by HTTPS.
I’ve read this article twice already; I stopped part way through the third time, because everything in it is still painfully close to home. The tools, software, and games I use on a daily basis have gotten better, but not a lot. Steam takes 45 seconds before it’s done loading, then loading the app store, then loading the new-games window. IDEs are relatively non-laggy normally, but will occasionally have to grind to a halt to re-index everything. Libre Office takes about 3 seconds to load, but then inexplicably has the title-bar show a spinner when I mouse over it. The world is full of jank…
Software disenchatment. I thought it was a case of with more power, the devs slack off on optimisation. They either let their programs bloat, or leave that part until the end of the project when they’re tired and end up doing a half-arsed job.
That Microsoft Flight Simulator is interesting. I wonder if the generated version of my fair city, Fremantle, Western Australia, will make any more sense. I know what the map says, and I know what my feet say. They differ on several points, and I have more faith in my feet. If you want to put a few screengrabs up, I’d love to see them.
I wouldn’t say that slacker devs are to blame. Sure, there’s some slackers out there, but in a well-run organization (or even partly well-run), they will either start putting in effort, or will get fired. From what I’ve witnessed, a large part of slowness (or bugs for that matter), come from rushing, deadlines, and trying to build new software that was already sold as done and finished. I’m sure that part of it is also that devs who make software for other devs also face the same pressures, to rush, and to not fix bugs, rewrite slow parts, etc. All the IDEs from Jetbrains share the same underlying slowness. Visual Studio Code is faster, but only because it’s got a quarter of the features by default. A sizable portion of the Tonsky blog iterates the same kind of problems.
Yeah, that was part of my second point, leaving it until the end when they were both burned out and under pressure to ship. Which is why optimisation should start early in the process. No leaving things until the last minute. I should absolutely follow my own advice, but I won’t.
I would love a hardcover mass effect book.
Just imagine, its book club and this evening its at your house. People talk about their favorite books and everyone nods. Then its your turn, you walk to your massive bookcase, run your finger over the backs of books, and stop at mass effect retrospective, by shamus young. You take it back to your armchair and open it halfway. You start reading aloud “Sorry to butt in Shepard, but I’m really falling behind the rear admiral and it’s bumming me out. I need to ass you for help before I get canned. Butts.”. Sophie starts weeping, such beautiful prose. Now you have only one problem,. who will you lend it out to first?
A brilliant book, from a Hugo-nominated author.
The latest Fire Emblem games include a more “casual” difficulty level, with as fair a challenge as in normal, but without permadeath. This makes the game more approachable for someone who’s not ready to lose characters.
And trust me, you’ll develop more emotional bonds with these characters than with characters in many other games. You can make your friends and soldiers marry each other and have kids, which later will join the battlefield. And the relationships you help forge are not set in stone, which means you can have characters bond and marry entirely different people in other playthroughs. And one of those people who die? Might be your spouse. Or your son. Good luck not feeling like crap once you spend hours building a relationship, marrying, having a kid, raising him and then having him die while fighting an enemy army.
Also, yeah, I’m one of those who wants a physical printed version of the full Mass Effect Retrospective, Andromeda included. If possible, signed and dedicated “To a fellow Mass Effect lovehater”. Take notes, please.
Keep in mind I didn’t jump into the franchise until Awakening, but I’d say the attachment to the characters is really going to vary based on what people are looking for in stories. In Fates in particular, the characters were incredibly trope-reliant to appeal to fan-tastes, a sort of “Pick your Husbando/Waifu” style of approach that left most of its characters rather forgettable. Having played some of Sacred Stones, I can tell this wasn’t always the case.
I think the recent Three Houses is the best in a long time in actually getting you attached to these characters, in that their side-stories and interactions [i]include world-building[/i]. I think what makes Three Houses as good as it is, is the extent to which they developed the setting’s history and how each of these noble houses have their own backstories that intertwine.
Which, yeah, makes the idea of permadeath pretty harrowing there.
However, by Three Houses we now have the ability to set the game so units revive after that battle, so units revive within that very turn, and you now have the turnwheel so that you can rewind several turns to try and undo a bunch of turns that went south real fast.
Even with all those things included, it’s actually surprisingly “easy” for experienced Tactical RPG players. It is the only Fire Emblem game I finished where I didn’t lose a single unit in the final battle (of the Blue Lions campaign, though).
Which brings me to something else: I dunno if it was always the case, but not all characters “die”, even if you lose them. Some that are story-important are just injured to a point of retirement, though there are other units that simply up and quit or something. So it reduces some of its impact when you hit the end credits and, no, the character didn’t die, they just retired and stuck around a while.
This has always been the case (at least as far back as the games have had western releases) – some more plot relevant characters will just be “permanently injured”, mainly so that they don’t have to have rewrite large chunks of the games dialogue based on which of the plot relevant characters survived.
While this has been true to some extent in the western releases, the frequency has grown immensely in the more recent outings. Awakening especially kept every female character (and Fates, every male) because of its child system, whereas back in the older games you might have one or two advisor characters who are permanently injured, while everyone else is up for grabs.
Back in Path of Radiance (Ike’s game), there was even special dialogue for most of the deaths, really integrating them into the narrative.
I never realized that the reason a bunch of those characters stuck around was due to the child mechanics. It makes some sense, though it would require a scenario where you achieved the ability to have the child unit and then failed to recruit them before getting your character into a battle where they could die.
While child units were a neat idea for Awakening, I’m glad to see them gone in Three Houses. They felt so forced in Fates, and I’d rather that dramatic sense of loss when the character falls. Otherwise they seem like a lazy bum.
On consoles I think start-up times and load times are getting a little long in the tooth.
I don’t think that’s software rot because they’re massive games and often they have almost no loading when running through the game world, but it’s a pain.
I really hope the next generation delivers on the promise of obliterating both.
The load time on Metro: Exodus was so long I stopped playing it. I played the Metro games in 15 or 20 minute bits. Exodus ate half of that just loading.
It could also be that the current gen consoles are typically using 5400 rpm hdds (the slowest speed for spinning platter drives), which means the storage media they use is very likely the bottleneck for load times. It doesn’t help having a super-fast CPU and GPU, or lots of RAM if the system can’t get the data off the storage drive very quickly.
Regarding software speed, what really kills me is playing older games with much better hardware if there’s no improvement.
I can play Civ V on my gaming laptop and it runs amazingly well. As soon as I hit the Save button, I can also immediately exit because the time to save is fractions of a second.
Meanwhile, I’m also running a Neverwinter Nights server due to the Enhanced Edition which came out a couple of years ago and renewed interest. 18 years later, and anything with the toolset is STILL glacially slow. It took several minutes to open a 70 MB module back in 2002, and it still takes several minutes to open the same module in 2020. And this goes for anything in the toolset. Make a change to a monster, item, encounter, etc., and want to update it throughout the module? You’ll have enough time to go eat lunch out before it’s done. Want to check for any missing resources or compiled script errors? Same. There’s just something about how the program is designed that resists modern technology capabilities to improve performance. It makes me curious how they were able to work with it in the studio.
In many cases older games were designed in ways that hard-capped performance. This wasn’t intentional but they were developed for the upper limit of tech at the time and didn’t, or couldn’t, take advantage of faster processors with multiple cores and so on. Or they may have some really optimized aspects because other issues prevented it from actually running better so it wasn’t a concern at the time.
Of course, NW1 was kind of a dog’s breakfast technically anyhow.
Classic example is original Crysis. It was designed with idea that CPUs will become faster with time. Instead, CPU evolution went another way – instead of (primarily) increasing speed, developers added more and more cores
To be fair, Crysis still looks gorgeous to this very day
Plus yeah, performance could’ve play a second fiddle to, say, limited RAM capacities, especially with 32bit apps
Regarding SoulWorker, it’s a possibility that it isn’t bad writing as much as it is poor translation/localization. You can find a lot of good discussion about this over on Legends of Localization, where they dive deep into a lot of dialogue and find where certain lines are way better in Japanese than they are in English.
It looks like the developer of SoulWorker, Lion Games, is a South Korean developer, which means it’s not actually Japanese the characters are speaking. I’d have to go and play myself as my brother lived in South Korea a while and thus I’ve learned to identify the different sounds of the languages (not that I know enough words to actually be useful), but it means you either have a less common language for the games and anime industry, or you have a possibility that Korean developers are writing a game that gets translated to Japanese which then gets translated to English.
Regardless, weeb as I am, I’m now curious about this game because I like character-action and free-to-play is… well… free. To play.
Also, on the left-side of the “dev streaming” banner on the Steam page, I’m pretty sure that character is a knock-off of a Falcom style of protagonist.
Does it count as a retcon if it’s in the same game? Because Chrono Trigger is a time-travel story and my favorite “retcon” would be the quest where you prevent a main character’s death by going into stopped time and putting a life-size model of them in their place.
And least favorite retcon would be Chrono “this is not a story this is noise” Cross, where saving the world in Chrono Trigger actually just opened a portal to every failed timeline which then rushed forward, killed the Chrono Trigger characters, and created a plot with the quality you should probably expect from smashing four mutually exclusive plots together.
…those are probably spoilers, but Trigger is very old and Cross deserves it.
Heehee, I remember that quest. You had to win the life-sized doll from some weird-ass clown at the fair in a game booth.
It always made me wonder if at some point one of the other characters would look at Crono’s ashes and go: ‘Hey…do you see any bones in those ashes? ‘Cos those kind of look like the remains of packaging peanuts to me…’
(Also great, you could complete the game without doing it; guy would just stay dead.)
I avoided Chrono Cross because of its reputation, but yeah, that sounds pretty damn bad.
https://lparchive.org/Chrono-Trigger/Update%2021/ is a pretty great summary. To get the full effect, either read up until or CTRL+F “Why was that so low on illustrative screenshots of events?”
My reaction to that summary.
It’s kind of amazing, because one of the things I liked best about Chrono Trigger was how damn simple it was. The story managed to find a way to feature lots of varied, imaginative setpieces and activities, all while featuring a clear, relatable endgoal. And the sequel’s about…um…the antagonist from the first game being dead, but not really? And now fused with a side character from the original?
Kind of interesingly, it came out around the same era as (2 years later than) Final Fantasy 7, which is my personal ‘this is when the good ones stopped’ watermark. I played quite a few more SquareSoft (or -Enix) games after that, and I just – can’t – remember – what – the story – was – in them.
They start out well, but end up a confused mess of smug people (usually with long silver hair), characters speaking in irritating sentence fragments*, and plot twists pulled out of nowhere.
*Protagonist: “You’re not my…”
Villain: “Yes. Yes I am.”
Protagonist: “You can’t be!”
Villain: “Don’t you remember?”
Protagonist: *Puts their head in their hands* “No…but that – THAT means…”
Side character: “No!”
Villain: “Yes. Yes it does.”
*Protagonist falls to their knees. Villain leaves, laughing.*
Me: “MEANS WHAT!? WHO IS HE?! FINISH YOUR DAMN SENTENCES, YOU CRETINS! WHO IS THIS CLOWN!?”
Yes, Chrono Trigger was like the last bloat-free JRPG, or close to it. As evidenced by the next page of that same let’s play that summarizes the DS added content (all of which is apparently designed for people who think Chrono Trigger isn’t tedious enough)
How is the take-away from the Epic vs Apple/Google thing anything but ” YEAH! F*** Apple and F*** Google?”
I understand that Epic is also a big-ass corp but Apple and Google are just evil.
Disagree 1000% with Shamus on this one.
You seem to have missed the entire point of the disagreement.
There’s nothing wrong with Epic fighting the Apple stranglehold. The problem is with the tone of this ridiculous marking push, like we’re supposed to celebrate Epic looking out for themselves. See my comments on #FreeFortnite elsewhere in this thread.
Epic is trying to make more money. Fine, fine. But they’re pretending they’re doing something heroic to benefit the masses, which is not the case.
I agree that their motive is entirely selfish. However, lower prices WILL help the masses.
I suppose you could argue that they won’t actually pass those savings on to consumers when this is all over (and they certainly will not pass all of it) but I am fairly sure that the profit maximizing price for Epic will be lower than it is now if/when the Apple tax is removed.
Epic has the power to reduce prices right *now* if they so wished, on their own platform where Apple has literally no pricing power or authority. This has nothing whatsoever with Epic trying to nobly champion the cause of lower prices and EVERYTHING to do with them trying to cut Apple out of the loop. The only part of the customer they care about is the wallet, and only insofar as they can steal more money.
They will set the price at the point where they make the most money. That price point is likely to be lower if Apple does not take a cut. This is Economics 101.
I never accused Epic of being noble or anything of the sort. I’m sure they are greedy bastards. Prices will still go down if they win.
(Incidentally, I am agnostic on the question of whether or not what Apple is doing is actually illegal).
Epic *did* just reduce the prices on their own platform didn’t they?
I think it is irrefutable that if Apple’s 30% tax on virtually all iOS apps/payments gets reduced then this will be a win for both consumers and app developers. For sure Epic want to keep some of that 30% for themselves but that’s how business works, no business is going to sue Apple over this unless they have something to win.
Quoting the lawsuit:
Using their money to open up the platform instead of simply seeking fines – thus creating more competition which will almost certainly be better for the consumers – I’d say it’s heroic enough for a capitalistic corporation.
No, they’re running to try crying to get a judge ti make a bigger corporation give them stuff, because they decided that rules don’t apply to them. There’s an argument that Apple is engaging in monpolistic practices; I don’t agree with that interpretation. However, if so, it’s a matter of government policy and/or law and not something that should be at the mercy of Tim Sweeney throwing a fit.
Every lawsuit can be seen as someone throwing a hissy fit (Oh, so you got robbed by me? Big deal! Stop being a sissy). If Apple’s TOS is illegal, and if it takes Epic’s deep pocket of cash to bring them to justice, then good for Epic to take up the fight. Yes, they have a selfish motive, but in a capitalistic economy, that is the baseline (and a necessity). The fact that they have constructed the case such that a ruling in their favour will also be in favour of the consumers (at least, according to me) is pretty decent of them.
Markets are cynical, expecting utmost purity from an entity forged (and expected to survive) in an impure system is foolish at best, actively misleading at worst.
EDIT: I know Shamus has a no-politics rule, and it is impossible to talk about economy without involving politics. Thus, I will not be responding anymore in this comment section, for fear of angering the dice-rolling master.
That’s a fair thing to be worried about, but I think in this case the argument will be along a pro-epic/anti-epic axis, which I suspect is orthogonal to the Culture War (or maybe its not, hell if I know).
I don’t understand how the suit against Google could ever give the intended result.
I own a Huawei phone. I can install apps through the Google Play Store. I can install apps through the Huawei store. I can install apps through the itch.io storefront. I can install apps through the Windows store. I can download and install APKs from any page I want, as long as they don’t need root access – and even so, I could if I jailbroke my phone, which is perfectly legal here (not the USA), though it’ll lose me my warranty.
Apple really tries to completely control any installation on any of their hardware. Google, like Microsoft, would really like it if everyone used their storefront/installer/etc, but does not make it impossible or overly technical to do it otherwise – it’s “hidden” enough for basic users, and easily available for more advanced users. That most American providers lock their phones down and don’t always allow other installs, isn’t Google’s problem.
The suits against Google and Apple are separate, the one against Google is much clearer — Google forbids phone vendors from installing any other third-party app store (e.g. Epic Store) out-of-the-box if they want to ship with Google Play Store. It should be an open-and-shut anti-trust case.
The Epic vs Apple lawsuit is all the more interesting considering how the CEOs of Google, Apple, Amazon, and Facebook were recently grilled by the US Anti-Trust Judiciary Committee (or whatever it’s called; seriously, Americans have some very convoluted government systems).
Even though they managed to weasel out of a lot of questions, it was clear that the committee had done their homework, and they asked some very interesting questions. I haven’t had the stomach to sit through all 5 hours of the hearings, and from what I’ve seen, they mostly talk about old stuff.
Even though I haven’t looked much into Apple’s hearing, I think it’s definitely not a coincidence that Epic decided to launch their lawsuit now. They’ve seen the blood in the water, and are probably hoping for more.
Man the software disenchantment thing really reminded me of this rant by Casey Muratori
The part that really got me was the “remember back in the day when computers were fast…”
And, yea. I DO remember a time where clicking on ANY gui element in windows didnt take 5 seconds to load
and how snappy things used to be. At the same time I remembered how laughably terrible the actual specs for those computers are compared to what we have today.
We have strayed far.
A point on “software disillusionment” – while there’s no denying that software is often bloated and poorly-optimized; I think a lot of “software disillusionment” is actually “hardware disillusionment” at the root cause. This is basically the case made by James Micken’s humor piece The Slow Winter
It used to be that we were riding the wave of Moore’s Law, where hardware got drastically better at a startling pace. You’d write a program with no real mind to efficiency, and then 18 months later, computer power would double and your program suddenly seems hyper optimized.
But Moore’s Law is more or less dead. Yes, technically the letter of the law, where we see a doubling of transistors on chips, is still more-or-less alive, but the spirit of the law, where we see drastically better performance is dead. Modern processors are more powerful on paper, but mostly draw their power through parallelism which is very hard to leverage for most day-to-day computer usage in practice.
Computers today just aren’t an order of magnitude more powerful than they were a decade ago, and certainly not 32x more powerful that the common understanding of Moore’s Law would predict. So, “sit around drinking and wait for hardware to get better” is suddenly no longer the silver-bullet optimization that it once was.
“Yes, technically the letter of the law, where we see a doubling of transistors on chips, is still more-or-less alive”
Not even that. Used to be that transistor density doubled every 12 months. Then it was 18 months. Now? Intel’s 14nm process(which itself was delayed and originally had so bad yields that Broadwell on desktop was effectively canceled – there were some low-volume chips, but that’s all) originally debuted in 2014. It’s now 2020 and the best they’ve managed with their 10nm process yet has been small laptop CPUs(though they should be launching server CPUs on their 10nm process soon). Oh, and just recently they announced that their 7nm process is 12 months behind the schedule.
Granted, Intel is the worst example due to mismanagement and setting too ambitious goals. TSMC and Samsung are doing better(Global Foundries which was the other big player thanks to absorbing IBM’s foundry business dropped out of the game and no longer tries to compete with cutting edge nodes), but even there you can see the advancement slowing down(for instance, TSMC’s 7nm node launched in 2018, and their 5nm node launched almost exactly 2 years later), and Intel used to be ahead of everyone else.
Re: Fallout party members and dying; I’ve read that the developers of Fallout 1 didn’t expect players to become as attached to their party members as they did. This would certainly explain why keeping Dogmeat alive to the end is basically impossible (actually I’d say by the time you can get Power Armor, pretty much all followers are a net liability)
It also explains why one of the biggest mechanical changes in Fallout 2 was the party system; there is a max party limit unlike the first game, but that’s because there are more potential allies than there were in 1. You can change their gear including giving them armor. You can even give them instructions in battle like “No, Marcus and Sulik, don’t use full auto mode on your weapons, we don’t need a repeat of the Ian incident.”
Re: Hitman – I agree that it’s for the best that the game mostly just ignores the events of Absolution, but there is the scattered callback. For instance, in Hokkaido, the complaining patient with the cowboy hat and the terrible southern accent? His name is Amos Dexter. This never gets any further elaboration, despite cutscenes and ambient dialogue in the most recent two Hitman games constantly calling back to earlier missions.
Similarly, Fire Emblem’s permadeath isn’t actually rooted in a huge choice. In the first games it seems pretty clear you were expected to just let people die, you get tons of recruits and there was barely any story for most of them. But whether the character stories were expanded due to player attachment, or players grew more attached as the games added more story, the permadeath mechanic just kinda stayed in. Until they realized they could just let people turn it off, probably as part of the decision to go even fuller tilt on the character investment.
Visual Studio Installer is a bit of a weird beast, for sure. It acts less like a traditional installer and more like a download manager that handles all the different editions of Visual Studio (from Community to Enterprise) and their updates.
Visual Studio itself is also not a single installation: depending on the options you pick, it can install dozens of dependencies that all have their own entries in the Apps list in Settings. Visual Studio Installer is the one place where you can centrally manage those dependencies, and also makes sure that they all get uninstalled if you want to remove VS later. All the various items inside VS that trigger an external install are also managed by the Installer.
But yeah, that does lead to the weird situation where you need to install an installer. But despite Visual Studio Installer being such a beast, it’s still a huge improvement over the Visual Studio installations of old. I think it was around the time of VS2012 or VS2013 where installing the thing from DVDs could easily take two hours. It was pretty awful.
Visual Studio Community is also still pretty heavy-weight. If you want a powerful yet relatively light-weight development tool with a huge ecosystem of plugins, Visual Studio Code (which has no relation to full Visual Studio despite the name) is a much better option. It’s kind of saying something that VSCode is so much snappier than full VS, despite VSCode being an Electron app…
Of course C++ is a mess. It’s three programming languages in a 5XL trench coat.
Unrelated to the specific topic, but I really wish YongYea would learn what words like “brevity” and phrases like “to the point” mean. I didn’t watch that video you linked, cos I already know about the topic from Jim Sterling, but also because I know from experience that about 20 of the 22 minutes of that video, will be unnecessary fluff, YongYea reading stuff off the screen quite slowly, etc etc. And also that very very little of it will be YongYea doing any actual analysis of the subject, as opposed to just basic reporting.
I think that’s just playing the YouTube game, especially given he has ads.
Yeah. I wish I liked YongYea. I have the exact same opinion on his videos. Though I find Sterling to be almost as bad in a different way. Sterling likes to repeat things. He uses the same concept with different words. He is too often redundant to the point of absurdity for comedic effect. YongYea repeats himself too. Did I mention the repetitive nature of Sterling?
Wow, that really is infuriating. They stole the title of my autobiography and they didn’t even have the decency to ask.
No point finishing that autobiography, now is the time for you to rest.
Best retcon in gaming: Silent Hill 2. The first SH game (and the third, for that matter) revolve around the town’s local cult of demon worshippers, which is fine as far premises are concerned, I suppose. But SH2 introduced the concept of the town being a genius loci that offers a painful path to redemption for a select few souls that have committed evil acts, but may have been justified, and so they still have the potential for goodness within them.
This whole “the town will flog you, so that your soul may be cleansed of sin” thing is completely absent from the original game, and the series is much better for it’s addition. Silent Hill has many great things going for it, but the thematic focus on externalizing inner demons and suffering through catharsis is its most compelling, thought provoking aspect, in my opinion, the real reason why it’s as popular, resonant, and beloved as it has been.
Funny, I think there’s a retcon for the slightly worse in SH3. Or maybe it’s more appropriate to call it a stylistic change? Anyway, SH1 and 2 are very vague about what is or isn’t real.
In SH1, Harry is killed shortly after leaving his crashed car, only to wake up in another place entirely. At some point in the game, he asks himself whether he really still is inside his car. The good endings show him escaping the town with baby Heather in tow, the bad endings cut to him dying, still inside his car.
SH2 has monsters only James can see. All the other characters see the world differently, too. Mary dies multiple times only to reappear. One ending shows her leaving the town with him, another has her transform into a monster.
SH3 puts its foot down and says the creepy cult is real, the creepy cult magic is real and there is a parallel world made of blood, rust and machine noises. Not that making a true sequel to SH1 leaves you with many options about that, but I wouldn’t have minded if the Silent Hill games were all independent stories.
Horizon Zero Dawn is working fine for the wife and I.
Also it’s a good solid RPG, somewhere between Farcry and Skyrim, but without the insipid plot and characters of Farcry or the general Jankiness of a Bethesda game. Imagine if Skyrim had the polish and technical quality that Farcry games get and you’d be pretty close.
Having a good time, best thing since Witcher 3.
Not better than Witcher 3… it has a Skyrim level of maturity, not a Witcher level.
On a related topic, Cyberpunk… my brain has difficulty with the entire notion of a SciFi RPG with the breadth, polish and maturity of Witcher 3.
Wait… There are people who would actually disagree that C “is a hot mess, an absolute disaster of a language that has been run aground”? I remember that in my CS 101 class I loved it, but looking back I’m pretty sure that was because I was just so happy to finally be programming in a real programming language where I could define my own functions. But C is the only popularly-implemented language I’ve used that becomes harder and harder to use the more you learn about it.
All other programming languages have problems and limitations compared to C (except LISP dialects, but you know what I mean), but C has so many structural issues that can’t be fixed (because fixing them would break peoples’ operating systems) that I can’t stand to use it.
Hang on, did they talk about C or C++ in the show? I’d argue that unincremented C is too simple and primitive to qualify as a mess. It’s relatively easy to learn just because there’s so little of it. You’re right about it getting harder to use. C gets scarier the more you know about it. Easy to learn, hard to use safely. What a great combination!
I have seen people defend it on the grounds that “you totally can use it safely if you’re not stupid” etc. And there certainly are low-level and high-performance code where using C makes a lot of sense.
I don’t think I’ve ever seen anyone argue that C++ isn’t a mess.
I might have misspoke, but I was talking about C++;
I ended that sentence with a semicolon.
It’s entirely possible I’ve been coding all day and I’m getting a bit wonky.
Second reference to the mystery coding project :O
Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun. Your email address will not be published. Required fields are marked*
You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>
You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?
You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.
You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!
You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>