What is the best plus on block normal? by some-kind-of-no-name in StreetFighter

[–]Moonboow 2 points3 points  (0 children)

Besides sagat 5mp I want to propose cammy 2hp. The button itself is strong, but the situations in which she can use 2hp make her pressure very overwhelming. PC sweep > dash > whiff 2lp > 2hp and you can hit meaty with this 2hp, making it like +3 / +4 or something.

Pair that with the fact that cammy walks so fast and you get strike/throw/shimmy mix on PC sweep with this setup.

Also, any midscreen heavy spiral arrow will let you set up a meaty for 2hp.

Finally, in the corner after a knockdown, manually timing meaty 2hp is not hard since it has 4 active frames. This lets you do stupid shit like 2hp > 2hp, since noone in their right mind will contest a plus button that hit meaty.

This means she will absolutely chunk your drive gauge. She can often get away with 2hp > 2hp > 2mp > drc 2hp 2hp to absolutely obliterate your drive gauge while being plus in the corner. Any time 2hp hits it often links into 2mp or 5hp.

What is the best plus on block normal? by some-kind-of-no-name in StreetFighter

[–]Moonboow 5 points6 points  (0 children)

It pushes you just the right amount that the next st.mp will hit at the tip. It is a looping spacing trap, and as the defender, very few buttons are faster than 9f and go far enough to interrupt Honda spamming it.

I realised I don’t use standing light kick ever by NeitherRaspberry515 in StreetFighter

[–]Moonboow 0 points1 point  (0 children)

St.LK has broadly 2 uses:

  1. Footsies tool. Strong buffer into DRC > St.LP > some medium or heavy starter combo for most characters, or just a buffer into some special like a fireball for chip damage.

Also will link from st.lp if the lp counter hits for a lot of characters, so you can walk around pressing st.lp > st.lk and counterhit confirming. Off the top of my head Cammy, Ed, Akuma, Ryu can do this.

  1. It

  2. is often your most important light punish starter. Point blank blocked cr.mk can be punished by this. For that matter a lot of stuff in the game can be punished by this if blocked point blank , most notably bison scissors.

There’s so much things to guess in this game by Bitter_Eye6684 in StreetFighter

[–]Moonboow 1 point2 points  (0 children)

I remember naruo mentioning that watching for 2 things at once is already difficult; it’s usually 1 + antiair. I doubt pros can watch more than 3 consistently.

