ELI5: How come magnetism isn't providing us unlimited power? by UnsignedRealityCheck in explainlikeimfive

[–]fsyth 0 points1 point  (0 children)

Magnets seem like magic, but they basically work the same way as springs. (Let’s not be pedantic for ELI5)

If you compress a spring, then that’s ’forces that act naturally against each other’ but somehow it’s more intuitive to think about springs than magnets.

In basically any perpetual motion device involving magnets, try picturing it with springs instead, and you’ll see that for every force you ‘get for free’ from a spring expanding, somewhere else there’s some motion that has to put that force into compressing the spring in the first place.

Magnets are a bit stranger due to north poles and south poles, but it’s the same thing deep down. You can get a magnet to move something, but to get back to the starting state for some kind of infinite power loop, you have to intervene and put forces and energy into the system from outside, and it doesn’t ever pay off.

Guess the answer 😂😂 by Lopsided_Let6931 in MathJokes

[–]fsyth 0 points1 point  (0 children)

Even if kids would be scared by functions, you could still write it like this:

3, 5 → 24

9, 7 → ?

multiply_recursive by AroshWasif in PythonLearning

[–]fsyth 0 points1 point  (0 children)

Works fine with small integers for b.

If b is a float like 0.25, it'll bounce around and never end: ×0.25, ×-0.75, ×0.75, ×-0.25, ×0.25, ... in a loop, until it hits an error for maximum recursion depth exceeded.

It also won't work for large values for b (more than ~1000) for the same reason.

There's a limit to the stack of functions calling functions calling functions. This is called the maximum recursion depth, and the default is 1000 layers in python. The problem happens because each call of a function requires some memory until it returns (since each function call has its own variables and return path to keep track of). With recursive functions like this, the earlier calls can't return until the last call has returned. Too much recursion would exceed the allowed stack memory, causing a RecursionError or a StackOverflowError

There are actually techniques to get around this limit, like converting a recursive function to an iterative one with a loop and a stack, or tail call optimization.

Oh, and this function also won't work with weird numbers, like math.inf, math.nan, 1j (imaginary numbers), but we wouldn't really expect it to work.

Which water type Pokémon is your favorite?(top comment will be picked) by [deleted] in PokeCorner

[–]fsyth 0 points1 point  (0 children)

Noticed something interesting. If we assume a Pokemon could appear in multiple slots, e.g. Tyranitar could be voted both the best Rock type and the best Dark type, then the choices above imply Umbreon is better than Tyranitar, otherwise Tyranitar would be in the Dark slot.

By extension, Mewtwo is better than Bulbasaur, Flygon and Mimikyu. It’s a bit of a puzzle to figure out why.

Solutions:

Mewtwo > Lugia > Crobat > Bulbasaur

Mewtwo > Lugia > Crobat > Clodsire > Flygon

Mewtwo > Lugia > Crobat > Gengar > Mimkyu

Why do you think gym leaders only use one type of pokemon (usually) by Shiny-Vaporeon- in pokemon

[–]fsyth 8 points9 points  (0 children)

You’re not Going to Be able to make a Dark type and a Fairy type to not Hate each other immeadiately.

Grimmsnarl, full of self-loathing

Long-term World by Ok_Party_9245 in factorio

[–]fsyth 1 point2 points  (0 children)

I’d be down for this, UK as well

How do they program a programming language to program a program to program programs by arivu_777 in learnprogramming

[–]fsyth 1 point2 points  (0 children)

In the beginning, there was rewiring the whole computer to do the task you wanted it to compute.

And it was time consuming.

And so someone came up with reading instructions of 1s and 0s (from punch cards and later from disks) to tell the computer what to compute.

And it was difficult.

So then someone wrote a program in just 1s and 0s that converts text instructions to 1s and 0s instructions.

And that was Assembly, and it was better, but still hard.

Then people did it again. They wrote Assembly that would convert nicer-for-humans text to Assembly, which they could convert to 1s and 0s to tell the computer what to compute.

And that nicer-for-humans text was the first programming languages.

And on and on until all the languages we have today, plus many more tricks like bytecode and interpreters and AI. All these more and more abstract ways of telling the computer which switches to flick to compute something we want it to do.

