Diecast #243: JAI, Warframe, Trailmakers

By Shamus Posted Monday Feb 11, 2019

Filed under: Diecast 90 comments

Hosts: Paul, Shamus. Episode edited by Issac.

Show notes:

00:00 Welcome Back!

We only missed one week, but I’m coming out of an illness and I feel like I was gone for a month.

02:06 Trailmakers

Link (YouTube)

06:46 JAI

Four years ago Jon Blow said we needed a new programming language for games. I commented on his video at the time. Since then he’s apparently made a lot of progress. I’m currently watching this talk he gave in July 2018, where he says that everyone has been wrong about programming languages for decades. My first reaction to hearing this was, “Okay buddy, you’d better have something really good to back that up.” So far he’s made some really good points (I’m about 1/3 of the way through) and I’m really enjoying seeing him build this difficult thesis.

18:04 Warframe

Alas, I love this game, and it is terrible. In the show I said I hate the art style. But actually, the art style is fantastic:

Link (YouTube)

I wish the whole game had the particular style we see in that trailer. But sadly, the titular warframes themselves are just so cluttered and busy:

You can't see it in this image, but a lot of the frames look like they're made of lumpy plastic bones.
You can't see it in this image, but a lot of the frames look like they're made of lumpy plastic bones.

32:23 Risk of Rain

35:49 Downward Thrust and Bribery

Link (YouTube)

48:47 Mailbag: Fan feedback vs. entitlement

Hello members of the council of the Diecast,

In December of last year. The devs of Spider-Man PS4 got into a conversation on Twitter regarding the inclusion of the Raimi suit in the then upcoming DLC. The ensuing conversation was a back and forth between Spider-Man fans who expressed hope and concern about the Raimi suit’s inclusion, and Insomniac supporters who pushed back against what was starting to sound like bitter fan entitlement.

I got into a conversation with a friend about this last week and my perspective is that video games are just like any other product. A company/people/developer etc. is offering you a service, you buy that service and so, it is basic capitalism. Whoever is selling needs to know the wishes of the public and tune their product accordingly. After all, you don’t want your product to be something nobody wants or sells poorly.

Obviously, there are many exceptions to this sort of thinking. Think F2P games or Games which don’t recieve DLC or other content (this is rare nowadays). And there is a difference between ‘asking’ for changes or additions to a game, and demanding them, obviously.

My question is:

How large do you think the role of the consumer should be when it comes to offering feedback or suggesting additions/changes to a video game that they bought before it becomes unreasonable (eg demanding Nintendo put guns and gore in Zelda games).

Sincerely and apologies for the long question,


58:22 Mailbag: Things you loved in spite of your tastes.

Dearrrrr Diecast,

reading the Denouément 2018 good stuff post, I was happy to see that Shamus mentioned a game that would normally be out of his comfort zone that he tried and loved (Gris). Personally I had a similar experience in 2018 where a game (Slay the Spire) got its hooks in me completely, despite not appealing to me from the outside (I don’t like card/deck games and additionally the art of everything but the cards took me a long time to warm to). What are some of your other examples of games (or other media) that you fell in love with only after ignoring all personal warning signs.

Bonus question, are you guys familiar with Slay the Spire and have you any thoughts on it. If not I wholeheartedly recommend it. It just left early access this week and its one of those few and far between early access success stories (another personal favorite of mine, Dead Cells is a similar story).


Frank Fleurbaaij
(a.k.a. infrequent commenter Baron Tanks)


From The Archives:

90 thoughts on “Diecast #243: JAI, Warframe, Trailmakers

  1. Lino says:

    Oh no! Paul’s unemployed? Good luck with job hunting – I hope you find something you’re happy with!
    14:20 – OK, this is weird. I know that a lot of the programming jobs in the US have been outsourced (I actually live in a country that’s an outsourcing destination), but the majority of US workers work in Services (with Professional and business services being very high on the list) – if it’s in not high-value services like programming, what jobs do you guys actually do? Is it really that common for programmers and engineers to have a hard time finding a job?

    1. Paul Spooner says:

      Thanks. Don’t know how to speak to USA employment without going into politics. Yeah, it’s a madhouse.

    2. krellen says:

      To answer the final question: Yes, it is, because the supply of such people is larger than the demand.

      To answer the second question: “Professional and business services” includes maid service, janitorial staff, and secretaries, which are, in themselves, half of that sector.

      (Source: Professional and business services breakdown.
      Administrative and Support and Waste Management and Remediation Services numbers)

    3. Bloodsquirrel says:

      Engineering, at least, is still in high demand. From what I can tell with programming jobs, there’s still a lot of need for them locally, since outsourcing has a lot of problems. I got a few people I know who have programming jobs, and they haven’t had any trouble staying employed.

      The job market’s on the upswing, overall.

    4. Rosseloh says:

      engineers to have a hard time finding a job

      It’s also worth considering that the US is huge. Absolutely massive. You might think it’s a long way down the road to the chemists’……well you get the picture.

      I’m technically a network engineer. Putting aside the fact that I haven’t really done “network engineer stuff” for the last several years, which has its own effects on my resume, I am finding it nearly impossible to find a job in that actual field. Why? Because I really, really don’t want to move. My family is here, it’s a cheap town to live in, and it is quite nice overall.

      The nearest actual network engineering jobs are a hundred plus miles away. One way. And those jobs are in high demand anyway – sure, maybe I get an interview, but someone else gets the job.

      I could probably find something reasonably quickly if I was OK moving, but I really, *really* don’t want to. (Or perhaps a better way of putting it is, I’m actually 100% fine with moving overall, it’s the actual act of having to move that I don’t like. Combined with higher costs of living in a city, and the fact that I can’t afford the move in the first place. Sort of a catch-22: need a job to justify moving, can’t get job until I’ve moved…)

  2. Joe says:

    Sorry to hear about your unemployment, Paul. But from someone who’s had a lot of employment woes, you need to get back on the horse. Sitting in the dirt is no fun. Plenty of free time, yeah. Too much, in fact. Both the mental health and cash flow take a dive, and you really don’t want to deal with those.

    As for bribery/blackmail, a lot of YT channels say stuff about their honest opinions. But we have no real way of knowing if they’re honest about their honesty. It’s nice to trust blindly, but these days cynicism seems to be the go.

    I’m not familiar with the Zelda series, but I gather it’s kind of medieval fantasy. If I was going to lobby for guns, I would point out that guns did actually exist in the late medieval. So did gore, for that matter. OTOH, I tried a mod that put guns in Skyrim. Just didn’t feel right.

    But as for lobbying for some change, I can’t think of much I would like changed about games I like. Maybe ‘don’t make that sequel a freemium MMO,’ but I can’t imagine anyone will listen to me. By the time people hear about these decisions, they’re already set in stone.

    From what little I’ve seen of Warframe, I just don’t like the rhino face. Looks ugly to me.

    1. Paul Spooner says:

      Thanks. Yes, I’m actively looking for work, but that can take months and I don’t want to waste the interstitial time.

    2. Zak McKracken says:

      The bribery problem goes even deeper.
      Someone who’s just been to a nice party and been treated nicely is bound to overlook weaknesses rather than strengths of a game, even without consciously noticing. But if the publisher then also gets to prohibit reviews they don’t like, even if every person whose review they try to “improve” refuses to do so, this means you’ll still get a strongly biased picture form the remaining reviews, which are from the people who coincidentally really liked the game (either because they were in a good mood that day, or because it just really happens to be their jam), and can completely honestly say that the review reflects their actual opinion.
      This is called survivorship bias. There’s a range of opinions, and the publisher can make sure that only the positive ones make it to the public. Unless a game is so bad that out of hundreds of reviewers nobody will voluntarily voice a friendly opinion, this will always guarantee a positive reception.

      In medical research, this is a well-known problem: Studies which don’t show that a medication to be effective often don’t get published, so medical companies can just try again until it works … although these days there’re several initiatives/laws in place/underway to change that.
      Luckily video games are not medical treatments, but I’d like a professional ethos/rule/thingie where the publisher agrees to let the reviewer write whatever they want to write, and where the pre-release party stuff has to be declared.

      That said: I’d always be careful with reviews written after playing a game in a controlled environment because you can prevent the reviewer from encountering some known bugs or weak spots. Better to know a reviewer or two who share my interests (or where I have an idea which parts of their interests I share and which ones not), and wait for them to cover something a bit more in-depth…

  3. DeadlyDark says:

    While I enjoyed JA’s video on F76 and his take of “sometimes it’s so bad it’s good”, I liked Rags 2,5 hours review video, where he showed every little terrible detail in the game. Quite entertaining.

    Must add, I like this new trend on multi-hour videos on youtube about subjects. I dug up 5 hour video on TES Oblivion and and couldn’t be more happy with it

  4. Redrock says:

    Can’t you get Platinum from trading with other players in Warframe? I never actually bothered, as I play Warframe so rarely, but from reading the forums I got the impression that there’s a pretty robust player-run economy, with dedicated market websites, etc.

    1. Shamus says:

      You can, but there’s no auction house. You have to travel to the trading hub and park your character in the room, waiting for others to come along and examine you to see what you have for sale.

      As far as I’m concerned, the system is too terrible to use.

      1. Hector says:

        I dont recommend using the trade hub unless ypu have specufic, high-demand items. Use the trade channel instead. People watch filtered feeds for what they want. Another, even better option, is the Warframe Market. It’s a third-party site that works very well.

        1. Redrock says:

          Yeah, Warframe market is what I meant in my post.

      2. King Marth says:

        The trade experience is a consistent player complaint, though there’s always the argument that an auction house would depreciate prices away to nothing. At least trade chat has filters now! You only go to the trade hub when actually making the trade.

        I’ve found Warframe to be one of the ideal F2P monetizations, dropping the usual $60 on the game over time (especially with discount coupons) is more than enough to have slots to collect everything. It must be that I never got the hate for wait times (aside from maybe the 3-day warframe craft time after the 12-hour parts); even when I was playing for multiple hours a day instead of an hour here or there, there’s lots to do and it’s giving you a reason to come back tomorrow. It’d be nice to use things the moment you find the last piece, but if temporary one-time delays help justify indefinite expansion packs, I’m perfectly fine with settling in for the long haul. Crafting is the intended progression for everything and finding the blueprints is a majority of the content; whenever something comes out which locks its blueprint behind content people dislike, there’s the accusation that players are being forced to buy it instead, as buying items outright is the last resort.

        I’m surprised that you managed to get addicted on Forma (the level-reset NG+ item) so early given how they really aren’t necessary for a long, long time. Ranking up mods follows an exponential scale of cost with linear payout, so it’s easy to get significant boosts, and then there’s a long tail for getting the last few percentage points out to push against higher and higher enemy levels. As for ridiculously high health numbers, that’s probably Inaros or Nidus, frames with the gimmick of having zero regenerating shields and exclusively huge piles of non-regenerating health, which is boosted even further by how the HP-boosting mod does percentage increases rather than static increases. (Due to how damage reduction works and how they both have built-in healing powers, Inaros is a top-tier tank.)

        One thing you may have missed if focused on Forma: Orokin Catalysts/Reactors (potatoes, in the vernacular) are one-time use per weapon/frame and permanently double mod capacity (both max and generation rate; you usually have 1 capacity per level capping at 30, supercharging makes that 2/level and 60); they cannot be farmed, but there’s a guaranteed 24-hour alert for them once every couple weeks to coincide with the devstream. If you don’t have many, then there’s a decision to be made when leveling a new weapon, whether you enjoy it enough to put one of your limited resources into it (speaking of which: who exactly drops $50 on character-specific cosmetics before playing them to see if you like them?). Or you can see it as yet another tax, as these can be bought with money.

        That all said, I can see some of the tinges of Stockholm Syndrome in myself now. I’m still not convinced that the wait times are nearly as bad as people make it out to be (something something kids these days can’t handle delayed gratification), but I can agree that it would be a better game without them. I’d just be so self-conscious about paying any degree of monthly subscription for such a game that I’d never have gotten the enjoyment I did get out of Warframe.

        1. Hector says:

          Yes – use Catalysts first. They’re rarer but not that rare if you keep an eye out for alerts that hand them for free.

          The wait times initially annoyed me, but I grew to respect them. It adds a touch of realism and meant I was often anticipating a new reward. My only critique was that the team should design the waits to be several hours early. I often ended a session by startinga new item, which means that any whole 24-hour times handed me the goody at the same hour, usually too late to play more.

        2. Shamus says:

          I started doing forma leveling because it was the only way I could see to build power. Twice in a row I ran into junction guardians that were RIDICULOUSLY strong. Like, they could murder me in a couple of shots and I had to burn through my ammo pool with both weapons scoring tons of headshots to even have a prayer at killing them. Even then, I had to cheese them by hiding behind a pillar and exploting an angle where I could hit the AI and it would have trouble hitting back.

          So I figured I was less powerful than the game intended. I’d already maxed out my warframe and weapon. Okay then. So how do I get more power? Starting over with a new warframe won’t help. Same goes for leveling a new weapon.

          So I figured that forma leveling was something I was supposed to be doing.

          Even so, the level ratings for this game are all over the place and I can’t tell if there are mechanics I don’t know about or if the whole thing is just ridiculously unbalanced.

          1. Rob says:

            Mods are where most of your power comes from. There are some mods that make the game so much easier once you unlock them that it’s kind of ridiculous (see the various ‘Link X’ pet mods, which transform Kubrows/Kavats from useless papier mache into viable members of your party). Most of the really good mods don’t drop in the early game, but you’ll start to collect them soon enough.

            You especially want to keep a lookout for aura mods (for your Warframe) and stance mods (for your melee weapon), as rather than cost mod capacity, these add their value to your capacity. A maxed aura mod in a polarized aura slot can give more mod capacity than 2 forma would, and unlike forma you can swap them between frames/weapons freely.

            Auras also grant unique bonuses such as regeneration (good for early/solo game, but falls off later once you start teaming with healers and carrying dozens of healing items) or reducing enemy armor (not so great early game, but absolutely critical at end-game since it effectively does millions of damage to enemies before you’ve even seen them), and it applies these bonuses to everyone in the party. And they stack. Yeah, auras are pretty cool.

            Even so, the level ratings for this game are all over the place and I can’t tell if there are mechanics I don’t know about or if the whole thing is just ridiculously unbalanced.

            The mission level ratings are awful and tie into nothing else (every other level system goes from 1-30, missions go from 1-150). Basically a mission’s level affects how much the enemy’s stats scale upwards, and certain enemies won’t spawn in low level areas. A new player will waltz through the game with no fear of death up to level 20 missions, and probably start having trouble around level 40+ missions until they level some good mods (you may run into difficulty earlier than that if you’ve recently reset your weapon or frame). Endgame missions are anywhere from level 80-150, with enemies that can have effective HP values (taking armor into account) in the millions to even tens of millions,

            Your Mastery Rank also bears explanation. This stat is raised by ranking a new piece of equipment for the first time. It not only unlocks more game features (such as trading and equipment slots), but most importantly when you reset a frame or weapon your starting mod capacity will be your Mastery Rank. So if your Mastery Rank is 8, your equipment effectively.starts at level 8 after applying a forma, with the caveat that you still have to grind the usual experience from 1-8 in order to level to 9. It’s a feature that helps alleviate some of the power loss associated with grinding new equipment, though it’s mostly useful for older players who’ve achieved high rank.

          2. Steve C says:

            The junction guardians should be one shot kills with a maxed warframe and weapon. My best guess is that you are doing something wrong. How about posting some screenshots of your warframe mod screen, and your weapon mod screen? Might be able to track down what the issue is.

            1. Hector says:

              This. You shouldn’t need great mods to beat the relay fights, let alone Forma. Some Frames can beat them with no mods and no weapons.

              1. Shamus says:

                The relay fights are all over the place. The first few were complete pushovers. They didn’t even feel like bosses. I sneezed and they died. Then I ran into a later one as I describe above. It’s entirely possible I’d strayed into content that I wasn’t supposed to be doing yet, although the locations leading up to the relay didn’t seem to be anything special.

                So I dunno.

                1. Hector says:


                  Quick question – I know this may sound stupid, but are you levelling the mods?

                  If you want to post your build foe even one favorite weapon, I promise we won’t bite. The game does allow a lot of build flexibilty with certain limits. Although the people who go for extreme builds tend to assume that’s the only option.

                2. DrBones says:

                  If you’re stuck at the Relay bosses, I think I know the one you’re probably stuck on. It’s the junction for Jupiter, isn’t it? The Valkyr there is tremendously difficult. The best bet for you is to pick a Frame with a skill that effectively makes it invulnerable — Rhino and Volt are the obvious picks– and then use a high-power single-shot weapon, like the Hek shotgun or Lex pistol. Using Volt’s Electric Shield, you can literally stand right in front of her and shoot until you win.

                  1. Ciennas says:

                    Alternately, pick Mag, and when Valkyr inevitably goes into super berserker mode, play Friday the 13th IN SPACE! for a minute until her energy runs out. The AI never stops trying to kill you with whatever is to hand, and Mag both removes armor and can make all bullets fired hit one target.

                    Even still, that fight is hairy for me.

                    Tragically, until the team gets the revamped early game live, it’s after Jupiter where the Story Story starts to really get good.

                3. Steve C says:

                  ‘Content that a player shouldn’t be doing yet’ isn’t really a thing in Warframe. Soon as you have one maxed half decent weapon and warframe, you can pretty much do everything. You will likely be nowhere close to optimal, but still able to give yourself a fighting chance.

                  For example, maxing out a weapon should not take 2 hours of play. 20 mins is more like it, and about 5-10mins if you are grinding it out using optimal methods.

                  Also about the micro-transactions… I get what you say about rushing the timer rubbing you the wrong way. The trick with that is to do various things in parallel. For example, want a new weapon? Work at building a couple all at the same time. All you need is a small cushion of new gear waiting to be picked up. Then the timer doesn’t matter.

                  As for the cost– I’ve got everything in Warframe except for the stuff in the past 6months. (I don’t play much anymore.) I’ve never spent a single dollar. I haven’t gone farming/grinding for platinum either. All the platinum I’ve acquired has simply been from selling spare stuff I had duplicates of. Even the worst prime components (aka prime junk) can be sold for 2-3p each. Which means a 25min survival will always get you at minimum 10-15p to sell to other players. I will personally guarantee to buy as much of that as you want to sell. (Not playing much means I need a source of ducats.) Also as others have already commented, trades in warframe are done through the trade chat system. The guys standing around in relays are because they don’t have clan dojos or are focused on trading rather than playing.

          3. Ayrshark says:

            Advice other than what others have mentioned, I suggest looking into if a weapon is naturaly crit (at least 20% natural crit chance) or status (at least 15%, preferably 20%+) and modding based on that. Crit weapons tend to do tons of damage if you can boost the crit chance high enough and add enough damage mods while status weapons can murder even faster due to certain elemental combinations like viral (reduces enemy health by a percentage I can’t remember). Also keep in mind that the base damage types have their own status procs with slash being overpowered as hell since it ignores shields and I think armor. Another way to deal with enemies is just shove on radiation to your weapons as most of the enemies that are a pain in the ass are somewhat weak to it. As for advice on modding warframes, high health and armor are the way to go with shields being almost entirely useless. Other than that it’s generally a good idea to build around one or two abilities on a warframe instead of trying for all four. If you ever need advice on how to build with what you have then ask for advice in chat. The Warframe community is mostly great at actually helping people.

        3. Sleeping Dragon says:

          Uhhh, I’m one of those people who really, really like playing MMOs for a long haul, when someone tells me “you can farm it but it’s gonna take you two years” I’m like “I might not be actually playing the game in two years but if I didn’t feel like I was going to now I wouldn’t be playing it at all” and you’re reaaaaally selling me on Warframe here, but I started Destiny 2 last year and I really don’t have time to invest into another game on this scale.

      3. boz says:

        Dear Shamus,

        I know this will look like a spam bot post but it’s not. Here are some third party resources for warframe you might need. Because yes you are right the systems are more or less awful. They are working on it but progress is slow.

        https://www.framemastery.com/beginners-guide/ (self explanatory)

        https://warframe.market/ for trading It’s more or less the auction house you are looking for.

        https://tenno.tools/ This site is your basic tracker which uses a warframe API to collect the various active alerts

        http://framedex.net You can use this site to check what you have and what you are missing (tiny bit spoilery for stuff you have not got yet)

        https://semlar.com/ This have some other useful information like where to fish or how to build your stuff. (again a bit spoilery for stuff he covers are barred behind story progress you might wait this one a bit)

      4. Calmre says:

        That’s not accurate as it’s not the main way people trade.
        You use trade chat and trade via dojo invites, very very very very few try to sell via the newbie trade relay.
        You can choose to use warframe.market to find some trades (good for popular stuff where you get a lot of listings, and for those you get good prices, not for more obscure and/or rare items).

        Also you’re not really supposed to buy anything in the game. You buy blueprints and craft them. If you cant find the BP’s on the market then they are part of Dojo research which means you’re supposed to either make a clan to research your self, or you join one if you’re not interested in research grinding. If items arent available in either market or dojo it means the item is behind a specific mode or quest or even event.

        Use the market only for cosmetics, slots and forma/catalysts/reactors. The vast majority can only be acquired via platinum on the market. Forma BP’s are easily acquired via relic runs.

    2. PeteTimesSix says:

      One thing Ive not yet seen mentioned in the comments and which the game (somewhat maliciously) neglects to tell you in that 50/75 percent off your next platinum purchase coupons are a relatively common login reward (I usually get one a month or so). Ive bought the 2100 platinum option three times so far (thorough the last year), which I think comes out just about around the sixty-bucks mark total? And it was more than enough to cover the hundreds of forma I bought because I wasnt patient enough to craft it at the glacial pace of 1/day, and the 50+ catalysts (you can just about keep up on reactors if you keep to only your favorite frames, but theres no such thing as enough orokin catalysts).

      Another thing to note is that you can have the foundry building more than one thing at a time, and you dont have to pick it out immediately once its done. When I was in the middle of my MR climbing binge Id routinely have a dozen weapons or so waiting for pickup-and-leveling. And as far as resource cost issues go, they just kind of go away a few days after the time you first get Nekros (especially if you burn the 400 plat for the month-long resouce doubler and drop chance booster).

      Weapon/warframe slots are the real platinum sink if you ask me. Sure, I could just sell weapons Im not using… but my precious collection!

  5. galacticplumber says:

    Okay, Risk of Rain conversation time. The method of level randomization is that for ever level you go to there can be two themes, these themes have differing aesthetic such that a new player can tell the difference immediately. Also each theme has two different layouts made up of mostly minor differences.

    The second to last level has the same theme every single time, and the last level has both the same theme AND LAYOUT. Even then item and enemy randomization provides differing experiences.

    On to unlocks: The starting character is actually decent chap especially for non-multiplayer. Various characters have abilities much more suited to work together like the alien guy that spreads huge areas of enemy slowing and damage, or the enforcer who’s biggest weakness is enemies getting behind him. The first character isn’t the BEST for solo play, but he’s hardly the worst.

    Those would be hand-E the robot, and the sniper.

    Now, item unlocks. Yes most of the unlockable items are better, on average, than a lot of starting items. This doesn’t mean there aren’t powerful starting items, but there IS some progression.

    Most of getting good involves knowing what items are better, what synergizes with your character, how to best run through level layouts fastest, and yes unlocking good items.

    The three difficulty modes determine how quickly enemies scale and the length of time enemies will spawn once you’ve activated a teleporter or door on the final level. As difficulty increases the meta increasingly involving booking it in a mad dash for the teleporter, deciding whether to move around less for more condensed enemy spawns and a faster fight, or moving to spread fights thinner, easier, SLOWER. As should be obvious this decision favors the first more the earlier in the game you are.

    After you’ve gotten comfortable, unlocked most everything, and can beat monsoon, you can find relics. Togglable options that alter the games rules. Most of these relics are either actively harmful, debatably harmful or beneficial, or beneficial with a drawback you need system knowledge or immense skill to mitigate. ONE of them is purely positive.

    Okay base tutorial done. Have fun or ask more questions as it suits you.

  6. Ninety-Three says:

    Man, the most disappointing thing about that Downward Thrust video is that he doesn’t name names. Like, it’s good that more people hear about the soft corruption of preview distribution, but that is already public information. Nothing’s going to change until someone has the guts to actually take the career hit of name-and-shaming.

    The second most disappointing thing is the utter clickbait garbage of opening on bribery and a literal image of passing money, only for it to be preview copy bullshit instead of literal bribery. But that kind of bullshit is how you stay alive in the Youtube world, just like not pissing off publishers is how you stay alive in the reviewer world, so it’s never going to change until either the monetization does, or consumers get smarter.

    1. Mephane says:

      “Preview copy bullshit” is literally bribery when preview copies are only given to those who are expected (or demanded) to give a positive review. They get the game for free and, even more important in this case – before release!

      1. Ninety-Three says:

        Literally bribery is when I say “In exchange for a good score, we’ll give you a preview copy”. If I hand over a preview copy to an exictable ten year-old who says everything is the best game ever, you will notice that no one has been bribed even though he is expected to give a positive review. Your definition is bad.

        1. Daimbert says:

          The thing is, at the end they said that if he works with them to put forward an “appropriate” review, he’ll get added to a list that will let him get more things earlier which could net him monetary benefits. That’s pretty much a bribe by any standard or definition.

  7. John says:

    The Michael Bay Transformers designs are a sin against god, man, and robots alike. The most interesting thing about any robot, as far as I’m concerned, is how it moves. How do the joints work? What range of motion does it have? That sort of thing. This is even more important for transforming humanoid robots, which have to not only be able to move in a plausible, human-like way but also be able fold up into cars or planes. The Michael Bay designs are so busy, so covered in cruft, greeble, and spiky bits, that you can’t see how the underlying body is supposed to work. I’m amazed that anyone was able to make functional, transforming toys that resembled his designs.

    The Warframe designs in the image above don’t strike me as quite so bad. I suppose that might be because it’s a still image. In all honesty though the Warframe, uh, warframe designs don’t seem nearly as over-busy to me as your average contemporary armor-wearing JRPG character.

    1. Hector says:

      In this context, Warframe is a bit odd as these aren’t robots. The weird organic-plastic-metal texture is basically accurate. The designs do vary as well. Some frames are very simple, whereas others are extremely ornate (especially the Prime versions). They don’t wear armor or clothing because they ARE armor.

      Design wise, I think the them got better over time and I can almost always pick out a frame based on the sillouette, though the profusion of custom skins and colors does not help.

      1. Geebs says:

        Some of the Warframes are squamous and rugose, the rest of them are rugose and squamous.

      2. John says:

        Er, yes. I didn’t mean to suggest that the warframes were robots. I’ve never played Warframe and I have no idea what the warframes are supposed to be. I just meant to say that they don’t look especially over-detailed, at least not as contemporary video game characters go.

        I do like the one in the front. He’d make a good comic-book character.

        1. Hector says:

          Sorry, I didn’t mean to imply that you were saying that.

          The one up ront is Excalibur, the first ‘Frame and sort of a mascot. To a degree, they basically *are* superheroes.

    2. Paul Spooner says:

      When I was working on the transforming police car for Project London, I did a bunch of freeze-frame research on the transformers movies, and came to the conclusion that they don’t make any sense, and the spikes and plates are just there to cover up the fact that there’s no sensible design that goes into them. I mean, certainly there’s armatures in there somewhere, but all the bits just clip through each other, and there’s no mechanical design at all.
      Now, what I came up with might not be much better, visual design wise, but at least all the parts respect the Pauli Exclusion Principle.

      1. John says:

        I never actually expected the transformation sequences to make sense. That would be asking a lot of Michael Bay. Heck, it would be asking a lot of Transformers in general. The transformation sequences in the 80s cartoon didn’t make any sense either. The animators cheated like crazy, sometimes stretching, sometimes shrinking various vehicle parts in order to make the robot modes look cooler. (I assume that the more recent Transformers cartoons do this also. It would be a miracle if they didn’t.) The difference between the films and the old cartoons–and it isn’t quality as the old cartoons were also terrible, albeit in different ways and for different reasons–is that that robots stayed in shot and the camera held still long enough that you could get a good look at them.

        As I suggested before, there actually are toy versions of Bay-Transformers that transform, have surprisingly good articulation in robot mode, and even look more or less like they do in the films (i.e., busy, if not necessarily spiky). It’s amazing. If you ever do something like that again, that’s what I’d try. And, hey, you’ve got kids who can play with the toy or toys when you’re done.

  8. tmtvl says:

    I’m offended by the suggestion that Unity is better than Godot. Godot is the best game dev platform that nobody uses.

    1. Daimbert says:

      With Godot there’s just too much waiting …

    2. Olivier FAURE says:

      Godot is the game engine that I keep wanting to make something in but never find the time for.

      Mhhh… How good would you say the GUI engine is?

      1. tmtvl says:

        It reminds me of Bootstrap in a good way. Flexible and powerful without being too complicated.

    3. John says:

      Are you offended-offended or internet-offended? Also, what if I don’t want to learn C# or Godot’s scripting language?

      1. tmtvl says:

        Then you can just code everything in pure C and build your entire system from scratch.

  9. Paul Spooner says:

    I hadn’t seen that Jai rant before. Just finished listening, and man, he really doesn’t get to most of the interesting language features. I don’t think he mentioned that he wrote the presentation program that he was using in Jai as well. What an audacious fellow!

    1. Echo Tango says:

      I’ve listened / watched a few of his videos, and the language looks really damn cool. The only problem, is that switching languages / SDKs / frameworks / other large items, is really expensive. Also, people need to port libraries to the language too. ^^;

      1. Paul Spooner says:

        Right. The retooling cost is one of the reasons I’ve been putting off doing any serious game dev until the language comes out.

  10. Sleeping Dragon says:

    At work, can’t listen to the podcast now, also not familiar with the Spider-Man DLC issues (cursory googling doesn’t seem to lead to any particular controversy?) but regarding the broader issues:

    I am a consumer and I have no idea what I want. And I’m not talking in the sense of “if I knew I’d be designing games” but that I very often *think* I want something but I really don’t. For example: I love the idea of roguelikes but I get tired of constantly replaying the same content, or sometimes I feel I could play a game forever but it wears me down by the end.

    It’s even worse with MMOs and similar “games as a service” genres. Different people look for very different things in those games: some want more PvE content, some want it to be more challenging, some want it to be easier, still others want more PvP content, some want more ways to develop one toon, some want to play multiple toons and want more classes/builds, some want more raids, some more personalised customization (player homes, fashion sets). Even putting that aside what the players want is not necessarily conductive to maintaining the game. For example when a new module releases a lot of people may cry that the new raid is too hard, or new crafting takes too long, but if they were given these things on day one they’d have fewer reasons to return to the game for the next three months before the next expansion is out. Which is not to say that the devs are always in the right gating content, but we’re talking specifically player expectations.

    Heck, in the Spider-Man series Shamus pointed out how a bunch of people claim the game’s combat is too easy, while others claim it’s too hard and how some of the people in the first group are just very good at mastering the combat system some confuse “easy” with “lacks depth”, while some in the second group did not get the important information pertaining to combat due to crappy tutorial.

  11. Retsam says:

    I’ve got a history of not agreeing with Blow on the topic of Jai, and this talk doesn’t seem very convincing to me, either. I can’t speak to C++ specific stuff: I’m just not a C++ level programmer, but he makes a lot of comments about programming as a whole that I do feel informed enough to dispute.

    There’s some kind of idea that’s like “Climbing to Heaven”, where the language lets you express higher and higher level things […] The idea here is that the job of a programming language is to put you in some kind of magical space where you’re just programming with magic and clouds and daydreams and you don’t think about stuff like managing memory or about what your data structures even look like […] and it’s wrong but despite the fact that it’s wrong there’s been some success with it.

    His delivery of this isn’t as condescending as it probably reads[1], but it’s still pretty bold saying that almost 20 years of language design is “just wrong”. The debate over “high level languages” is ancient. Yeah, you lose a lot of performance using all the fancy high-level features; you’d get a faster program in a low-level language, but ultimately most people agreed that programmer productivity gained for not having to write assembly makes a high-level language like C more than worth the cost in efficiency.

    But now it’s the 21st century and we’re having the same debate, but C has switched sides and is now the “low-level” language. And the people arguing for low-level languages aren’t wrong, any more than the assembly people were wrong about assembly being faster[2]. But it’s silly to say that the low-level language is always better, as Blow seems to argue: it’s a tradeoff between productivity and program speed, and there’s no single correct answer to that question[3].

    A fair bit later in the talk he presents his alternative paradigm to abstraction as a “reach to the sky, feet on the ground” approach: a concept I found kinda vaguely defined, but more I gather he just means “make the low-level API better so we don’t need abstraction”. Which is a great goal (if a tad obvious), but while you can close the gap a bit, I always think abstractions are always going to have expressive power that low-level APIs lack.

    As a slight tangent, for a different perspective on abstractness and expressive power, I really liked this Cheng Lou talk, which puts “power” (i.e. abstraction) on one end of a spectrum and “useful” on the other. It’s a really interesting conceptual model.

    [1] He says it in a fairly joking manner, and I elided the bit where he says “I’m poking fun at this idea a little”.

    [2] Though as tools get better, higher level languages close the gap. C used to be much slower than assembly, but now I believe the automatic optimizer is better than the human in many cases. (Though maybe humans have just gotten worse as we’ve stopped writing assembly)

    [3] And if we assume there’s meant to be some implicit qualifiers on his claim, like “high level languages are worse in the context of performance critical video game development”, then his point isn’t wrong, it’s just blisteringly obvious.

    1. Paul Spooner says:

      I think mostly what he’s objecting to is removing access to low-level language features, in exchange for high-level language features. Jai is designed to be able to do both, you don’t have to trade one for the other.
      I found an earlier example more informative, that most modern languages are designed to keep poor programmers from making mistakes. Jai is designed to enable good programmers to do their work well.

      1. Echo Tango says:

        “most modern languages are designed to keep poor programmers from making mistakes. Jai is designed to enable good programmers to do their work well.”

        This is the main point Jai is built around. Some of the language features Retsam[1] lists in the linked forum post, are features that aren’t really needed very much, if you program professionally. For example “Rust is designed in such a way that the compiler ensures no out-of-bounds memory access, no null pointers, and no memory leakage.” – the first two are easy if the language isn’t getting in your way, and gives you a good stack trace, and the last is straightforward, if a bit lengthy, if you know what you’re doing, and the language isn’t getting in your way. I mean, shit, I was dealing with memory-allocation as a class exercise / assignment, when I was doing my Bachelor’s degree. It’s not rocket surgery; You just need to have automated tests, clean code, and some diligence.

        [1] Sorry, in a tree-based comment system, I can’t respond to both of you at once.

        1. Retsam says:

          The comment I wrote simultaneously to yours (just below) has some overlap; but I pretty strongly disagree with the attitude that safety is no big deal if you’re competent.

          Yes, out-of-bounds memory access is incredibly simple conceptually, and yet it is one of the all time classic security exploits because of just how common those errors are. It’s easy, if you think of it, but the reality of programing is that all but the best programmers (and even them, sometimes) will sometimes fail to think of it. And if you don’t think of it, your tests won’t catch it, since you won’t test think to test for it.

          A very example from this talk: (talking about his “meta programming system”)

          For example you can build your own error checking routine that enforces your house style. […] We do things like “You can’t store an entity pointer in a data structure because unless it’s one of these whitelisted structures because any pointers could go away at the end of the frame, so we check for that and we give you an error if you try to do that and that’s not something you would ever build into a compiler the compiler knows nothing about that.

          That absolutely sounds like something the Rust compiler would know about, and without the need for a whitelisted set of structures. Apparently even very intelligent coders like Blow (and I assume the other three developers) were at enough risk of messing up memory management that they spent the time building custom (one-off) tooling to prevent one specific class of memory management bugs.

          So yeah, I don’t really agree that the idea that memory management is not an issue if you’re disciplined.

          1. Paul Spooner says:

            If you don’t care about process security, not having to maintain the memory management overhead seems like a good thing. And yes, the point is that they are preventing one specific class of MM bugs, not every possible MM bug.
            I think “not something you would build” is meant in the sense of “no one should do this” rather than “no one does this”. He’s obviously aware that his views are at odds with the majority of programming doctrine and language design. He’s not saying automated MM is impossible he’s saying it is something for programmers to deal with, not language designers.

      2. Retsam says:

        Yeah, I think languages with low-abstraction memory patterns can have high-abstraction features. If that’s all he meant by “reach to the sky, feet on the ground” then sure, that’s fair. I didn’t get that from his description of it, but that is probably what he meant.

        And I still disagree with his fundamental idea that “high-level memory patterns are wrong“, again, maybe true for if you’re strictly speaking of high performance game stuff, but for pretty much everyone else (read: 95% of programmers), I think if you’re manually freeing memory you’re wasting your time.

        Honestly, saying it’s designed for the good programmers not the bad programmers is probably the biggest red flag that I’ve heard from Blow regarding Jai. That’s like saying “I’m a good driver, I don’t need a seatbelt”: it’s fine if you’re not overestimating your abilities, and if you’re the only person on the road, and you aren’t trying anything too fancy. (And I program Javascript, trust me, I know about driving without a seatbelt)

        Professional game development – which generally involves huge teams and tons of complexity – seems like the last place I’d want to use a language that considers “preventing mistakes” to be a non-goal. If you want to write a niche-appeal game-dev focused programming language for small teams of highly talented programmers… well that’s cool, but it sounds like your target market for that language is mostly “Jonathan Blow”.

        1. Geebs says:

          Given that Blow’s aim is for Jai to be a language for game development, I think it’s almost certain that he is talking about high level memory management; given that garbage colllection is usually a black box, and only guaranteed to free memory “at some point” it’s really not something you want to have running inside a highly performant game loop in which you might be messing about with hundreds of megabytes of data, sixty times per second.

          It’s also fair to say that many compilers have historically not been able to identify potential memory leaks in code. They can generally tell you that you haven’t freed memory, but picking up retain cycles etc. isn’t trivial.

          I think part of where you (collectively) have been disagreeing with Blow comes down to the fact that you’re talking about managing system memory, whereas he’s spending much of his time managing memory on the GPU. GPU memory management has far fewer assurances than system memory, is much harder to debug, and obliges the programmer to use data structures and APIs in a C-like fashion with none of the high-level features available. Multi-threading draw calls is also still a huge headache.

          The really big problem with GPU memory management, IMO, is the tiny bandwidth of PCI-E, which will probably only really go away once PC harware moves to a unified memory system (as with PS4/XBone). Getting data back after doing GPU compute is incredibly slow, even with asynchronous transfers.

          Sorry about the slightly laboured argument. The fundamental point I’m trying to illustrate is that Blow is using memory in a very different way from programmers who make e.g. 2D desktop apps in C#, which explains why he thinks about memory management in a very different way as well.

        2. Echo Tango says:

          again, maybe true for if you’re strictly speaking of high performance game stuff

          Jonathan blow is exclusively targeting game-engine programmers in highly-performant games, and gave his talk at a game-dev conference. Jai might be useful for other types of programming (and probably would be, given that it’s aiming to be useful at both high and low levels), but those are nice bonuses, not the target audience.

          Honestly, saying it’s designed for the good programmers not the bad programmers is probably the biggest red flag that I’ve heard from Blow regarding Jai.

          I agree with Jonathan Blow here. In my experience, bugs come from generally two places. First, typos, being tired at the end of the day, not having morning coffee, etc – natural mistakes that happen at random, but as some percentage of code written. If you can make it easier for your programmers to think about their code, debug, or write less code, you’ll reduce these bugs. Some of those are at odds, so it’s always a trade-off; Using a library with obviously-named functions and objects would help with understandability, but debugging would be harder, since you’re adding layers (and probably poorly-formatted or missing-information logs) to your stack-trace. The other place bugs come from is lack of skill and knowledge. Inexperienced programmers will improve themselves over time, and will eventually outgrow any hand-holding a language provides. So you’d be better off targetting experienced programmers, and making good tutorials and documentation, for other people to become experienced.

          1. Retsam says:

            I strongly disagree with your view that bugs are either trivial mistakes or inexperience and that the solution is “better programmers” and not better tooling. I can’t speak to the game industry specifically, but how about John Carmack talking about static analysis?

            The first step is fully admitting that the code you write is riddled with errors. That is a bitter pill to swallow for a lot of people, but without it, most suggestions for change will be viewed with irritation or outright hostility. You have to want criticism of your code.

            Automation is necessary. It is common to take a sort of smug satisfaction in reports of colossal failures of automatic systems, but for every failure of automation, the failures of humans are legion. Exhortations to “write better code” plans for more code reviews, pair programming, and so on just don’t cut it, especially in an environment with dozens of programmers under a lot of time pressure. The value in catching even the small subset of errors that are tractable to static analysis every single time is huge.

            The classic hacker disdain for “bondage and discipline languages” is short-sighted the needs of large, long-lived, multi-programmer projects are just different than the quick work you do for yourself.

            And that “hacker disdain” really seems to echo the Jai philosophy that’s been expressed. Jai is, apparently, marketed towards large, long-lived, multi-programmer projects, yet it has this “good programmers don’t need seatbelts” philosophy that just seems, to use Carmack’s word “short-sighted”.

            1. Shamus says:

              Based on what I’ve viewed, it seems less like the idea that good programmers don’t need seatbelts and more like “sometimes you want seat belts and sometimes you don’t, so the language ought to provide a seatbelt but not force you to wear it.”

              If I’m doing something really performance-sensitive at the core of my application, then I want to be able to manage memory manually to make sure everything is optimal, because you can’t always trust that job to the compiler. On the other hand, if I’m juggling text strings for the interface and parsing text files, then I REALLY shouldn’t be forced to make fine-grain details about how that memory is handled.

              As a jaded C++ coder, that’s what I took away from the talk.

              1. Retsam says:

                It totally makes sense that memory management is important for performance-sensitive parts of your applications, and if you can do that and still not have memory management be tedious elsewhere, that’s great. Ideally, yeah, you have your seatbelt but you can take it off when you need to. (I know Rust provides this with an “unsafe” mode that bypasses some of the normal memory safety stuff)

                If he’s just directing this at garbage collected stuff like Java, well, I don’t agree that the implication that garbage collection only exists for “bad programmers”, but yeah, I see why that sort of “unremovable seatbelt” is a problem for him.

                But I still disagree with the underlying philosophy about “good programmers” and “mediocre programmers”. Whenever stuff like memory safety is discussed, the position that Echo Tango (and seemingly Jon Blow) is holding comes up: that errors are generally just caused by “bad programmers”.

                Eerily topical, I left this thread yesterday and saw this at the top of my reddit feed:
                “Microsoft: 70 percent of all security bugs are memory safety issues”
                – (to clarify, that’s 70% of bugs within their products specifically). Which inevitably led to people in the comments saying stuff to the line of “Yeah, that’s just because Microsoft programmers are bad”, and so someone posted a rebuttal to that position just a few hours ago: No, the problem isn’t “bad coders”.

                I think that position is a fallacy, personally, and it worries me to see a language seemingly designed from that position – I don’t know how (or if) that position specifically has informed the details of Jai as a language (I’m not arguing that GC’d memory is always the answer), but to me that’s just a worrisome foundation to build your language on.

                1. Echo Tango says:

                  the position that Echo Tango (and seemingly Jon Blow) is holding comes up: that errors are generally just caused by “bad programmers”.

                  If you’ll re-read what I previously wrote, you’ll note that that’s only one of two broad causes for mistakes. I’m also not advocating (and I don’t think Jon is either) that everything be done manually by Jai programmers, because they’re just so damn amazing and clever. I just agree with Jon’s choice of target audience, and wanting to automate the right things.

                2. Blake says:

                  I’ve been working professionally as a game dev for a bit over a decade now, and memory leaks are rare enough and so easily detected/fixed that it would not be at all worth it to have extra overhead at the language level.
                  In our engine, if a single byte is allocated and not freed when going into and out of a level, it will fail our automated testing and the commit won’t get pushed to the master branch.
                  On the rare occasion someone gets something past the automated tests, we can just add a couple of lines of code and get a list of all unfreed allocations and the callstacks where they were allocated. They’re quite rare, super fast to fix, and the the answer is usually to replace some old c++03 style code with something more modern like a std::unique_ptr.

                  A far more common issue is long-lived allocations stacking up and running you out of memory. Something the compiler cannot help with because nothing is ‘leaking’ if you terminate normally, you just have a limited memory budget on console and when you run out that’s it.

                  Everything I’ve seen on Jai makes me want to use it in place of the (Lua) scripting engine we use. Would be orders of magnitude more performant, much less boilerplate code than c++, and would catch more errors at compile-time.

                  There’s not currently a language that fills the space of fast-to-read, fast-to-write, fastest execution, and Jai is looking to fill that role. Even if that means running ‘with the safeties off’, it’d still be super useful for game dev.

    2. Kdansky says:

      First off, you’re completely right.


      Blow has no fucking clue what he’s talking about. The picture that he paints of other languages is ignorant to the point of being offensive. All these great features that he promises? Well turns out that modern C++, Scala and D have basically all of them already, and those languages are better supported, and better designed than his stuff. If he cared to read up on what’s out there, he would find that he is behind the cutting edge by about a decade.

      I really cannot take anyone seriously who wants to create a programming language but has not done their homework, and is so obviously not familiar with the works of Rich Hickey, Martin Odersky, Andrei Alexandrescu and the current C++ standard.

  12. Retsam says:

    (Continued Jai talk commentary, 2/3)

    People have this idea that in the modern world if you’re gonna program you need this complicated slow buggy thing called an integrated development environment…

    I don’t disagree that most IDEs seem overbuilt – I don’t generally use them, and prefer lighter text editors (e.g. VSCode) or the occasional dabbling in `vim` – but I have no idea why he stuck this section in the bit about “mistakes programming languages have been making for decades”. I guess it’s setup for when he’s later talking about his language’s features, but it just seems like a non-sequitur here, in context.

    People also have another weird idea that a programming language should be a grand ecosystem and if you’re going to come and start using it then you’re entering the ecosystem and you to learn about all these crazy things […] If somebody is making a system that’s good for you to use it’s as simple as it can be while enabling you to do the job.

    I also found this section odd. Is he complaining that many languages have vibrant ecosystems around them? Nobody is forcing you to learn an entire ecosystem just to use a language (despite what these unspecified “people” are saying), but a language having a vibrant ecosystem is a really good thing. It means there’s good tooling, good auxiliary libraries, good support forums.

    I’m really not sure what he’s driving at here.

    It seems like he just likes to build everything himself[1], and thinks that other languages have ecosystems primarily because they don’t make it easy enough for you to build things yourself? I’m grasping at straws here; I’m really not understanding his complaint.

    You can have a language with most of the features of C#, but that’s as low level as C at the same time. It’s just nobody’s really made that, so we’ve never seen that example and so our brains don’t really understand it.

    He’s right that it’s possible to have a language with lots of features that’s also low-level. In fact, it’s so possible, that it’s already been done. Both D and Rust are pretty good examples of languages that seem to have largely already done this.

    He does talks about both in his original talk about Jai – he basically dismissed D for being too similar to C++ and Rust for being too different, so he’s clearly shooting to slot his language somewhere between the two. And there’s certainly some room between the two[2], but I just find he’s way overstating how revolutionary his language actually is.

    [1] Breaking news: guy who is writing his own programming language likes building things for himself – stay tuned for more updates as the story develops.

    [2] In fact, when I dabbled in Rust, I found myself wanting a version of Rust that turned down the memory safety, though I was knowingly using the language for a job it wasn’t suited for: in the context of high complexity game design Rust’s memory safety sounds like an excellent idea.

    1. Echo Tango says:

      “Nobody is forcing you to learn an entire ecosystem just to use a language”
      I think some concrete examples would have helped here. For example, when I was debugging some Java-based networking stuff that used a 3rd-party SDK/framework, I spent about three hours just trying to read through documentation, trying to find the one, very small thing I was after. (I don’t remember exactly what it was, but it was equivalent in complexity to something like, “How do I pass data from this outer calling function, to the inner function that I’m passing a pointer to?”) In Golang, C, or C#, answers to those types of questions take something like 15 minutes to look up. Java itself isn’t too bad[1], but I think that whole framework was built on the assumption that you’d be doing it as your day-job, and would have everything memorized eventually. I’d much rather use languages (frameworks, SDKs, whatever) that don’t assume I’m going to memorize everything they do, and instead provide good documentation, or better yet, make the simple things have simple syntax or obviously-named standard-library functions.

      [1] Of course, I haven’t used Java since I was in school, so maybe Java is a shit language and I just don’t know it.

      1. Retsam says:

        Lots of frameworks have bad APIs and mediocre documentation, I don’t disagree in the slightest, but I don’t know what this has to do with language design, per se.

        Certainly there are some aspects of language design which indirectly encourage or discourage good framework APIs and documentation. Like I think Javadoc in Java is a great example of a language feature that greatly improved the quality of it’s ecosystem: make documentation easy and automatic and there will be more good documentation (not that Java is all roses in the ecosystem department). From what I remember, Go was very intentional in trying to encourage a good ecosystem.

        But Blow didn’t say “this is how we’re going to encourage a healthy and easy to use ecosystem for Jai” I heard what he said more like “I don’t believe an ecosystem should be a necessary part of a language” which I find somewhere between perplexing and alarming.

        1. Paul Spooner says:

          There’s certainly an argument to be made that a healthy ecosystem is a good sign of healthy individuals. But “I don’t believe an ecosystem should be a necessary part of a language” is definately a statement I can get behind. I want my hammer and screwdriver and all my tools to be integral parts of my garage workshop ecosystem, but I don’t want the garage to be integral to the tools, they should work when I take them to a job too.

          1. Retsam says:

            Sure, everything integral to the language should be part of the language. That’s kind of an obvious goal and pretty much every language I’ve used has had that – maybe this is a specific jab at C++ that’s just going over my head because I haven’t really used much C++ – so I don’t understand this comment in the context of “mistakes languages have been making for almost two decades”.

            But to clarify my comment you’re replying to: I agree that integral stuff should be part of the language, but I also think you need an ecosystem, I still think that’s a necessary (and inevitable) part of any healthy language. There’s plenty of stuff that isn’t “integral” and shouldn’t be in the core language, but commonly used enough that not not everyone should just write their own version of it.

            That’s why the ecosystem seemingly being a non-goal or an afterthought to Jai’s design is somewhat worrying.

      2. Daimbert says:

        The thing is, you don’t ever have to use any thirdparty frameworks in Java or pretty much any other language. For much of the stuff they do, you could build basic versions of it yourself and could indeed build the whole thing yourself. But these frameworks get used because they are more fully-functioned than what you’d do yourself much of the time, so the question becomes why build it yourself when you can just use the framework and get everything you want? And while I personally think that in modern programming in general frameworks are overused, he’d be wrong that you HAVE to use it and also wrong about WHY they get used.

        1. Echo Tango says:

          It would be better if Jon provided the examples of languages that exhibit this learn-everything behaviour, so I don’t have to come up with bad examples at the end of a work day. ^^;

    2. Daimbert says:

      I don’t disagree that most IDEs seem overbuilt – I don’t generally use them, and prefer lighter text editors (e.g. VSCode) or the occasional dabbling in `vim` – but I have no idea why he stuck this section in the bit about “mistakes programming languages have been making for decades”. I guess it’s setup for when he’s later talking about his language’s features, but it just seems like a non-sequitur here, in context.

      At my work, I don’t use an IDE but pretty much everyone else does. It’s not a function of the language that makes IDEs useful. An IDE is just that: an integrated development environment. It lets you load in, search, compile and run a project without having to leave the “editor”, and so is actually in general more convenient. You can even have it take care of the source control for you. I find that it does too much for you which is why I don’t use one, but it’s clear that the reason it’s used is convenience and not some kind of philosophy, and it’s not actually an error to do it (although coding as if you’ll always have access to one is, in general).

      1. Echo Tango says:

        The biggest benefits I get from IDEs are:
        – good source-code searching, either by text, or usage of some function/class/etc
        – Refactoring tools. Even just renaming a single variable in a big function is a pain in the ass, and error-prone. This tool helps reduce bugs.
        – Source-code highlighting. Either with colors to highlight a variable throughout a function when I click on it, or showing me the current scope of brackets. Also giving me re-squiggles under things, when I fuck up and try to pass a string into a function that expects a float (or whatever). I could wait for the error when I try to compile, but having this information while I’m typing is very valuable.

  13. Retsam says:

    (Jai commentary, 3/3)

    Overall, I do hope I’m wrong, and Jai is a great language: the world can only be better for another quality programming language, and it sure seems like getting the industry off C++ would be a good thing.[1] But when I watch one of these talks, I find myself disagreeing with almost every point he makes, and that doesn’t fill me with confidence.

    And I do wish he’d be less inflammatory, more measured, or else back his claims up more. (And relied far less on video as the mechanism for communicating about Jai) Shamus takes a lot more care to carefully support his opinions while critiquing “Shootguy Goes to Space 4”, if you’re going to say that 20 years of professional language development has been almost entirely wrong, that’s a claim that deserves a lot more support than was given here. It just ends up feeling like clickbait. “Language Designers hate him! Jon Blow gives 5 reasons why programming languages suck, number 6 will surprise you!”

    You could argue his arguable lack of tact[2] isn’t really relevant to the merits of the language: but there is an extent to which it matters: languages (programming or spoken) are living things: the only languages that do not change are dead ones; and presumably Jonathan Blow will be the one guiding Jai’s direction (if he’s made any other comments on Jai’s governance, I’ll stand corrected). And the vibe I get from Blow – very intelligent, opinionated, and doesn’t have a high value for the opinions of others – just doesn’t feel like a good fit for language stewardship to me[3].

    [1] Though I’ve been told by a coworker that I highly respect that C++ as a language has done very well at evolving as a language and that if people used more modern-styled C++ things would be a lot better. I’m not remotely qualified to comment on that point.

    [2] More breaking news: highly talented auteur game developer might not be entirely humility. Quick, to the presses!

    [3] I’m not trying to turn this into an ad-hominem about Blow: I really liked both of his games, and I do think he’s talented and intelligent; but “maverick individualistic game developer” just doesn’t seem like the right personality type for the job.

    (I hope the three-part comment format wasn’t too obnoxious: I didn’t want to leave a mammoth comment and I didn’t know if there’d be a designated post for discussing this. Feel free to combine/delete, whatever)

    1. Echo Tango says:

      “I do wish he’d be less inflammatory, more measured”
      I’m not sure I understand where you’re coming from here. In all of Jonathan’s talks and videos, he’s been calm, polite, and pointed his arguments at languages, not people. Is there a video I missed, where he insults the developers of other languages?

      1. Retsam says:

        I said that he’s being inflammatory and not measured, not being rude or insulting. I’m talking about the controversial content of his comments, not the delivery.

        “20 years of programming innovation has been based on wrong assumptions” is an inflammatory comment – (again, not an offensive one, or a rude one, just controversial) – like Shamus said in this post: “Okay buddy, you’d better have something really good to back that up.” Shamus may disagree, but I don’t think he did. I think he made a controversial statement and kinda haphazardly supported that statement, then moved on to the actual point of his talk – like I said, it felt a bit like rhetorical clickbait.

        It’s not wrong or offensive or anything, but his approach to communicating controversial opinions on programming just lacks the rigor that you see from someone like Carmack.

        (And, communicating strong language opinions for years almost exclusively by video is not helping)

  14. Axebird says:

    I’m really shocked to hear your reaction to the Warframe’s monetization scheme, since I’ve found it to be the most generous free to play game I’ve ever played. I’ve spent about $30 over two years, and I never even used the platinum I bought, it’s still sitting on my account. Even without spending it, I have almost everything in that time period, playing less than an hour a day: I’m at Mastery Rank 23, I’ve maxed about three quarters of the equipment, and I have about 2,000 platinum sitting around. You really can get to everything pretty easily without spending anything.

    A few things it might help to know, to deal with your specific issues:
    1. Mastery Ranking is increased by leveling new equipment up to rank 30 for the first time. Weapons, warframes, companions, everything gives you mastery. Mastery gives you a ton of benefits, and is the primary way to increase your options; equipment is gated by it, it lets you advance your faction reputation more each day, and it sets the effective minimum rank your equipment has for modding purposes (for instance, if you’re mastery 15, your unranked to rank 14 weapons have the mod capacity of a rank 15 weapon).
    2. Don’t fret build times. There’s a massive amount of things to try out (349 weapons and variants, and 61 warframes and variants alone)- if you keep building new things to try you’ll always have other things to play with while you wait- a few months ago I still had around 60 weapons sitting unclaimed in my foundry for when I got around to trying them out.
    3. If there’s piece of equipment you really want to power up and use for high level missions, use an Orokin Catalyst (the blue ones that affect weapons) or Reactor (the yellow ones that affect warframes) before you use Forma. It doubles the mod capacity of the item, which is a much more significant boost than a forma. They’re really cheap (20 platinum apiece) and get handed out for free in random alerts or invasions every couple days, along with a guaranteed alert that’s up for 24 hours after each of Digital Extremes’ devstreams.
    4. Do Void Fissure missions in public groups to crack open your relics (you can pick any one item from one of the group’s relics) and sell the stuff you don’t want for platinum (I recommend warframe.market, it’s really fast and doesn’t require talking to people much). It’s the easiest way to get platinum without paying, and it trickles in while you’re doing something fun and getting rewards you actually do want.
    5. That person you saw with a huge pile of hitpoints was probably playing Inaros, which is a warframe that has no shields but an exceptionally large health pool. There aren’t many ways to get more health than basic mods like Vitality, so if yours is ranked up probably the only differences you’re going to see are weird mod setups or the differences between different frames.

  15. Ninety-Three says:

    Warframe has been cropping up a lot in my awareness recently, so Shamus finally pushed me into trying it.

    Oh my god it is the worst MMO I’ve ever played.

    Maybe an hour in I’ve finished the intro quests and get dumped into the big public hub area. I find the one questgiver and accept a quest to… something. Eh, there’s a waypoint, good enough. I spend fifteen completely unnecessary seconds walking to the town gates (why have a big empty hallway between quest man and them?) and am informed that three other players have joined my squad. I did not ask for this, but fine, I guess this is a multiplayer quest. We go out into a big open world MMO area and spend nearly a minute running across empty plains to the quest waypoint. It’s an area in the middle of the plains where some baddies are spawning and we have to shoot them. The shooting lasts maybe thirty seconds, and because two of my teammates got there before me, I get to kill exactly five enemies, then the quest is done. I was the lowest level person on the team and I feel like I could have soloed the encounter. The game informs me that I should now return to the quest hub. Instead of teleporting me back there, I have to spend nearly a minute walking back to the quest hub. Then the game informs me that I cannot enter the quest hub until all of my teammates are standing in front of the doors. One of them is still dicking around back at the quest area, so I twiddle my thumbs for a sixty second timer until the game lets me back in.

    There were so many design disasters in just a few minutes, and it’s not like it was some out of the way corner of the game, that’s the first impression of the MMO parts of this MMOFPS! This is, or should be, them putting their best foot forward! Alt-F4, uninstall.

    1. Axebird says:

      I think walking into the game with the wrong idea of what it is did you a disservice. It’s not an MMOFPS, it’s firmly a squad based shooter.

      What happened was you avoided the main body of the game and went right to the Plains of Eidolon, the first open world area added to Warframe last year. The entire rest of the game is isolated missions with objectives, and that engine informs part of how the plains work. It’s not a quest hub (quests in this game are all stories with a significant unlock at the end, none of them are filler and they’re not in specific areas), it’s a staging area for missions and a shop floor. When you passed through the gate you entered matchmaking because your party was set to public (the big icon in the top left- you can change it to solo, friends, or invite only if you like). Returning through the gate is extraction just like in all the introduction missions you played, it has the same mechanics.

      If you’re in the mood for a third person shooter with a lot of mobility, give it another shot and avoid the plains. There isn’t much there of interest to a new player anyway, it’s just available so you aren’t locked out of going there with your friends.

      1. Lino says:

        One of Warframe’s problems is that at no point does the game make any of that clear. At the start, it looks like a normal MMO, so naturally, people try to play it like one. The problem I had was that even when using a guide, I had no idea what was going on – even though I’ve played a lot of RPGs, I had no idea what my power level was and what content I was supposed to be doing (and don’t start telling me about my MR – missions and events never state what MR you should be in order to be adequate at tackling them).
        I see a lot of people say that Warframe needs a better New Player experience. However, my main criticism of the game is that it doesn’t have a New Player experience – it just throws in the deep end of a system that has very little in common with games of the same genre, and it expects you to figure it all out on your own.
        Some people like that, but as for me – I just don’t have the time or patience for it.

      2. Geebs says:

        For the new player, Warframe really isn’t a squad-based shooter; there’s no team interaction at all. In particular, you can’t ever use stealth because someone else will just speedrun to the mission objective, tripping every single alarm in the process.

        I think the most telling thing, for me, is that nobody who actually likes Warframe (judging by comments from people offering advice for high level builds, progression, etc.) talks about the gameplay at all. It’s all about builds and timers. Shooting dudes is basically a mini-game.

      3. Ninety-Three says:

        I did not walk into the game with that idea, I got dumped into a WoW-style city hub, picked up a WoW-style “Kill twenty rats” quest in a WoW-style open world, and I made the crazy assumption that this game was like WoW.

    2. Kubic says:

      The issue is that Warframe lacks a tutorial. The place you went to, Cetus, and the Plains of Eidolon are NOT early game content, it’s content that’s been added 5 or 6 years into the life of the game, you’re supposed to unlock about half the solar system map before you tackle the Plains succesfully. You can go there early for easy rewards but some enemies are too hard and you’re gonna just get carried by higher level players.

      1. Ninety-Three says:

        That is confusing that the first mission I did there had me one-shotting a small spawn of mooks: unless there was some elite boss who my teammates killed before I even showed up, I could’ve soloed that thing at level 5. I guess this constitutes another instance of the complaint I’ve seen elsewhere in these comments that the difficulty system is opaque and broken.

  16. The Big Brzezinski says:

    Warframe from a distance looked to me like a weird cover shooter for most of its life. I was finally convinced to try it by Jim Sterling and company’s seemingly incongruous description. I decided to go in blind, willfully seeking out that horrible learning curve I’d heard so much about. The only exception was three directives: fill out the star chart, do your quests, and reach the Second Dream.

    The combat was the first thing that gripped me. I hadn’t moved like that in a game since Jedi Academy. If the game had in fact been a cover shooter earlier in its life, I could find little evidence of it as I vaulted over groups of Grineer, ground slamming them off their feet and finishing off the survivors. The second hook to land was the modding. I imagine the mod cards would be intimidating to the unfamiliar, but I had dealt with Blizzard’s talent trees, EVE Online’s ship fittings, and MTG’s 3D lawyer chess. To me, Warframe mods were Sunday brunch.

    As for the less appealing or understandable parts of the game, I largely ignored them. Didn’t care about invasions, syndicates, or timed events, so I didn’t bother with them. They were perfectly happy to leave me be while I found my feet. I found my fun simply running the missions and trying out mod combinations. Even resource farming wasn’t an issue, since all it required of me was to go run missions I was already enjoying. Finally, I finished the Neptune junction. It was time for the Second Dream.

    I don’t care about spoilers. I appreciate the context that foreknowledge provides. The percentage of unspoiled reveals that actually pay off is pathetically low, usually leaving me conned by the director. Too often the twist at the end doesn’t actually matter, gets clumsily telegraphed ahead of time, or is just a dumb contrivance for unearned drama. The Second Dream was not one of those. Here, after weeks of mechanical investment into a dumb fun looter-shooter, they stop to tell you a story. And then they have you. You’re a Warframe fan now. And just to make sure, they do it again three more times in The War Within, Chains of Harrow, and the Sacrifice.

    Sticking to the abstract, I’ll say that Warframe’s writing does everything right about drama-first storytelling that Mass Effect did wrong. Warframe’s writing supports the gameplay providing it with context and theme without rudely obstructing you. It takes the hollow form of the looter-shooter and fills it with rare heart and soul. What Warframe does for Destiny and The Division is what Majora’s Mask did for Ocarina of Time, and what New Vegas did for Fallout 3.

    So I hope Shamus at least plays long enough to do the Second Dream. I also hope he records his live reaction for us.

  17. Grimwear says:

    In regards to the bribery video a lot of people in the comments think that the game was The Division 2. This would make sense to me seeing as how one youtuber I watch Bikinibodhi brought out a video at roughly the same time where he got flown out and played The Division 2 against the devs.

  18. Cuthalion says:

    I hate to be a whiner, but I have to ask again if there’s nothing that can be done about the missing enclosure tags in the RSS feed. I think Shamus mentioned he was using some tool that created the feed automatically and isn’t sure why it doesn’t work. Perhaps it gets confused because there’s 2 audio files, so it assumes that neither of them are the main content?

    Ah, I just found the post (episode 198) where Shamus mentioned that the podcasting plugins were all uncooperative with the site or didn’t work in iTunes. It’s a shame, because the RSS format itself isn’t very hard, and the specification is quite short and relatively readable, though the “best practices profile” document is more helpful, noting what’s required and not and giving more explanation to the various tags. (For example, you can just use 0 for enclosure length if you don’t have an easy way to calculate it.) I’ve implemented a feed generator for work before that queried the relevant items from the database and made an xml file with the proper data, but I don’t know how hard it is to do that sort of thing on WordPress. :( If that is something that Shamus is willing to try (and hasn’t already), it might be worth it. It just seems like a shame that such a major and long-running feature of the site is half broken.

    As for iTunes’s extra tags, it looks like they’ve got info on the requirements (not sure if image is actually required if you’re not proactively listing yourself with them) and recommendations (which you can probably ignore if you want).

    Anyway, sorry for the rant. I enjoy the podcast. :)

  19. Bi9 Daddy Jake says:

    Warframe gets better.

    My recent warframe experience was the same, slow progression unless you pay… until i began getting “prime” items you can sell to other players for platinum… once you get there and understand the market, the Warframe experience changes greatly since you can advance much faster.

  20. Milo Christiansen says:

    RE: Warframe:

    You are wildly wrong about so much in your description, and sadly I can see how you got these impressions. There is one of the larger Warframe youtube guys doing a “no money spent” run on Warframe right now, and I strongly suggest you watch at least the beginning of his run. That will explain *so much* about how leveling works and such.


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>

Leave a Reply

Your email address will not be published.