My company just finished a several week review period of Greptile. Devs were split over the usefulness of the tool (compared to our current solution, Cursor). While Greptile did occasionally offer better insights than Cursor, it also exhibited strange behavior such as entirely overwriting PR descriptions with its own text and occasionally arguing with itself in the comments. In the end we decided to NOT purchase Greptile as there were enough "not quite there" issues that made it more trouble than worthwhile. I am certain, though, that the Greptile team will resolve all those problems and I wish them the best of luck!
i can only speak to my personal experiences and not the entire "Job Market" but i have seen qualified, competent team members let go during "positive transformations" and expectations that their workload will be covered by others while corporate crows about how using AI will be such a force multiplier for those who remain.
To me, I see pushing rules boundaries as part and parcel with exploring fantastical worlds. Elves, dwarves, and dragons exist. Those aren't "real". Magic spells that allow you to fly and shoot fire from your finger-tips also exist but also aren't "real". If we're already breaking biology and meta-physics, why assume basic physics works exactly the same way either?
For some, I think it is re-capturing the child-like attitude of wonder, excitement, adventure, and asking the question "what if?". This, of course, may be tempered by campaign tone; something that might happen in a DnD campaign but likely not in Call of Cthulu, Kids on Bikes, Monster of the Week, etc
I personally adore the Peasant Railgun and other such silly tropes generated by player creativity! Lateral problem solving can be one of the most fun parts of the DnD experience. However, these shenanigans often rely on overly convoluted or twisted ways of interpreting the rules that often don't pass muster of RAW (Rules As Written) and certainly not RAI (Rules As Intended) -- despite vociferous arguments by motivated players.
Any DM who carefully scrutinizes these claims can usually find the seams where the joke unravels. The DnD authors also support DMs here when they say that DnD rules should not be interpreted as purely from a simulationist standpoint (whether physics, economy, or other) but exist to help the DM orchestrate and arbitrate combat and interactions.
In the case of the Peasant Railgun, here are a few threads that I would pull on:
* The rules do not say that passed items retain their velocity when passed from creature to creature. The object would have the same velocity on the final "pass" as it did on the first one.
* Throwing or firing a projectile does not count as it "falling". If an archer fires an arrow 100ft, the arrow does not gain 100ft of "falling damage".
Of course, if a DM does want to encourage and enable zany shenanigans then all the power to them!
The underlying issue with TFA is that it's a player describing a thing they want to attempt - and then also describing whether the attempt succeeds, and what the precise result is.
And that's... not D&D? I mean players could certainly attempt to have several people pass an object quickly with the Ready action, under RAW. But what happens next isn't "the rod speeds up to such and such a speed", it's "the DM decides whether the peasants need to roll a dexterity check" and so forth.
And to me as a DM, that's why I find articles like TFA annoying. Not because it's confused about fall damage (though it is!), but because it's confused about who decides whether to apply fall damage!
Some people are there because their life is not their own, and they want to live freely in the game; some people are there because their life is an exercise in control, and they want to play with the win conditions.
Every table and game is unique. It’s a microcosm of society that is simultaneously everything to anyone and yet no one thing to everyone. It’s a way to directly engage with the Other via metaphor and indirection.
Finding fun and unexpected rules interactions is certainly D&D. Finding obviously broken and unintended interactions that make no sense in-universe, purely as intellectual sport, is also D&D.
Seriously expecting the DM to behave like a buggy video game and give you ultimate power because you found an exploitable glitch in the game mechanics is...well, that has also always happened in D&D, but it's hardly praiseworthy or in the spirit of things.
It's actually a well-known (at least in my blog circles) problem with D&D. Everyone house-rules things to such an extent that the only thing that most tables have in common is how leveling up works, and which spells they use.
Rules lawyering as a concept wasn’t invented at a D&D table, but the creation of the phrase almost certainly involved sitting at one.
That’s what separates good games and groups from each other: the collective suspension of disbelief as a shared goal. When everyone is in it for themselves, it rapidly devolves into Mary Sue wish fulfillment and power gaming, and as another deleted commenter mentioned, Calvinball. When everyone is in it together, it builds on itself and each other, and you get something like Dragonlance.
> Dragonlance is a shared universe created by the American fantasy writers Laura and Tracy Hickman, and expanded by Tracy Hickman and Margaret Weis under the direction of TSR, Inc. into a series of fantasy novels. The Hickmans conceived Dragonlance while driving in their car on the way to TSR for a job interview. Tracy Hickman met his future writing partner Margaret Weis at TSR, and they gathered a group of associates to play the Dungeons & Dragons role-playing game. The adventures during that game inspired a series of gaming modules, a series of novels, licensed products such as board games, and lead miniature figures.
RPGs facilitate group story telling, a shared experience.
Friendliness comes from shared experience - whether it is the classic "first date" of "dinner and a movie" attempting to kickstart a lifelong relationship or a simple nod between bikers as they zip past each other in opposite directions.
D&D provides a structure, making it a shared experience that everyone present can contribute to. And if the people of the group want to house rule a thing, that is a social thread right there.
To apply external pressure to try to get rid of these house rules would be to try to undo an element of the social fabric of the group.
It's not a problem. It's a strength.
The only time it's a problem, is if the social group can't decide and accept/discard a house rule. That is a social issue for the group though, not a problem with D&D.
And it kind of mirrors the many issues we as a society have with law-as-written and laws-as-intended.
I disagree. I have played since red box, played all the versions including 4th, I play 5th ed a lot.
For 5e..
1st campaign, no houserules, 3 years run time including transition to online during covid
2nd campaign, no houserules, just a bit of re-skin warforged are necrons, right? etc in person
3rd campaign, added legacy items inperson, different group concurrent with campaign
4th campaign, some house rules on spellcasting (provokes attacks of opportunity etc), accelerated progression till 9th level, expand legacies to things other than items
Play Pirateborg, Starwars or Dark Heresy etc, don't play a 2nd campaign, no house rules. You just live with the short comings of the system, you won't be there for long.
That said, I ran a 10 year rolemaster campaign, so maybe I'm an outlier. But people who read the books and don't play a heap, seem to have a lot of strong opinions. "City X is a terrible place to live- says some tourist who has transited in airport".
I would have thought that if the rules were the issue the "house rule" fixes would be similar if not the same. But the comment I replied to suggested everyone was doing different things to the point where only some of the rules were the same.
Admittedly, I haven't done D&D5th. Too busy to do anything for a while, but even then, last I did were other RPGs.
Problem 1 is that D&D is the most popular and well known TTRPG, so people who are otherwise not curious about roleplaying games might still wind up playing D&D. They might not even realize there are other similar but different roleplaying games to even play!
Problem 2 follows from problem 1. Because D&D is seen as the 'default', many people try to make it be the one-size-fits-all game. It is actually really bad at this, because it has it's roots in a very specific type of tabletop wargame that is still visible in its DNA even today
So very often you find people who would probably prefer a more roleplaying focused game, playing D&D instead. And despite Wizards of the Coasts best efforts, D&D still plays better as a dungeon crawling wargame style game than a pure roleplaying game
My evidence of this is the insane popularity of Baldur's Gate 3, mostly because it had a lot of deep dialogue trees, not so much because it's a good tactical combat game (even though it is pretty good at that)
That's how D&D goes, player comes up with the plan, tries to argue what they think the rules say should happen and tries to convince the DM if they disagree. DM gets ultimate say but it's still a collaborative process at it's core.
TFA is actually the first time I've seen the peasant railgun interpretation that actually causes damage. Other conversations I've seen all concluded it wouldn't do any damage, which made it even funnier depending on your point of view.
Two of my favorite bits of D&D (3.5) logic:
* Mounting a horse is a free action. Therefore, much like the peasant railgun, you could set up saddle highways: a post every five feet, with a saddle on top. Then, you mount and dismount between cities as one gigantic free action, allowing instantaneous travel.
* Per the rules governing object visibility at distance, the moon was invisible.
* Arguably, once you started drowning, you could not stop drowning, even if removed from water.
1. D&D mechanics, like all games, are a simplification of the real world using primitives like "firing a bow" and "passing an item" and "downing a potion"
2. The real world is fractaly deep and uses primitives like "plank length" and "quark spin"
3. Therefore there will always be places where the real world and the simplification don't line up. Finding those gaps might be a fun meme, but it's not an exploit. We play with the simplification's primitives, not the real-world physics'.
My approach is that there is a tension between three things:
1. The "combat simulator" built into the rules. I run this according to the spirit of the rules, so that players' investments in classes and feats pays off as expected. Otherwise my players feel cheated.
2. The simulation of the world. This is important because it makes the world feel real and believable (and because as DM, I get many of my plot ideas by "simulating" consequences).
3. The story. The campaign should ideally tell a story. Sometimes this means involving what I think of as "the Rule of Cool (But It's Only Cool the First Time)."
The "peasant railgun", unfortunately, fails all three tests. It isn't really part of the intended combat rules. It doesn't make sense when simulating the world. And it probably doesn't fit into the campaign's narrative because it's too weird.
On the other hand, if a player proposes something really cool that fits into the logic of the world, and that also fits into the story, then I'll look for ways to make it happen.
Let's say the PCs find 200 peasant archers, and set them up on a high hill, and have them all rain down arrows on a single target. That seems like it ought to work, plus it's a great story about bringing the villagers together to save the day. So in this case, I'll happily handwave a bunch of rules, and declare "rain of arrows" to be a stupidly powerful AoE.
But different tables like different things, so this isn't one-size-fits-all advice!
Enough peasants should be devastating, right? Get a couple thousand and at least some will crit per round. Rolling it might be hard. Against a sufficiently armored enemy, might make more sense to just do “expected number of crits per round” or something…
To me this is one of the better things about combat in Dwarf Fortress and one of my least favorite things about most rule sets. It doesn't matter how "high level" you are; outside of specific edge cases a ridiculous number of opponents all landing hits simultaneously ought to do anyone in. Unfortunately most rule sets seem to stop at "lol high AC" with little to no nuance.
Considering a crit always hits in a lot of systems, I don't see how a swarm of weak enemies couldn't overwhelm high level players given enough numbers.
I'm going to be that guy - because I love being that guy, and I won't apologize for it - and point out that we're not even sure if those are primitives!
Haha, yeah, I, I was considering putting some disclaimers around those. "What actually are the true, base-level primitives of physics?" has been an ongoing project for centuries. :)
> The rules do not say that passed items retain their velocity when passed from creature to creature. The object would have the same velocity on the final "pass" as it did on the first one.
Since this wooden rod travels several miles in a 6 second time frame - traveling more than 500M/s on average - don't we have to assume it accumulates?
Falling damage is the mechanism that makes the most sense to shoehorn in there. Using an improvised weapon on a rod already traveling more than 500M/s seems even more clumsy, as well as calculating the damage more wibbly-wobbly.
There's also the rule of cool. If it makes the story better/ more enjoyable: have at it.
The problem with this interpretation is that it relies on hyper-literal RAW when it's convenient and physics when it's convenient. If you apply the rules of physics to the wooden rod, then the answer is simple: the peasant railgun cannot make the rod travel several miles in 6 seconds. If you apply D&D RAW, the rod can travel infinitely far, but does not have momentum and doesn't do anything when it reaches its destination. You only get the silly result when you apply RAW to one part of it and ignore it for another part.
Yep. And if we apply hyper-literal RAW rules, then gravity also doesn't accelerate items, it simply sets their velocity to some arbitrary degree. None of the falling rules I've seen have ever mentioned acceleration, only fall speed.
(Actually, it looks like it's Sage Advice, technically?)
Arguably higher fall damage from higher heights models acceleration. If there were no acceleration then fall damage would be the same regardless of the distance you fell.
But if we’re (incorrectly) interpreting the RAW as the laws of physics, then the fall damage isn’t modeling some underlying law of physics. It just is the law, there isn’t some underlying physical property called “acceleration” to talk about.
If we were trying to create a real-time simulation system, then YES you are totally correct. However, many table-top RPGs rules only make sense in the context of adjudicating atomic actions (such as one creature passing an item to another) rather than multi-part or longer running activities. Readied actions are already a bug-a-boo that break down when pushed to extremes. While not listed in the rules, it might make sense for a DM to limit the distance or number of hand-offs that the "rail" can travel in a single round to something "reasonable" based on their own fiat.
Agreed. Chaining readied actions is the real issue here. Maybe the mechanical fix is - as you say - a limit on that. I would simply say that a readied action can not be in response to a action that has itself been readied.
I think the more simple and complete solution is to limit multiple characters interactions with one object similar to the way the rules limit one character interacting with multiple objects. Note that even without readied actions, an infinite number of characters could still pass an object in the space of a round, each passing it on their turn, so long as they were arranged in space in initiative order, so limiting readied actions both doesn't solve this (and allowing readied actions to be a bypass to others readied actions opens up as much space for exploitation as it closes.)
The simple solution is just to recognize that the Ready action lets somebody attempt to do a thing, it doesn't mean they automatically succeed.
So N people can certainly declare that they all want to pass an object around, for any value of N. But if the object would need to move at supersonic speeds for them to all succeed, then obviously one of them won't succeed. (And the subsequent people won't do anything because the trigger for their Ready action didn't occur.)
> Since this wooden rod travels several miles in a 6 second time frame - traveling more than 500M/s on average - don't we have to assume it accumulates?
No, we don't.
The most recent D&D Dungeon Master's Guide actually puts a note in the book[0] for things like this: The D&D rules are not a physics engine. The D&D rules are a simple framework for creating a game world, but that's not the same thing as being a 3d game engine or a generative data model. It's a game where you're expected to resolve complex events with a single die roll. It's not Unreal Engine 5 or Autodesk Inventor or COMSOL Multiphysics.
Just like D&D's morality and ethics system (alignment) falls over and cries when you poke it with a Philosophy 101 moral quandary, the game's event resolution is not intended for you to model the Large Hadron Collider.
> Since this wooden rod travels several miles in a 6 second time frame - traveling more than 500M/s on average - don't we have to assume it accumulates?
The basic assumption here is that the rules as written beat physics and common sense. When you play that game, you have to do it rigorously. You can't say that rules trump physics one moment, and physics trump rules the next.
> There's also the rule of cool. If it makes the story better/ more enjoyable: have at it.
That does rule out the Peasant Railgun more thoroughly than any rules argument.
>>Since this wooden rod travels several miles in a 6 second time frame - traveling more than 500M/s on average - don't we have to assume it accumulates?
If we assume it does accumulate, then we also have to assume peasant #2000 couldn't possibly pass it successfully.
It's far more reasonable to assume it moves infinitely fast between peasants, but comes to a halt at each one.
Or if not infinitely fast, but we're going to assume a chain could accelerate it indefinitely, than it's still more reasonable to assume each pass happens exactly how fast it needs to for 6s/num_peasants, comes to a halt, and then moves to the next. That way all the peasants have the same, minimum, speed, Instead of some slow, other absurdly fast based on an arbitrarily assumed, linear, acceleration.
(Why not assume exponential acceleration and say after 10 passe s it hits light speed)
Would I expect a DM to accept a peasant railgun? No.
Would I love to play in a campaign where we are dungeon-crawling scientists who are investigating the theory that we are actually living in a poor simulation? Hell yeah. Just imagine your d&d university admissions departments working out that people somehow can be sorted precisely on a scale of -5 to +5 in terms of natural competency for any skill…
It was abandoned partway through a second "series", but it's still out there: Harry Potter and the Natural 20. Fanfic, obviously, but a very amusing take on how you could theoretically break D&D by applying Potterworld physics (or vice versa).
The peasant railgun was a footnote to one of the early chapters. Author specified that he would never, ever allow most of the munchkin tricks he wrote about in a game that he DM'd, but since crazy munchkin tricks are the source of a lot of the humor in the writing, he left them in the fiction.
There is no way the rules for gun could be used to carry five people at seventy miles per hour. For one thing, the idea that a, "piston rod" could somehow catch the bullet without being damaged is preposterous, not to mention the idea that it could turn some kind of "crank shaft." How fast do you think this, "flywheel" would have to be moving? While I admit that we've used the fact that some low-velocity bullets can't penetrate thick plates of steel armor in the past, the idea that the rotation of the armor could push a second bullet back in to the barrel of a gun that had just been fired is beyond reason. No, I do not want to hear about how you've put the mechanism from the flour mill we fought in last session into a metal box and filled it with oil. Roll for initiative.
Player creativity should be rewarded. I'd let them use it once, but if they try it more than that, the bad guys hear about it and suddenly they'll look at the wrong end of a bunch of those railguns.
This; applying the falling object rule makes no sense. But we can compare it to a falling object that has attained the same velocity - this will have fallen (under Earth gravity) 48k feet, or the equivalent of 800d6 damage.
For what it's worth: having seen that someone else suspected ChatGPT usage, and reading it again, I can understand what sorts of heuristics it might have tripped. But on overall intuition, I didn't get that impression on a first read.
If LLMs had the necessary theory of mind to model context well enough to write the comment in question the world would be a very different place. Writing style and fitting in to the context are entirely different things.
LLM responses tend to give me the vibe of a disengaged office worker who isn't emotionally present and lacks a proper mental model of the topic. It's been shocking to me to witness how frequently people around me IRL fail to notice such writing.
> Writing style and fitting in to the context are entirely different things.
Absolutely — which goes a long way towards how I make the judgment myself, now that you say it. Although it's still hard to be precise about.
(One positive impact that LLMs indirectly had on my life is that they motivated me to look up ways to type em-dashes more easily. I now have my caps lock key mapped as a compose key, and a custom compose-key mapping for it.)
> It's been shocking to me to witness how frequently people around me IRL fail to notice such writing.
To notice, they'd have to themselves be engaged, I suppose. Or at least have some idea about the subject matter.
I started using this pattern years ago and haven't looked back. React components are defined using a single properties param and it feels natural to extend the practice to other methods and helper functions that I write.
One nice unexpected side effect is that I end up with more consistency in variable naming when using a param object in order to benefit from object definition shortcuts.
What bothers me a lot is that return values can't have a name. Suppose I have a function
string combineName(string first, string last);
Okay, I assume the result is the full name, but I don't really know that like I would if the return had a name in the header. (The function can be getFullName, yes, but that's so simple it doesn't matter).
you can do this rather easily by returning an object rather than a primitive. if you're using a language like TypeScript, destructuring the resulting returned object is rather trivial and (in my opinion) delightful to read.
eg
Neither really addresses the issue. Making a type for a single kind of string seems like an abuse of types just to shoehorn the documentation in. Documentation can be used directly of course, but that moots all of this -- just document? Yeah, but naming the variable is super quick compared to either.
Variable names is just documentation. Having types that can assert some condition on the underlying value is not even comparable to "having a named return variable". (just document? just name variables?) You don't care about what the name of the returned value is, you care about what *it is*.
I fail to see the distinction, for documentation purposes, of this versus just giving it that `getFullName` function name.
A more complex example will probably return a more complex type that is more self-documenting. If the type is a single scalar value then I don't see the value of adding another name here.
It works fine when your function takes a single primary argument—like `getLastWord(word: string, options?: TGetLastWordOptions): string | undefined`. The function name makes the purpose clear, and with just one main argument, it’s easy to follow. Sure, you're still "guessing" what the first parameter is but it’s not a heavy mental lift. You could argue that as long as you're consistent, using positional arguments in binary functions is fine–the pattern is clear and predictable.
But in the example from the OP, there isn’t really a primary argument. You're dealing with multiple values that carry equal weight, which makes positional arguments harder to reason about at a glance.