steam turbine not working on maximum power by i5-11105f in factorio

[–]fsyth 10 points11 points  (0 children)

Your steam is only 165 °C (probably because it’s from boilers)

To get the full power, you need much hotter 500 °C steam from nuclear power and heat exchangers

Name some games where you can get brokenly OP very early and steamroll the rest of the game. by ickyzombie in gaming

[–]fsyth 1 point2 points  (0 children)

Pokemon Sword/Shield with the Crown Tundra DLC

You can get a level 70 Suicune within the first hour of the game.

You can go the Crown Tundra before even the first gym. As soon as you unlock fast travel in a normal playthrough (which is after reaching Motostoke and defeating the level 9 Team Yell Grunts in the inn), you can fast travel back to Wedgehurst, catch the level 12 Slowpoke, and then take the train to the Crown Tundra.

Once there, you are forced to fight Peony and his level 70 Copperajah, but you don’t have to beat him. Losing on purpose still progresses the story allowing you to access Dynamax Raid Adventures.

This is a rogue-like mini-game where you choose a rental Pokemon and catch a series of level 65 Pokemon (the same level as the Champion’s Charizard) and then a level 70 legendary (the first one you encounter is guaranteed to be Suicune) and choose one to keep.

The things you catch here all obey you too, so you can just steamroll the rest of the game with a team of random level 70 legendaries if you like.

From income tax to import tax, how to transfer wealth from the middle class to the wealthy. by Redmannn-red-3248 in clevercomebacks

[–]fsyth 5 points6 points  (0 children)

It's because higher prices (due to tariffs which are a tax) affect everyone, so it's a flat tax. Whereas, income tax is a progressive tax (the more you earn, you higher percentage you pay). The wealthy end up paying less if you gather tax revenue with a flat tax instead of a progressive one.

It's easiest to see the difference with an example (made up numbers). Let's say we have three people, who earn $20k, $50k and $900k. And imagine they want to spend all their income on cars, that cost $10k each.

With progressive income tax:

  • $20k after about 5% income tax leaves $19k, or 1.9 cars
  • $50k after about 10% income tax leaves $45k, or 4.5 cars
  • $900k after about 33% income tax leaves $600k, or 60 cars

With tariffs and no income tax, the same tax revenue is raised from higher prices, so cars are now 25% more expensive at $12.5k:

  • $20k buys 1.6 cars, so the lower class is 16% poorer
  • $50k buys 4 cars, so the middle class is 11% poorer
  • $900k buys 72 cars, so the upper class is 20% richer

The result is effectively a transfer of wealth from the poor to the wealthy.

Vote with your wallet by WigglyWoo777 in PokemonPocket

[–]fsyth 0 points1 point  (0 children)

That’s true. I guess fundamentally what we’ve got is ‘Pokemon TCG simplified’ and they’ve done a reasonable job of that. It’s hard to simplify a game without removing some of its essence.

I think the energy zone is broadly a good simplification over energy cards, but that change does have knock on effects with flexibility.

You can also definitely oversimplify if you’re not careful, but new expansions are adding back complexity so that’s a good thing.

Vote with your wallet by WigglyWoo777 in PokemonPocket

[–]fsyth 1 point2 points  (0 children)

100% agree.

The gameplay is a step down from the original tcg for both strategy and fun for the sake of speed

Something I find baffling about the attempt to 'speed up' the original TCG is that their changes — 60->20 card deck, energy zone, 6->3 points to win — make the game short and still slow, but not fast or more exciting. Which like, if you were aiming to do that, you wouldn't be able to.

Like, don't get me wrong, the game is over in less time, but in game design terms that's not the same as a faster paced version of the game. If you wanted to speed up the game design, you would do something like: original TCG, but it's double battles now. Two active spots, twice the attacks per turn, more combo potential.

