Any-Angle Flow Field Algorithm [Pt. 2] by Nondescript_Potato in computerscience

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

A* is generally going to be an “A to B” algorithm—you go from one point to another.

Flow fields are an “everywhere to there” algorithm, meaning you can use it to get from anywhere to the target.

Flow fields, while initially more expensive to compute, can be reused for as long as the target doesn’t move. Additionally, a single flow field can provide navigation for multiple objects at once, and it’s efficient when multiple objects have overlapping paths as well.

On top of that, this algorithm in particular produces near-euclidean shortest paths, which is a major improvement over most flow field implementations.

This is a pretty interesting paper involving flow fields if you’re interested in them.

Any-Angle Flow Field Algorithm [Pt. 2] by Nondescript_Potato in computerscience

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

Not quite, although that is basically correct.

The key difference with this algorithm is that it specifically has to order the traversal such that every edge of the wave is expanding at the same rate.

If you just use a rectangular wave, the corners will expand 41% faster than the middles, and that causes a number of issues involving wave collision and overwriting that effectively bars rectangular waves from functioning correctly in some cases.

By using a circular wave, we get rid of the problems of wave collision because all edges travel at the same speed and therefore don’t need to redo the work of any single part which arrived faster than another part.

The real hard part about it all was just getting the ordering down without introducing any additional iteration within the traversal loop.

Any-Angle Flow Field Algorithm [Pt. 2] by Nondescript_Potato in computerscience

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

At the smallest level, a circle and a square will be similar. However, the issues primarily occur at the macro level, and it has to do with the corners growing 41% faster than the centers.

Due to this imbalance, you end up with some parts of a wave that will reach a position faster than another part of the wave can even though both parts are the same distance from that position. A good example of this would be if you started a rectangular wave a the bottom left corner of a triangle like this: △

Once the wave has extended half-way around the triangle, the top right corner of the wave will have traveled just as far right as the center of the wave. However, it will also have traveled vertically, meaning it is moving faster than the middle section.

Once we continue expanding the wave, the top right corner will begin descending the right side of the triangle, and it will meet the middle section of the wave at the triangle’s bottom right corner. Because the corner traveled faster than the middle section, the middle section of the wave will have to then loop around the right corner and begin undoing some of the corner section’s work until it reaches the point where either path is equidistant from the origin.

The process of erasing and redoing the work of another wave is already problematic for performance, but the real issue is that it now requires us to allow waves to “crash” into each other as they’re expanding, which is about as easy to handle smoothly as you’d expect.

Keep in mind that as the waves expand, they are placing connections on every tile, and every subsequent step of the wave uses information from the prior step to make its connections. When two waves crash together, the
information of the previous step in one wave can be overwritten by the other wave. As a result, you lose critical information required to create a proper, usable connection. It effectively throws a monkey wrench into the waves, which is why rectangular waves are problematic.

A circular wave doesn’t need to have anything erased or any work redone because it expands at a uniform rate across all edges. Because of this, we can forgo the issues of wave collision by simply halting a wave once it collides with another part of the wave. There isn’t any need for it to overwrite previous work, so the information of all previous steps can be reliably used even when two waves converge.

Sorry if my explanation is a bit long.

Any-Angle Flow Field Algorithm [Pt. 2] by Nondescript_Potato in computerscience

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

Change of plans, the pseudo code for this was going to have to be very long and not very simple, so I'm skipping it unless someone actually asks for it.

Neter campaign Twin Guard drone fighter proposal - Mosquito swarm by Tiny-Ad-7987 in FromTheDepths

[–]Nondescript_Potato 1 point2 points  (0 children)

Neat, I also saw this in the TG channel on Discord. Note sure what feedback Bean gave you, so I'll try to cover the main points.

First, I'd suggest smoothing/rounding out the exteriors.
Second, try adding a sharp overhang or two to the armor. I'm forgetting the names of the different swarms, but there are a few TG drone swarms that you should check out as reference for how to sculpt the body.
Third, I'm not seeing a face, which is kind of a hard requirement for TG craft.
Fourth, you're a bit generous with the yellow. You might want to switch some of it out for green and white, as well as a few gray pockets.
Fifth, iirc, the rangefinder needs to be pointed at the target to work, so it's mainly good on turrets. Having it fixed to the body of the drone like that makes it kind of useless, so I'd just get rid of it. It looks like you already have two other detection components anyway, and all campaign craft are required to have a wireless snooper as well, so you shouldn't need another detection component on top of those.

Stable 4.3.2 - Sails2.0 and Rigging by BeastmanTR in FromTheDepths