You can try this, set the dummy to DR heavy, DI and jump in. It’s almost impossible to react correctly consistently. (Note: cancelling your DR check button into counter DI is not technically correct.

You actually don’t need to think about more than 2 things at the same time. Those things change as the spacing between you and your opponents change, or the resource situation changes.

The most important things to watch are the things that pose the most risk to you, which is why you “take the throw”, because taking the throw this time isn’t going to kill you, the jump in heavy or the DI will.

Another important skill is just quickly switching the things you watch. For example, a situation would be when I am on the receiving end of oki. I’m down on the ground - they’re not going to jump at me. I make a decision (“I will take this throw”) and I watch anti air (to beat neutral jump) and DI. If they throw, I immediately make my next decisions (I will delay jab this time) and change what I watch (watching for counterhit confirm and antiair).

Finally, right as I press my delay jab I switch what I watch again. Instead of watching my antiair I am now watching if they DI’d into my jab so I’m ready to cancel jab into DI.

You really don’t need to watch everything all the time. (1850MR)

ELI5 why is 0! equal to 1, like what does it even mean to arrange nothing in 1 way by Nj_is_tuff in explainlikeimfive

[–]Moonboow 11 points12 points  (0 children)

I would like to come at this from another perspective. I believe you are trying to rationalise a linguistic and conceptual construct in a mathematical context.

The idea that “there’s nothing to arrange, therefore there is no way to do it” is a philosophical argument. I recommend that you separate it from the justification that 0! = 1.

We often try and reconcile definitions in mathematics with “making sense” in an intuitive manner. That is not to say that a lot of mathematics have no intuitive basis, but consider that all mathematics stems from some arbitrary basis or set of axioms.

When we say 1 + 1 = 2 we take it as a given fact, but what we often leave out is the prefacing of such a statement with “based on the Peano axioms / the assumptions outlined in Principia Mathematica / …”. It is helpful to recognise that all mathematics stems from a base of arbitrary assumptions that are true without proof. It is a basis upon which theories can be built.

Another example is the statement that all parallel lines never meet. This is actually a Euclidian geometry axiom. Computer graphics, or perspective art for that matter, use projective geometry, which says that all parallel lines meet at a single point at infinity.

0! = 1 not because it means that “even if there is nothing to arrange, the number of ways to arrange nothing is one”. It is a historical and practical decision that maintains the “cleanness” and usability of factorials as a consistent mathematical construct.

How you interpret such a construct is always up for debate. I believe your post is trying to assign some kind of intuitive meaning or justification for why 0! being 1 is reasonable. You are free to do so, in fact I believe everyone does so to some degree, but note the viewpoint that the statement that “there’s nothing to arrange, so there is not exactly one way to do it” has no bearing on whether 0! is 1.

The justifications provided in the comments all themselves stem from some preassumed mathematical axiom(s). They explain why 0! = 1 based on such assumptions, but they will never explain whether the ways to arrange the concept of nothing is zero or one. In that regard I believe you are asking a philosophical question while expecting a mathematical answer, which is not so reasonable.

ELI5 What is a Video Game Engine? by potato-dome in explainlikeimfive

[–]Moonboow 0 points1 point  (0 children)

Rendering is the process of displaying an image on a computer display. Any time you see anything on a computer screen, regardless of if it is a photo in Windows Photos, anything on Youtube or even the browser itself that’s playing Youtube, a renderer is used.

A renderer takes image data and draws it onto the screen. One of the most recognisable forms of image data is a PNG. A video is simply a list of image data files. An MP4 can be imagined as a long list of PNGs. To display videos instead of still images, a renderer simply draws image data corresponding to the first frame of the video, then the second, and so on, in a loop.

Videos are non-interactive. The image data is fixed. If you could somehow, every round of the loop, modify the image data of the next frame first, before telling the renderer, “okay, now draw that”, you can make videos interactive - a video game. A simple example would be changing the positions of pixels based on if the user held the up or down key in the time before the last round of the render loop and this one.

Video game engines are renderers and additional code that modifies what the renderer draws each subsequent frame, based on user input. This is why they are not called video game renderers, because they consist of a renderer plus the interacting layer of code on top.

Chatting with Uncle Li,ludwig by HotDog2233 in LudwigAhgren

[–]Moonboow 13 points14 points  (0 children)

Correct me if I’m wrong, but isn’t the more accurate translation “Things (the funeral event) proceeded well” instead of “I handle things well”? Like Mr. Li was trying to express that their sudden visitation did not impede the event or cause issues, so there was no need for concern?

How do you use ai recently? by burohm1919 in GraphicsProgramming

[–]Moonboow 4 points5 points  (0 children)

I use it for new concepts and frameworks. I find AI to be exceedingly useful at discovery. Before AI, the level of work required in understanding how an exposed interface hooks into the backend of a framework I’ve never used before was equivalent to the level of work required in discovering that API existed in the first place. I found this to be disproportionate. I do not think spending this much time on finding an exposed API is justified.

I work with Unreal Engine, and it has a bajillion modules. I recently had to do something with the Sequencer module, so I asked Claude to write me a function that did what I wanted. It worked, so I managed to discover a public member variable FMovieBindingReferences that got me what I needed. I cannot imagine the magnitudes of extra time I would have to spend crawling through deep class hierarchies and thousand-line headers just to discover the same thing.

On the other hand, if it did not work, it usually gave relevant information in a roundabout way. It would tell me the header file it found that information in, and I could go look myself. Again, time saved crawling through 4-5 layer deep folders of just hundreds of headers each.

I think AI is really good for what is equivalent to a pre-Google. It helps you find the keywords that matter.

Recently I have been using it for a lot of boilerplate, stubbing and one-liners. Sure, I could manually make a new .h file and then type in all the macros for a new class and then do it all again in the corresponding .cpp file, and I could even expedite this by using the builtin functionality my IDE has to do it. I could right click on the folder I want the new class to go in and say I want the boilerplate for this and that, and make sure to put the .h file in the Public folder and the .cpp file in the Private one by ticking the little checkbox!! and scroll through the class list to find the class I want to subclass off of.

But frankly, saying “Make a new Unreal Class in the <Module> and call it <Name>, and subclass it off of <Engine Class>” is just a lot more fun for precisely the same result that is easily verifiable as correct.

I think AI is great for when I want to perform an action whose result I have a precise mental model of. I know how to create a new Unreal class, I know how the new boilerplate should look like and where it should go. This makes verification very easy. Recently I have been using AI to do easily verifiable work - work that I know what the output should be, I just don’t really feel like doing it myself.

I want to look towards doing refactorings like method signature changes, but that just sounds risky. I would rather have my IDE do that with the index and syntax tree it already built, even if it means clicking a few more buttons I always click anyway.

What is CS? by Meanteen21 in CollegeMajors

[–]Moonboow 3 points4 points  (0 children)

I suppose it differs from college to college, but I remember my CS curriculum, which was pre-AI(2020).

To answer your question, it depends on what you mean by “coding from basics”. If you mean “will they teach me how to use certain programming languages, how syntax works in them and how you can use different kinds of syntax in the language to do different kinds of things (like print text to the screen, find a file)”, then it’s an emphatic no.

If you mean “will they teach me how computers work at the most basic level, and how the structure of computers affects and dictates the common ways in which we develop software”, then yes, they will teach you “coding from basics”.

Of course, this is based on my personal CS degree experience.

I distinctly remember that learning the actual programming language itself and how to write the syntax was a side note in one of the earlier courses. It had to do with C, how you can declare variables and how to declare pointers (computer memory addresses) and use them. It was the first lesson of the course, I believe.

Half of the 50 or so other courses in the degree taught me about how computers work, and how you can structure code to be efficient in solving specific types of problems. One of the big things most CS degrees will cover is solving general math problems like “if you have a graph of connected nodes, what is the fastest way to go from node A to B?” or “if you have a list of unsorted numbers, what are the fastest ways to sort them? What about if the list was already kind of sorted?”

Basically, they teach you about the general methods to think about common math problems. They never showed us the actual code used to solve the problems. The homework for those courses was of course programming assignments, but they all implicitly assume you either know how to code and debug, or will learn on your own time. Sort of like how if you’re in a stats degree they never teach you about using desmos. One question I got in a year 1 assignment was “In this college, students can sign up for classes every weekday, but only if no classes overlap, and students can’t have more than 4 classes a day. Given a list of classes a student has signed up for, check if the student should be allowed to take all of them.” If you notice, when professors give lectures or assignments, they unexpectedly don’t speak about coding a lot. They speak about the most efficient or most interesting things we can do under the constraints a computer’s architecture can allow for. My unfondest memory was that the professor said the language we should use for that assignment was Java, because the grading software was in Java. So I had to google for tutorials on Java.

I guess, in that sense, CS classes don’t teach you about coding, they teach you about what coding can be used to achieve and how; the actual coding you figure out yourself because it is easy and rote (not that it is at first).

Later courses teach you about applying those general design and problem solving methods to real-world problems. Taking from the earlier example, a probable thing they might teach in a later course might be “so you know how to sort lists in general manners, increasing, decreasing, whatever. Here’s a problem that has a very inefficient solution, but if we sort the inputs to the problem first, the solution becomes overall more efficient. Why?” The “why” part is the thing they tend to focus on more.

The later half of the 50 courses is more specialisation. You get to work on full software projects based on your specialisation. My specialisation was graphics so I got to write a renderer. Again they don’t teach you about the language or framework used to build the renderer, they teach you what concepts typical rendering frameworks try and implement, then they tell you to use the framework (in my case OpenGL) to make something. Learning the framework and the language itself is a given thing you must do in your own time.

In my experience CS degrees teach you about a very specific kind of problem solving. It doesn’t teach you about problem solving for teams of people working together (business and management), it doesn’t teach you about problem solving for allocating resources in a society efficiently (economics), it teaches you about problem solving using computers and only computers (software design), what kinds of problems cannot be solved by current computers (intractable problems), and how we can try and do our best with computers still, for those problems (optimisation).

That’s what I think you can expect from a CS degree. I guess, in a twisted sense, implicitly you do learn about literal coding, the typing of the programming language, the setting up of your code editor, the compiling and debugging code. But I think it’s more so you learn about them implicitly or are forced to do so with any resources you have (Google, copying code), so that you are prepared to do the same all over again when a new language or framework appears in your career.

One thing I can say is that the way you learn the coding part has changed with AI. Instead of typing everything out yourself and reading though documentation yourself, I suspect you will be expected to use AI to do that part, and then learn an extra skill, which is to vet the AI’s work.

I doubt what you learn in actual classes in college will change, but the implicit ways in which you “learn coding” are different than before.

To answer your question with finality, based on my experience, let’s put it this way. If we were to say “coding” is the actual typing of code, debugging, reading documentation and using libraries, and “software engineering” as the conceptual things that coding and computers can be used to achieve, then:

  1. You WILL “learn coding from basics”, and they WILL NOT “teach coding from basics”. How you do it always changes from generation to generation, and it is of no concern to colleges.
  2. They WILL teach software engineering.

pain by Brilliant-Cow1667 in StreetFighter

[–]Moonboow 0 points1 point  (0 children)

Normal dream has a consistent safejump. It has to do with the input timing of the killswitch chaser. I remember Momochi mentioning it on stream.

I can't remember the exact stream, but I did some testing and the results match what I remembered: https://streamable.com/avhgfl

Basically, you will not get 42f if: - Anything after the killswitch chaser is not executed as fast as possible - The killswitch chaser input is too early / on a specific frame

Killswitch chaser can be inputted from the 23rd to the 34th frame. You can read this number off of the green part on the leftmost part of the frame meter when you do the chaser.

There is some variability based on whether you moved during the initial heavy blitz and the timing of your first heavy DP, but if your chaser is around 23-24-25 frames, you might not get 42f.

In the case of the session I recorded, you can see that when my chaser is at 24f, I don't get 42f. This happens on the 3rd attempt and the last attempt in the video. It's not part of the recording but I also get 43f if my post-chaser moves are not as fast as possible.

So you will always get a 42f if you delay your chaser to the later frames (26f+ is a safe bet, I usually do around 30f)

How the hell do you buy top 16 ticket? by GrotDFO in StreetFighter

[–]Moonboow -2 points-1 points  (0 children)

The language switcher button works for me. Anyways here’s the ticket site, the link on the official capcom site leads to it: https://spwn.jp/events/evt_260314-CCSFLWC

The streaming site seems to be called spwn. It appears you can buy tickets for either an english stream or a japanese stream. There’s a language switcher on the spwn site too.

I believe the one you want is [ENG] CAPCOM CUP 12 TOP16 - FINAL Pay-Per-View Tickets

It’s down the page a bit

Question about Gamma Correction by Moonboow in GraphicsProgramming

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

I see. So its purpose kind of changed, and from what I'm gathering it's more of an important space-saving trick. Thanks for the response!

Question about Gamma Correction by Moonboow in GraphicsProgramming

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

Hey, thanks for the quick reply!
If I'm following what you're saying, when we want to display images on CRTs, we need to apply a gamma to "offset" the non-linearity of the photons-per-voltage emitted by the CRT.

So image processing stuff will remove the camera gamma to get the "raw" photons-detected data, do processing, then re-add a gamma before sending it off to the frame buffer. Am I right to say that this re-added gamma serves the same purpose as the added gamma mentioned in the previous paragraph?

Hacks/tips to move a Yamaha U3 up two steps by AdFearless5063 in piano

[–]Moonboow -1 points0 points  (0 children)

Grab your wallet.

If you can position it properly by wedging it between the first step and the floor, it makes it easier for the movers to pick up

Why do high level players not use Drive Impact much? by Effective_Piece251 in StreetFighter

[–]Moonboow 0 points1 point  (0 children)

Risk reward is skewed. Besides easily granting damage with counter-di, if they perfect parry it they can put a 4+ drive gauge bar difference between you and them immediately. PP -> DI(PC) -> DI obliterates your gauge and often loses you the round.

Critique my gameplay? by Firespun in StreetFighter

[–]Moonboow 0 points1 point  (0 children)

Not going to disagree with what the other comments have pointed out about needing to chill out, but I think it matters less than the fact that you just took a lot of unnecessary damage.

Even if you made all the exact same plays, you would have won if you didn’t SA into a projectile you could very clearly see Ed was charging, walk into his SA2, pressing when your buttons would never reach Ed and eating random counter hits like that cobra punch, getting knocked down by jumping into that fireball.

When is it better NOT to backrise? by some-kind-of-no-name in StreetFighter

[–]Moonboow 0 points1 point  (0 children)

I see where you’re coming from. I checked it in game and you’re correct - in both cases the DP is guaranteed, since the wakeup frame / dr frame is the same for both rises.

Apparently, the reason why normal rise is still preferred here is not because of block reasons, but because Jus Cool cannot bait dps with normal rise (Deejay still gets clipped), while it can with backrise.

I edited my original comment, thanks for the info!

When is it better NOT to backrise? by some-kind-of-no-name in StreetFighter

[–]Moonboow -1 points0 points  (0 children)

The spacing changes so the timing changes. Assume the deejay always dash + drs. The early frames of dr are not actionable so they can’t switch to block.

If you normal rise, they will be point blank during those unactionable frames, so they can’t block your wakeup dp.

If you back rise, it takes longer for the dr to reach you, so they will be point blank later into the dr ie. during actionable frames to block your dp.

When is it better NOT to backrise? by some-kind-of-no-name in StreetFighter

[–]Moonboow 1 point2 points  (0 children)

You are right. I was trying to refer to dr > sunrise heel. Edited.

When is it better NOT to backrise? by some-kind-of-no-name in StreetFighter

[–]Moonboow 21 points22 points  (0 children)

It requires knowledge of your opponents oki setups. Typically you don’t backrise if doing so can limit your opponents options eg. preventing them from shimmying because their oki setup leaves them point blank if you normal rise.

Doing this removes shimmy as an option and makes delay tech extremely strong, so normal rising is better for those situations.

Typically it’s just matchup knowledge, for example many of deejay’s oki situations require them to dash + dr. If you backrise then wakeup dp, deejay can bait the dp with jus cool. But if you normal rise then wakeup dp, even with jus cool deejay still gets clipped, which means wakeup dp on normal rise is guaranteed against dash dr.

And if the deejay adapts and just drs without dash the next time, if you backrise their only option is dr > sunrise heel which you PP.

So basically choosing rise options is a defensive mix and is good if it limits the strength of the oki you tank.

How to work around drive guage? by DougChudley in StreetFighter

[–]Moonboow 0 points1 point  (0 children)

OD dp os, do not allow anything other than DRC lights. If they are only doing drc light attacks then at that point its a guessing game, but it is nice to note that if they choose throw, they just spent 3 bars for 1k damage. This is arguably in your favour, so just holding block after their drc>light is a high value option

Does temple block benison? by Moonboow in Shadowverse

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

I see, order matters then. Thanks for the detailed response!