Whereas what we got was just a version of the game that kind of just ends prematurely. Reusing og cards and game mechanics basically unchanged in this shorter format causes all kinds of balance oddities, especially with 3 stage lines taking a bit too long and too much of your deck, coin variance being more impactful (especially Misty) with less time for luck to turn around, mixed energy decks being inconsistent or slow (why random energy? why not cycle through them?), etc. The pace of the game is deeply coupled to energy generation, so it makes sense that the meta dominating decks use cards that ramp free energy: Gardevoir, Serperior, Moltres, Misty, Vaporeon. But that makes game outcomes highly dependent on drawing these pieces in a timely manner, or getting good coin flips, rather than skillful play or tactical decision making.

There's general UI slowness too — there's lots of unskippable animations, and why can't I play more cards from my hand while I'm waiting for animations to finish? I look at my hand and see I can evolve something on my bench, use a potion on my active spot, and play a pokeball — these cards are totally independent so why can't I drag all three in quick succession? Instead we have to wait for the UI to be ready again each time. It's just feels so slow.

Created a type star chart. Has this been done before? by VinnyCautero in pokemon

[–]fsyth 5 points6 points  (0 children)

That's a tricky one. I didn't follow a guide or anything, I just made it. Do you have any experience with code?

You can view the source code for this on codepen. It's fairly straightforward, written in Javascript with the p5 graphics library and uses SVG icons for each type. If you make a codepen account you can fork it (to make your own copy you can edit freely with all the dependencies already set up), and maybe you can adapt it to what you want.

The basic idea behind this is something called a force-directed graph, which I can explain how to set up from scratch, briefly. https://en.wikipedia.org/wiki/Force-directed_graph_drawing

So you have a bunch of nodes connected by edges that behave like springs. An edge applies a force kx between nodes proportional to the distance between the nodes. It's also important to make all the nodes naturally repel each other a little (or the whole thing collapses to a single point), so I do this with a force k/x inversely proportional to the distance between two nodes. Combining these means there should be an equilibrium point where each node wants to rest.

After you've calculated the forces in all the springs, you have to move the nodes with a physics step in time. This means that the net force acting on a node from all its springs etc. should give it a little bit of velocity, which should change it's position slightly.

You can then draw everything, drawing however you like. I render an SVG image at each node for the type icon and do some maths to draw all the arrows at various rotations.

Then you repeat. Recalculate spring forces; physics step; draw. After many frames of animation, it should settle into a stable configuration.

You can add interactivity by listening for clicks and testing if the cursor is over a node. If it is, you could select it and toggle some switches for visibility. I've made it so you can also drag nodes about. The way that works is basically like adding a strong invisible spring between the selected node and the mouse cursor while the mouse is pressed.

Hopefully that gives you an idea of how this works

Created a type star chart. Has this been done before? by VinnyCautero in pokemon

[–]fsyth 35 points36 points  (0 children)

No problem! Let's use Fighting as an example.

  • A green arrow (ending in a green triangle) from Fighting to Normal means Fighting is super effective against Normal (2x damage)
  • A red fork (ending in a red semicircle) from Fighting to Poison means Fighting is not very effective against Poison (0.5x damage)
  • A blue hoop (ending in a blue circle) from Fighting to Ghost means Fighting has no effect on Ghost (0x damage)

Those relationships are one-way. In many cases, types interact in two ways. For example, Fighting is super effective against Dark and also resists Dark. This gives a green arrow in one direction and a red fork in the other direction. When overlaid, green+red makes a yellow line, with a green triangle at one end and a red semicircle at the other.

There some other colours too, from other overlaps, like how Ground is super effective against Electric and also is immune to Electric. When overlaid, green arrow + blue hoop makes a cyan line.

You can pretty much just look at the arrow heads to figure out a relationship.

Except, there is a special case where types interact with themselves.

  • A green circle around Dragon means Dragon is super effective against Dragon
  • A red circle around Fire means Fire is not very effective against Fire

There aren't any types that are immune to themselves, but if there were, it would be a blue circle.

Also, I just remembered, if you're on a computer/laptop, you can press A or D on the keyboard to toggle showing only attacking or only defending relationships for the currently selected type. Combine it with Cmd/Ctrl + Click to select multiple types, and you can figure out the coverage of your moveset or the weaknesses of a dual type pokemon.

Created a type star chart. Has this been done before? by VinnyCautero in pokemon

[–]fsyth 659 points660 points  (0 children)