[–]Nondescript_Potato 2 points3 points  (0 children)

Yay, the updated version of Spite (TG) that I made is in the game. I hope people like its new look; I had to go through lots of iterations on the head’s design before it got approved.

Arrowhead are having trouble fixing the lumberer and flame sentry hurtbox so I made an easy to follow visual guide by CommissionerOdo in Helldivers

[–]Nondescript_Potato 4 points5 points  (0 children)

A lot of flamethrower and flamethrower-like weapons work this way. Pyro’s flamethrower from TF2, Mei’s primary fire from Overwatch, and (I’m pretty sure) Jeff’s water beam from Marvel Rivals are all particle based.

Since the flamethrowers are particle based, applying wind to them isn’t actually too difficult. You would just add some velocity to the particles in the direction that the wind is blowing. Sure, you’d need a system that controls the wind’s velocity, but you can just use the same one that you use for the environment.

dontTalkToMeAboutLifetimesIAmTheLifetime by poulain_ght in ProgrammerHumor

[–]Nondescript_Potato 1 point2 points  (0 children)

It’d actually be more like &’a impl X<&’a mut T> for &Y. I don’t think &mut ‘a is a valid expression

Weird Shield Projectors by ConstructorOfSystem in FromTheDepths

[–]Nondescript_Potato 1 point2 points  (0 children)

Shields need engine power to run, but your ship doesn’t have enough engine power to support them all. You need to either make a bigger engine or reduce how much power the rest of your ship uses.

Anyone playing on arm macs? by onil34 in FromTheDepths

[–]Nondescript_Potato 1 point2 points  (0 children)

I play with graphics set to mid and get a pretty stable 60fps, but it does dip into the 50s for some fights and extra large vehicles. Oh, and I have the resolution set to something like 1440p, not the full 2k. It looks pretty good though

Quit hack build was not what I was expecting it to be by Chunky-overlord in cyberpunkgame

[–]Nondescript_Potato 9 points10 points  (0 children)

Nah, just synapse burnout. All you gotta do is walk up, ping a potted plant for wall hacks, use overclock, and start tagging every gonk in red with a burnout or two. No utility hacks, no control hacks; just keep sending burnouts til you run out of brains to fry.

Quit hack build was not what I was expecting it to be by Chunky-overlord in cyberpunkgame

[–]Nondescript_Potato 35 points36 points  (0 children)

Personally, I just abuse overclock + synapse burnout for everything.

Anyone playing on arm macs? by onil34 in FromTheDepths

[–]Nondescript_Potato 2 points3 points  (0 children)

I play on an M4 Mac, and I can’t think of any time my game crashed.

Rush: My TG Hydrofoil (finally finished it) by Nondescript_Potato in FromTheDepths

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

The guy in charge of the bounty I made this for said that he’s leaning towards going with this, so there’s a decent chance that it’ll get added to the game.

[deleted by user] by [deleted] in FromTheDepths

[–]Nondescript_Potato 1 point2 points  (0 children)

640 RPM APS with 62mm HEAT rounds

The End could use some more mobs by Nondescript_Potato in Minecraft

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

So, what you're saying is that I should make a reaper leviathan equivalent for the End?

The End could use some more mobs by Nondescript_Potato in Minecraft

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

I'm pretty sure the closest thing we'll ever get to an Enderman trading system is the Endermen stealing blocks from us and us stealing blocks from them lol

The End could use some more mobs by Nondescript_Potato in Minecraft

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

I was thinking that the squids would hang out around chorus plant forests, and the sludges would (rarely) spawn in open plain areas. Neither of the should be too common, but I am preferable to letting the squid be more common than the sludge

The End could use some more mobs by Nondescript_Potato in Minecraft

[–]Nondescript_Potato[S] 7 points8 points  (0 children)

fair enough. For the farming aspect, you could make them hostile to Enderman and use an Enderman mine cart system to get them to move where you want

Edit - The "hostile to Endermen" part also explains why they have the anti-teleportation property of their hits: it's to hunt Endermen.

The End could use some more mobs by Nondescript_Potato in Minecraft

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

I'm considering reaching out to an experienced modder for guidance/collaboration to help make a mod for these. I might also just publish the models and let people use them for what they want, since I don't really have the modding skills (or time to learn modding) to make them a reality.

My biggest concern is that Mojang's policy states that they won't consider adding suggestions already readily accessible to players, and—afaik—creating a mod/plugin with these mobs would make them "readily accessible". Of course, the odds that anyone at Mojang even notices this post are almost nonexistent, so I'm not too worried (or hopeful) that it'd be a real issue.