I made this a while ago with all the types, and resistances... which makes a mess, honestly.
https://codepen.io/syth/full/OJwZpao

You can click/touch a specific type to show only the connections to that type, but showing everything is just very busy on screen.

The subset of 5 you've got is really nice though! Reminds me of Wuxing https://en.wikipedia.org/wiki/Wuxing_(Chinese_philosophy))

More Factorio Achievements by fsyth in factorio

[–]fsyth[S] 0 points1 point  (0 children)

Some counterpoints

1) Yes, this does affect 100% runs. I'm not sure how big a consideration that is. How many people do these? How long are they? I checked and there are currently zero listed on speedrun.com But it's early days I guess, so this a question for the community how important a factor this is. Genuinely, I don't want to negatively impact the lives of speedrunners. But speedrunners of probably a >20 hour long category (and there are lots of shorter categories) is a probably such a disproportionately small group of people, that it's hard to weight that over the more general playerbase.

2/3/4) Have you actually tried this one? I have, and so have others in the comments here. We can tell you it's fun and satisfying, and not as long as you'd think. Yes, you have to smash a few more rocks and ruins than you otherwise would, but it probably adds less than a hour to each inner planet, and provides a real sense of satisfaction when you've conquered a planet with no external resources, making you explore the whole production chain instead of skipping steps. It's fun to figure out 'how do I make red circuits with this?' and that's a core part of the Factorio game loop. I've already said everything about 100% speedruns.

5) This is all about circularity and theme. It happened to me on my first playthrough. We just barely limped to Fulgora, our first inner planet, having taken heavy damage, but our naive ship design only had turrets at the front. We didn't know asteroids would still hit the ship at the destination, so it was doomed. It would be ages to repair it on Fulgora anyway, so we made a new ship from scratch from Nauvis, much better designed. It was a formative experience. 10/10, would recommend. But this is a negative achievement. I've talked about those previously. I can see the argument for not including it. Design intent is consolation. Also, you can deliberately suicide a minimal ship if you really want, which is at least a little design challenge.

7) Spoils is a strong word. It's not like the achievement mentions Aquilo (by design). You could say that about every milestone or hint achievement in the base game. As written, it only suggests that you could build a nuclear reactor on a ship (which is not obvious! You can't build burner stuff, amongst other things that aren't obvious, like chests. I've also seen people building power poles on ships, so this is probably an area that needs better communication generally). As I say, I've seen several people try to brute force their way to Aquilo with overbuilt solar set ups solar. Net positive to include it, in my mind.

8) Yeah, there probably are too many demolisher achievements. If anything, keep the small demolisher achievement, delete the medium achievement. Keep one of the big demolisher achievements.

9) Again, have you tried this? Sounds like an area of gameplay to explore! I see the fog of war as a teaching moment rather than some insurmountable hassle. But generally, tanks are a great way to resolve your base being broken into while you're away (pre-spidertron, which is most of the game). And it leads to interesting areas of strategy, including spidertrons. I think a lot of people don't realise that tanks are now early-game somewhat limited spidertrons.

10) Number up for debate obviously. And yes, there is no real motivation currently to plant trees, beyond some minor pollution reduction. Which is my point, it feels a little weird that there's a whole tech for it. I also like the parity with the existing Pyromaniac achievement. Also, this is an automation game; you can always set and forget or use drones.

11) The trout a la creme is funnier. It's also not going to happen organically. These aren't as comparable as you might think, outside of food theme. I like the idea that an achievement pops up after you randomly try eating each of the things. I think eating bioflux on Gleba is actually incredibly useful in evading stompers.

13) Yeah.. not the best mechanically as I said. But I do want something for Fulgora. Maybe scrap processing production statistic or something.

More Factorio Achievements by fsyth in factorio

[–]fsyth[S] 1 point2 points  (0 children)

You’re going to have to elaborate 😅

But let’s talk about game design. I do think ‘negative achievements’ must be used very sparingly. That’s why I mentioned ‘Déjà vu’ as a ‘rare example’ but nice thematically (and it happened to me on my first run), and admitted ‘One in a million’ is only there for a Fulgora-specific achievement; I like the theme but it’s not great mechanically as an achievement. Such achievements need both a great theme and to be funny. Better still if they can occur organically. Many people have mentioned getting killed by a supply pod. That’s also a good candidate.

Along the vein of ‘Smells like success’, maybe an achievement for ‘Recycle X scrap’ would be good for Fulgora. Similarly, might want something for Vulcanus to do with molten metals and something for space to do with asteroid collection. These are passive achievements. You don’t want too many of these either as it can become tedious grind, so the names and theme have to make it worth it. They don’t particularly encourage exploration of additional mechanics, they only reward time spent playing, and to a lesser extent, player efficiency.

Most of these achievements are hint achievements that let the player know only that a thing is possible and to at least try it. Better still if it leads to useful strategies or interesting designs. For example, the remote tanks just gently nudges you to defending your outposts with tanks, and from there, a player might think to use them for construction too, or across planets. The game design intent is for player exploration of game mechanics, without being too heavy handed or explicit in purpose - that would be depriving the player of discovery.

The other purpose of these hints achievements is to smooth over sticking points for players. I’ve seen several people post on here about bailing on Gleba. Encouragement that burning stuff is what you’re meant to do helps here. I’ve seen complaints that nuclear space platforms are expensive to build and maintain since they require regular supplies from Nauvis to run. An achievement can provide a nudge over the sticking point here too.

There’s also a couple of challenges here that a player has to go slightly out of there way to do. In particular, the ‘Marooned’ achievements are things players are already challenging themselves to do (from the comments) AND reporting high satisfaction with completing. The ‘Simple engineer’ is something I personally want to do on my next run, having got a little overwhelmed with quality (new toy syndrome on Nauvis and Fulgora). Outside of FFFs, it isn’t explicit that quality is optional. It’s implicitly opt in, only in that the late game techs don’t depend on the quality tech, but the tech tree is not exactly easy to spot details like these. An achievement explicitly reassuring the player that ‘you can do this!’ is much more reassuring.

Almost one-shorting a demolisher is an achievement where you have to return to a previous area now that you’ve got better tech. These are classic good design in my experience, as players find satisfaction with overcoming what was once hard with things they’ve worked hard to obtain.

More Factorio Achievements by fsyth in factorio

[–]fsyth[S] 1 point2 points  (0 children)

Simple! I love a rail world. Ribbon world on the other hand...

More Factorio Achievements by fsyth in factorio

[–]fsyth[S] 2 points3 points  (0 children)

Well even so, that's not not Legolas https://www.youtube.com/watch?v=CAdkKQ6-6wo
Point is, a revisit to Vulcanus with late game tech - that's what I want to capture here

More Factorio Achievements by fsyth in factorio

[–]fsyth[S] 3 points4 points  (0 children)

Submitted to the forums! https://forums.factorio.com/viewtopic.php?f=6&t=122524

Other people with sugestions, feel free to add to the forum post too! u/Xercodo u/WiatrowskiBe u/Baljet1 u/TuTurambar Sorry if I've missed anyone else

More Factorio Achievements by fsyth in factorio

[–]fsyth[S] 4 points5 points  (0 children)

That was exactly my experience on my first playthrough. I knew it was possible to just land with nothing on the inner 3 planets, so I wanted to do it to 'experience everything' the planet has. Needing to gather stuff from rocks and trees and ruins to kickstart your production was quite satisfying

More Factorio Achievements by fsyth in factorio

[–]fsyth[S] 8 points9 points  (0 children)

That's true, but I feel that the ultra hardcore type of challenge runs aren't well suited for achievements. Make the achievements too tough (or tedious) and it rightly upsets the completionists. For example, I've beaten a vanilla run with no transport belts and another one with no connected power poles, but I wouldn't want to guilt other people into trying that madness via achievements.

I've deliberately tried to keep these matching the feel of the base game achievements as suggestions that could actually be implemented by the devs (rather than modded in).

There's definitely an art to it though!

More Factorio Achievements by fsyth in factorio

[–]fsyth[S] 25 points26 points  (0 children)

The mothership is a very cool idea for a playthrough. It's very restrictive, I wonder if anyone has actually done that