The Devs Were Pretty Smart To Come Up With This

  Переглядів 915,387

Garbaj

Garbaj

2 роки тому

"AK-47 - Game Ready Assault Rifle Weapon" (skfb.ly/6QSIA) by Billy Jackman is licensed under Creative Commons Attribution (creativecommons.org/licenses/b...)
2nd Channel: / garbajgaming
Twitch: / garbajcan
Twitter: / garbaj2
Discord: / discord

КОМЕНТАРІ: 1 200
@joesurname3568
@joesurname3568 2 роки тому
My guess, from looking at the clip you showed, is that there's an initial "buildup" spray that starts at Heat 0, and once that's over it loops through a repeating spray pattern. Implementing that would be slightly more complicated, but a lot less overall work; the modulus operator can let you loop through a fixed list with an infinitely-increasing number without issue.
@thepatoto5321
@thepatoto5321 2 роки тому
or just generate the list at startuo
@heret1c385
@heret1c385 2 роки тому
I can confirm this. When you use the infinite ammo command, the upper part of the AK's T-spray-pattern just loops from left to right and back, when you fire more shots than intended.
@garbaj
@garbaj 2 роки тому
I think this might be it, Makes sense!
@lubbdaa
@lubbdaa 2 роки тому
Funny enough, this is literally how I've impelemented it in the game I'm working on. I find the least intuitive part with spray patterns in general is when/how fast the 'heat' goes down. I implemented a delay after the last shot before it start going down, as well as a rate in heat/second, but I feel like it's hard to balance this especially for semi auto guns.
@zjanez2868
@zjanez2868 2 роки тому
interesting, my gueswould have been set the first 20/30 shots manually after that just ctrl+c, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v, ctrl+v,... for the rest
@Loekamber
@Loekamber 2 роки тому
Great and perfectly in-depth! I don't know about how CS:GO did their spray pattern for the 150-round-gun, but I would guess that you set a few coordinates for every 10th round for example, and then interpolate between them.
@AnonOmis1000
@AnonOmis1000 2 роки тому
That or they made a curve in a different program that could generate the coordinates, then copy and paste into the engine.
@Lmao-dr8bk
@Lmao-dr8bk 2 роки тому
@@AnonOmis1000 No, thats unideal to do. All you need to do is to set a counter whichs value increases by every bullet you shoot and as this value has reached it's max, the pattern will have another behavior. There is no need to define every single bullet for every single gun.
@wilville3752
@wilville3752 2 роки тому
Doesn’t counter strike recoil work by making the second bullet go two bullets up from the last
@AnonOmis1000
@AnonOmis1000 2 роки тому
@@wilville3752 no
@erixccjc2143
@erixccjc2143 2 роки тому
@@wilville3752 the bullets go left an right too, so no
@kimmyedd4950
@kimmyedd4950 2 роки тому
3:49 as a filthy Negev main I can answer your question. The Negev has no recoil pattern after the first few shots. It’s has that random spread, but as the csgo community likes to point out it fires like a laser beam. It’s useful as a suppression tool to stop rushes and buy time, but it lack as reactive usage at it takes long for it to get accurate.
@encross8058
@encross8058 2 роки тому
they should really give the m249 some love too because it probably gets used less than the zeus
@watagapitusberry7197
@watagapitusberry7197 Рік тому
have you tried rushing in with the gun on already? Like it has 450 bullets, you can afford "warming it up" for it to be on the laser mode
@noi8017
@noi8017 Рік тому
@@watagapitusberry7197 yeah I thought the same because there’s people who pre fire which would be an advantage using this gun cause you run in already warmed All you have to do is aim
@ReneHoffmann194
@ReneHoffmann194 Рік тому
@@noi8017 the problem of this method is that while shooting your movement speed is drastically reduced and you become a sitting duck 🦆
@noi8017
@noi8017 Рік тому
@@ReneHoffmann194 yeah thats why people prone crouch and jump like crazy
@TrueLunar10
@TrueLunar10 2 роки тому
I actually know about the Negev. After a handful of shots that are programmed (as you see by a mostly straight rise) the gun then becomes super accurate, to the point the community refers to it as "The Laser Pointer" as even with the random bullet spread it's pretty consistent. The reason for this was because the LMGs serve the role of area denial. Unfortunately for CSGO, kills matter over everything (for the most part). So having a weapon that's real life goal is to lock off an area but not necessarily get kills made the class of weapons useless. So valve made the Nagev have a simple to understand pattern and be cheap in the games economy to facilitate the roll of "turret" where 1 player locks down a position with incredible accuracy. Compare this to the other CSGO LMG which has a back and forth horizontal spray pattern and yet seems next to 0 play outside people clicking the wrong weapon because tagging an enemy in passing is less valuable then consistent damage that is more likely to kill. In short the pattern was hand coded to be simple for balancing reasons and would be an interesting thing to do in a follow-up
@bassdasdwadsasdasw
@bassdasdwadsasdasw 2 роки тому
It used to have a standard spray pattern before the rework though, so I wonder if they had to hard code all that or not. Sounds pretty awful if so lol
@garbaj
@garbaj 2 роки тому
The laser pointer? I knew there was a reason I like the Negev so much
@abstractbeholdings1030
@abstractbeholdings1030 2 роки тому
Or they just said fuck it Lets make the AWP get a run for it's money
@aidan-mx2fy
@aidan-mx2fy 2 роки тому
@@abstractbeholdings1030 because there is only one accurate gun in CSGO
@abstractbeholdings1030
@abstractbeholdings1030 2 роки тому
@@aidan-mx2fy no bitches?
@IxodesPersulcatus
@IxodesPersulcatus Рік тому
The "heat" actually is quite literal, in a "temperature" sense: It's a problem that exists in real life weapon manufacturing, to which there have been some interesting solutions over the years. When the barrel of a weapon heats up (for example, due to continuous fire), the metal expands slightly, affecting the trajectory. In some cases it can even cause jamming.
@bboygmoney
@bboygmoney Рік тому
Jamming isn't really a thing in modern designs. Cook offs are. Closed bolt designs can have rounds ignite from the heat of the chamber.
@inquisitorbenediktanders3142
@inquisitorbenediktanders3142 Рік тому
Machineguns usually have quickchange barrels to replace "stressed out"barrels.
@Boomstickfan495
@Boomstickfan495 Рік тому
or in extreme cases such as MGs, the chamber gets so hot it "Cooks-off" rounds, gets the brass cartridge so hot that it goes off without ever pulling the trigger. Which is super bad because it could then cause the gun to run away and just start spraying without you even touching it
@Boomstickfan495
@Boomstickfan495 Рік тому
@@bboygmoney It actually is a thing, its just rare because most ammo is so good anymore and guns have much higher standards now, but I have had AR-15s after alot of shooting with some cheap steel ammo (yay poor life) try to cycle the bolt too fast because of slighter overpressure due to the heat build up, and straight up jam a round at like a 60 degree angle upwards and it was a pain in the ass to remove because it almost wedged the mag in place. Please don't mag dump guys, you wont hit anything and you'll just stress the poor gun. Don't be me and my friends on that poor Saturday where my friend's AK ran away on him.
@thesituation5315
@thesituation5315 Рік тому
@@inquisitorbenediktanders3142 Not all machine guns, usually just LMGs and maybe mounted MMGs/HMGs. Assault rifles and SMGs don't usually have quick change barrels. Although some assault rifles do, like the AUG.
@aruan7sp
@aruan7sp 2 роки тому
I prefer the recoil mechanic of The Specialists: every time you shoot your sight moves in recoil. So you get instant feedback on where your shots are actually landing instead of needing to memorize a pattern. Also easier to compensate recoil: the player just need to move the sight in opposite direction.
@jaffa999
@jaffa999 2 роки тому
That is a good videogame-way of doing recoil too, where the bullets actually go where the crosshair is. But what is no nice about csgo's way of doing recoil, is while the spray do go outside the crosshair, you can actually see the bullets outside of the crosshair going towards where they are actually hitting, so you can use that as sort of a reference to where the spray pattern is going. Then you just have to learn to move your aim in the opposite direction of those bullets compared to the actual crosshair. Still, its still a preference thing, and i often see people misunderstand why i am dragging my aim into the ground when shooting at people, and still getting headshots. Probably makes csgo a bit harder to pick up as a new player used to more conventional recoil mechanics.
@erixccjc2143
@erixccjc2143 2 роки тому
@@jaffa999 unless you play with a silenced weapon, as they dont leave tracers. And if you compensate for the recoil by looking at your tracers your muscle memory probably alredy knows how to control recoil the hahahah
@TheRealNickG
@TheRealNickG 2 роки тому
Or like in Overwatch, where you can decide on those characters settings. "Recoil compensation" can be turned on or off depending on if you like the feedback of the camera movement or not. Seems like a silly dev flex to prove that they CAN do it (what else do you do with your time when you don't put out anything new but skins for literally 2 years? but I digress) rather than a design decision.
@no-better-name
@no-better-name 2 роки тому
i am not sure if you meant what i think you did, but man, now i gotta reinstall HL just for some TS gameplay xd
@real_vardan
@real_vardan 2 роки тому
Rainbow Six Siege also did the same, makes it way easier to control the recoil
@pepisesportsdevirl2295
@pepisesportsdevirl2295 2 роки тому
Negev used to have a massive, learnable spray pattern for each bullet. Heat value goes up--> (to a certain point) the spray pattern started to loop after the 56th shot or so. That was the old Negev. Current Negev has spray pattern through the mag but as heat value goes up --> deviation from a developer chosen coordinate is less.
@revimfadli4666
@revimfadli4666 2 роки тому
I really like how the semi-fixed spray patter can emulate getting familiar with your gun's recoil characteristics and compensating them
@Notllamalord
@Notllamalord 2 роки тому
I don’t think people get how revolutionary CS was. So many concepts and gameplay mechanics that are gonna be used for years to come
@ibeatmywifeandkids9084
@ibeatmywifeandkids9084 Рік тому
My brother in Christ quake
@b3gabriel66
@b3gabriel66 Рік тому
Quake is more like cod in that manner
@aidanhammer6968
@aidanhammer6968 Рік тому
I don't think I've met anyone who didn't respect the innovation made possible by CS. Other than people who have no/little interest in video games.
@colbyboucher6391
@colbyboucher6391 Рік тому
@@ibeatmywifeandkids9084 I love Quake. Quake innovated a whole lot and I wish it got popular again in earnest. But idk why you're bringing up Quake in a video about how Counter-Strike handles something that isn't a thing in Quake at all.
@michakrzyzanowski8554
@michakrzyzanowski8554 Рік тому
@@b3gabriel66 original quake code can still be found in all source games, so half life, cs, tf2 and others
@luukderuijter1332
@luukderuijter1332 2 роки тому
I love the way it is done in siege, where your spray patern is seeded, where if you have the same amount of bullets and stand in the exact spot, the spray patern is identical, but change any of those parameters and the spray patern deviates unrecognizably (in a mathematical sense). This way it is both testable and yet not learnable, making aiming more about actually being a better gun man than being good at memorizing weird arbitrary game paterns
@garbaj
@garbaj 2 роки тому
Interesting, I knew r6 had spray patterns for hip firing but I had no idea it worked like that
@rhetthenderson5993
@rhetthenderson5993 2 роки тому
How would you define “being a better gun man” other than memorizing recoil patterns?
@nononoohfuck
@nononoohfuck 2 роки тому
@@rhetthenderson5993 because irl guns dont have super tight knit recoil patters like they do in vgames. Rather than relying on recoil patterns you're forced to learn to compensate but also still rely heavily on your own aim rather than using a pattern for a guideline.
@hi-i-am-atan
@hi-i-am-atan 2 роки тому
@@rhetthenderson5993 in most fpses, it typically involves putting your crosshairs on the enemy and clicking on them from within your gun's effective range. then, if you're playing a game that has spread bloom caused by firing full-auto or firing while moving, you also factor that into your movement and fire pattern so the aforementioned bloom doesn't shrink your effective range too much by doing this, you can reliably fill your enemies with bullets even in games that have completely random bullet spread, because it does not particularly matter if the spread is random if all possible random values result in you hitting what you're aiming for anyway. hell, even if not _every_ roll of the dice results in the same exact thing, you can still aim in such a way that i.e. your 1% chance to miss a headshot ends up still landing a bodyshot anyway, so even if you get supremely unlucky, your bullet still lands and you've still put yourself in an advantageous position hell, even if that 1% is a chance to miss entirely, you can still play around that by, say, engaging your enemies from behind so that a single missed shot isn't likely to matter anyway, as they still have to _process_ the fact that they were just shot at, figure out the general direction it came from, turn around, perceive your character model, then potentially alter their movement pattern or swap weapons before they can even begin to fire back. 'course, that's plenty of time for them if you're not actually at the proper range to spray at them ( or, y'know, you're not even actually _pointing the gun at them_ ) and that 1% chance is really more like a 75% chance, so it doesn't typically compensate for not actually knowing your gun by feel unless the people you're shooting at are just as ill-suited to the situation as you are
@dontgivenoatall2536
@dontgivenoatall2536 2 роки тому
@@rhetthenderson5993 Its more competitive. People can focus on actual strategies, playing in their effective ranges, and outplaying their opponent with realistic recoil rather than the advantage going to someone who memorizes an arbitrary recoil pattern.
@guillermoc7736
@guillermoc7736 2 роки тому
Dude, your videos are so interesting and concise! I wish more content creators used your format. Of course, I'd love to hear about the other ways to implement recoil.
@ciren___
@ciren___ 2 роки тому
I'm pretty sure CSGO uses seeds for spray patterns instead of defining each point manually. I'll have to get to you back on that when I'm on my PC though
@ThePC007
@ThePC007 2 роки тому
Yeah, I assume you're correct, since if I recall correctly the spray patterns used to be random until Valve decided to make them deterministic because players complained about the randomness, so it makes sense that they simply stuck to a fixed seed instead.
@Schenkel101
@Schenkel101 2 роки тому
I loved how Dirty Bomb handled this. It had recoil, which moved your camera, was mostly vertical and wasn't that hard to compensate for; and random spread, which made the bullets deviate from the crosshair, increased with continuous fire and decreased when you stopped (the game also had the option for a secondary, dynamic crosshair which grew in size to show you the spread while your main crosshair didn't move). Each weapon had a different value for both recoil and spread, and every gun in that game felt amazing to shoot once you got used to it.
@dirky1185
@dirky1185 2 роки тому
rip dirty bomb :(
@jannikheidemann3805
@jannikheidemann3805 2 роки тому
@@dirky1185 It's kind of sad that Dirty Bomb was abandoned after release, but I still have played it yesterday. So it's not entirely dead yet. What's also nice is that the game is past constantly wanting you to spend money on it.
@LinxESP
@LinxESP 2 роки тому
I miss DB too
@jannikheidemann3805
@jannikheidemann3805 2 роки тому
@@LinxESP As I said, you don't have to. Play it while that's still possible!
@patrickhector
@patrickhector Рік тому
Halo Reach has the same recoil mechanics, which the halo community seems to hate with a passion
@aayaamgupta3618
@aayaamgupta3618 2 роки тому
In CSGO, the negev has a fixed spray pattern for the first ~15 bullets, ie. more or less vertical and afterwards all the bullets fire straight with little to no deviation from the point at with the vertical spray pattern is reached (3:45 for reference)
@Martine1337
@Martine1337 2 роки тому
I came across your videos months ago, and I'll be completely honest, this is such an interesting look into the everyday games we're all playing, but never thought about the fundamentals of how they're made. This is an absolute pleasure to listen to.
@ferrucyon9149
@ferrucyon9149 2 роки тому
In learn something new every time you post, I can’t wait to learn even more
@FantasyDragon14_
@FantasyDragon14_ 2 роки тому
Planetside 2 has a Mechanic where additionally to moving your aim up (and left-right) as recoil it increases the cone of fire (a circle around the crosshair inside wich the bullets are randomly scattered), to a point where if you would fire a whole LMG-magazine in one go you wouldnt hit shit after like half of it
@115zombies935
@115zombies935 2 роки тому
It’s pretty much like battlefield, except PS2 has a cap on horizontal recoil for each weapon.
@CamembertDave
@CamembertDave 2 роки тому
This is just another way of saying what the video says at 2:20-2:40
@FantasyDragon14_
@FantasyDragon14_ 2 роки тому
​@@CamembertDave actually, it is more complicated than that: ukposts.info/have/v-deo/a5iHeY-Yp6Zjy6s.html
@scoobscott
@scoobscott Рік тому
Planetside also has guns with wildly different and unique spread patterns, like an lmg with a large cone of fire that narrows the longer you fire, or another that has a very small cone of fire with high but predictable recoil
@KlausWulfenbach
@KlausWulfenbach 2 роки тому
I've never done a 3D shooter before, but in my 2D shooters the way I simulate recoil is to physically move the player backwards slightly. Most guns only push the player back a tiny bit if they're standing still, but in a couple (unreleased) games I experimented with guns that had a lot of recoil and could double as a run button by firing backwards, kind of like Downwell's jump & shoot mechanic. I also experimented with negative recoil that pushed the player towards what they were shooting.
@mage3690
@mage3690 2 роки тому
The interesting thing is that negative recoil actually exists IRL, mostly in recoilless rifles like the Carl Gustav. The explosive charge is at the back and just pushes against air, so you get the forward force from all that extra air, plus the friction from the round traveling down the barrel, resulting in forward recoil. Still not nearly as much recoil as it would be if you fired from a breech, but noticeable. I suppose you could also get forward recoil from a weapon with too much recoil compensation, most likely from using 2 recoil compensating systems on the same gun.
@Treblaine
@Treblaine 2 роки тому
I've often found that to be more annoying than it should be, especially if you need to stand in a very particular position to shoot. I'd suggest have the recoil manifest as the movement in direction of firing being SLOWED which can feel like you're fighting a huge force without harming your ability to achieve the game objectives. But when standing still I think you need to depend on animation, for the "shooting while not moving" the shooting animation should show them bracing their legs and leaning far into the direction of firing. Because being knocked back by recoil when standing still doesn't really feel like there's a lot of recoil, instead it just feels like you're slipping around on ice.
@thatonedude6598
@thatonedude6598 Рік тому
Reminds me of Killing Floor 2, the Lunar map. Using a hunting shotgun (a double barrel) on earth gives a small, but noticable, backwards movement. It was less noticable if you were moving while on the ground, and more if you jumped. But on Moon Base, even with feet planted and moving forward, you'd get kicked like 2 feet backwards. In the air you go like 10. Loved using that to quickly avoid clusters of Zeds.
@zurreality
@zurreality 2 роки тому
Always a pleasure to hear from you about Techniques used in Games and how you could implement them x3
@DukeWooze
@DukeWooze 2 роки тому
I sometimes play with concepts like this when I mod doom. I never made a specific spray pattern but I did increase the bloom. All I did was add the potential in either the x or y axis or both. So, for example if the gun had a accuracy of (2,2) I would just add to those numbers say 2 every shot. I didn't use an array but that does seem to be a neat idea.
@DatMilu2K
@DatMilu2K 2 роки тому
Interesting Video. A long time ago I recreated csgos recoil system in unity and used another method where how you can easily create patterns, no matter the size of the magazine. Instead of using a list of points, you can also use two curves ("Gradient" in Unity) which then can be used to "draw" and calculate the x and y differences for each shot.
@taiiat0
@taiiat0 2 роки тому
Battlefield 1 also has some pretty interesting choices for controlling, well, controllability. the game in the Franchise where the most things were merged together to really try and create something more than just click on Heads. and they did a fairly good job, just the one time.
@Frank_G_Finster
@Frank_G_Finster 2 роки тому
These game analysis videos are both helpful and inspiring. So thank you very much, i am pretty much enjoying each and every piece of your content and putting it to good use in my personal coding adventures :)
@graematter
@graematter 2 роки тому
After 15 years, you've been able to explain better than any article I've ever read how the recoil is handled - in less than 5 minutes. Keep up the great work!
@Lutitious
@Lutitious 2 роки тому
just to clarify, for valorant the spray pattern is not pre determined, it is completely random, and a pain point for a lot of players, used to csgo's simple learnable approach
@dominicstocker5144
@dominicstocker5144 2 роки тому
It’s probably much more realistic, tho, right?
@sarkasmcs558
@sarkasmcs558 2 роки тому
​@@dominicstocker5144 looking at the graphics of the game, i don't think the devs went for a realistic approach anyways
@s1ndrome117
@s1ndrome117 2 роки тому
@@dominicstocker5144 having realism isn't always a good thing in video game development
@dominicstocker5144
@dominicstocker5144 2 роки тому
@@s1ndrome117 yeah, but it’s not like it doesn’t make sense to make the recoil random, just because the gameplay is different doesn’t mean it’s worse
@magicalchicken5667
@magicalchicken5667 2 роки тому
Just as a reminder since it likely explains why they made that choice: older CS titles actually had somewhat random recoil, well more a frequency value that controls how often it randomly switches left/right, so it's in line with older CS if i recall valorant's correctly, been a while since I've played but that's around how it felt last I did.
@rodakdev
@rodakdev 2 роки тому
I think that Negev uses spray pattern with it's first shots and than just randomizes the last element of the spray pattern, so that you don't actually need 150 separate numbers
@wibs0n68
@wibs0n68 2 роки тому
I think its fully randomized on first 15
@playerguy2
@playerguy2 2 роки тому
The Negev used to have a predictable 150 round spray pattern, the M249 still has a 100 round pattern.
@I_SEE_RED
@I_SEE_RED 2 роки тому
Excellent description of spray patterns. Unmatched
@kimeiga
@kimeiga 2 роки тому
I actually coded this in Unity back in the day using two different transforms childed to the head and i remember it blew my mind when i figured out that the crosshair was always halfway in between where you started shooting and where the bullet vector was going. Good times
@TheMrKeksLp
@TheMrKeksLp 2 роки тому
You could always just randomly generate the spray pattern with the same fixed seed (and probably do that once and cache the positions into an array for performance). You would probably want to use multi octave noise instead of pure randomness though and scale the magnitude with increasing heat level. That way it's not completey random which would of course kinda suck
@PyPylia
@PyPylia Рік тому
Yeah, this was my immediate thought on creating a fixed spray pattern. Just find a seed you like and go ahead with that. If you don't want to cache you can also XOR the seed and heat value together, or do other stuff like that to generate seeds on the fly, but it is most likely more efficient to cache it unless your heat value goes into the thousands or millions.
@AutoPulsecc
@AutoPulsecc 2 роки тому
You should talk about rust spray patterns they're quite hard to learn and skilled based, with a lot of guns.
@furkankostekli7400
@furkankostekli7400 Рік тому
*was* :/
@Nightsaber_
@Nightsaber_ 2 роки тому
Wow just leaving a comment to say that I discovered your channel recently and your content gets straight to the point and is informative yet easy to follow. This is the content I would have needed in high school when learning about vectors, coordinates and whatnot. I'm sure math and the idea of coding would have seemed much more exciting back then if teachers gave application examples from games haha
@bannah6400
@bannah6400 Рік тому
Repent and follow Jesus my friend! Repenting doesn't mean confessing your sins to others, but to stop doing them altogether. Belief in Messiah alone is not enough to get you into heaven - Matthew 7:21-23, John 3:3, John 3:36 (ESV is the best translation for John 3:36). Contemplate how the Roman empire fulfilled the role of the beast from the sea in Revelation 13. Revelation 17 confirms that it is in fact Rome. From this we can conclude that A) Jesus is the Son of God and can predict the future or make it happen, B) The world leaders/nations/governments etc have been conspiring together for the last 3000+ years to accomplish the religion of the Israelites C) History as we know it is fake. You don't really need to speculate though because you can start a relationship with God and have proof. Call on the name of Jesus and pray for Him to intervene in your life. - Revelation 3:20 Revelation has been unfolding since Jesus died. The Popes have claimed to be equal to God and set themselves in Jesus' place (antichrist(s)). Vatican City (Which is its own nation BTW) have risen up to fulfill the role of the false prophet Regarding the man of lawlessness or antichrist, 2 Thessalonians 2:4 says “Who opposes and exalts himself above all that is called God, or that is worshipped; so that he as God sits in the temple of God, showing himself that he is God.” The restrainer that the Apostle Paul was referring to in 2 Thessalonians was the Western Roman Emperor, who held back the Popes from taking power. Once the last Western Roman Emperor was removed from power in 476 AD, the Pope was given civil and ecclesiastic authority over Rome; healing the deadly head wound of the beast in Revelation 13, as they took the Emperors title of Pontifex Maximus, leader of the church and state. “We may according to the fullness of our power, dispose of the law and dispense above the law. Those whom the Pope of Rome doth separate, it is not a man that separates them but God. For the Pope holdeth place on earth, not simply of a man but of the true God.” (Source: “Decretals of Gregory IX,” Book 1, chapter 3.) Pope Pius V blasphemed, “The Pope and God are the same, so he has all power in Heaven and earth.” (Source: Pope Pius V, quoted in Barclay, Cities Petrus Bertanous Chapter XXVII: 218.) Pope Leo XIII declared, “We hold upon this earth the place of God Almighty.” (Source: Pope Leo XIII Encyclical Letter, June 20, 1894) The antichrist sea beast of Revelation points to the office of the papacy, the Popes of Rome, who controlled the Roman beast for 1,260 years, from 538-1798 AD. Daniel 7:25 says “And he shall speak great words against the most High, and shall wear out the saints of the most High, and think to change times and laws: and they shall be given into his hand until a time and times and the dividing of time.” The Popes of Rome spoke against Elohim and proclaimed to be God. They reigned for 1,260 years, from 538-1798 AD. during which they caused tens of millions of saints to be killed. The Pope’s title is Vicar of Christ, which in Latin is ‘Vicarius Filii Dei’, and equates numerically to the number 666
@twomur_
@twomur_ 2 роки тому
every time you upload it’s a banger! keep it up
@RandomAwesomeDude
@RandomAwesomeDude 2 роки тому
If you think that's interesting, you should see the spread patterns they have in Battlefield. Weapons have a cone indicating the area in which gunfire will attack and kill a target. The cone increases and decreases due to specific conditions of the player (running, vaulting, prone, etc.), but there is ALWAYS random bullet deviation, even on the first shot. The devs wanted to make each gun feel different to use and have unique strengths and weaknesses. For instance, there are some SMGs that work better when you run and gun because of high rate of fire and spread, but it may suck at accurate headshots, so use this gun on close quarters maps. Regarding the Negav, I think its the same as Battlefield where when a Heavy Machine Gun is first fired, the randomness of the bullet spread is extreme, but as the trigger is held and the gun shoots more, the spread goes "negative" and instead becomes more accurate over time unlike other guns. The issue is just maintaining the recoil.
@likilike501
@likilike501 2 роки тому
I love battlefield way of doing recoil and i hate spray patterns personally. I would like if spray patterns stopped to exist completely. It is pain in the ass mechanic which creates unnecessary barrier for entry for every fucking FPS with patterns you play because every one of them has different patterns and it is pain to learn it.
@RandomAwesomeDude
@RandomAwesomeDude 2 роки тому
@@likilike501 It also makes some guns more broken than others just by certain patterns being easier to maintain
@noobguy9973
@noobguy9973 2 роки тому
@@likilike501 its not unnecessary you said it yourself its there so you learn and master it thats the fun and competitive part.
@likilike501
@likilike501 2 роки тому
@@noobguy9973 The thing is that me finding out that i need to learn another f-ing spray pattern is instant quit moment. I just do not want to anymore it is not fun.
@noobguy9973
@noobguy9973 2 роки тому
@@likilike501 thats understandable everyone has their likes and dislikes.
@minoxs
@minoxs 2 роки тому
From what I know, the Negev works backwards actually. The first few bullets have a spray pattern and after a few rounds it becomes deadly accurate + a bit of randomness. It's really the only reason you'd use a Negev: to plant yourself somewhere and hold left click and send a laser of bullets.
@alpha3836
@alpha3836 2 роки тому
great info! Thanks!
@OCriado
@OCriado 2 роки тому
Love your content man
@patrickmartin7583
@patrickmartin7583 2 роки тому
I think they're probably using a random number generator with a fixed starting value for each gun to generate the spray pattern. This means the random number generator will generate a different pattern for each gun, but it will always be the same for each gun as "random" number generators aren't actually random, they just look random, so if you start them at the same number with the same initial conditions they will always result in the same pattern.
@Lussiayo
@Lussiayo 2 роки тому
Can u also talk about the other types of recoil in games, for example: apex legends, pubg, cod, etc. This video was very informative! thank u!
@javianbrown8627
@javianbrown8627 2 роки тому
I have subscribbled! I enjoy learning about these things
@grinreaperoftrolls7528
@grinreaperoftrolls7528 2 роки тому
Omg BEZIER CURVES! I learned about those a little while ago. They’re so cool! This whole thing is so cool. I may be a biology major, but math will always be one of my favorite things
@blackm4niac
@blackm4niac 2 роки тому
Spray patterns are the base for my biggest complaint with all of the CS games: The game does not tell you it's a thing. Yes, the game tells you that your shots will be inaccurate if you keep firing, but that could also just mean random spread (which the games do have to a certain degree). But unless you did some experimentation or get told by someone you wouldn't know that the game uses a fixed spray pattern as a base. I played quite a bit of CS:Source back then, played regularly on a server. Nobody there told me, either because they didn't know themselves (unlikely though) or because they assumed I knew that. And I guess I was too stupid to figure this out myself back then, I guess. All I knew was that the first shot is super accurate when standing still. Yes, by now it should be common knowledge, but back then it most definetly wasn't.
@Madnot4
@Madnot4 2 роки тому
Well if you played on a server you were not competing or anything so of course you were never going to find out unless someone told you, that's something you only care about if you really wanted to improve and compete, you would've just figured it out lol, like everyone else in the world can figure out game mechanics not written on paper.
@blackm4niac
@blackm4niac 2 роки тому
@@Madnot4 it would've still be nice to know something THIS important. Imagine if CoD wouldn't tell you about the sprint button.
@MythicTF2
@MythicTF2 2 роки тому
I mean, back in 1.6 or CSS even, fixed spray patterns weren't a huge thing. They existed to a degree but not really enough to be predictable and memorable like currently in CSGO. The reason you didn't know in CSS was because it wasn't really something even to bother learning in most cases. (I know in 1.6 the M4 & AK just used a triangle pattern basically, but idk about CSS) Game sense and raw aim was way more important than learning a vague pattern that barely existed. It doesn't teach you this outright and I do agree that there could be a better system in-game to show said patterns but, it's not like its not noticeable. If you just shoot for a while you're bound to notice that your gun is following a pattern. Humans are *really* good at pattern recognition. It may not be something you even actively noticed at first but your muscles did and you would subconsciously adjust for it. Maybe not as perfectly as the person who has spent time perfecting it but enough to hit more of the bullets. If you're only tap-firing however, you probably won't even notice it and that may be a problem.
@charley6799
@charley6799 2 роки тому
I mean, the first thing I do in a new shooter is go up to a wall and spray it to see how weapons behave, how recoil works, how much there it, if things are random etc etc.
@olivers.7821
@olivers.7821 2 роки тому
I find it stupid that the bullet teleport up but the crosshair stays in place. The crosshair should have the recoil not the bullet. Only that way you can adjust your aim.
@dankwarmouse6248
@dankwarmouse6248 2 роки тому
Spoken like someone who hasn't played this game. It's incredibly satisfying to hit the recoil.
@door_productions4896
@door_productions4896 2 роки тому
Yeah it's pretty dumb. I'm not gonna sit in an aim trainer to get decent at a game I don't even know if I like yet.
@olivers.7821
@olivers.7821 2 роки тому
@@dankwarmouse6248 I play a game where the recoil effects the position of the gun making you know where you fired at. It is better to understand that and adjust your mouse than to randomly not hit your opponent and not knowing how you have to position your gun at.
@dankwarmouse6248
@dankwarmouse6248 2 роки тому
@@door_productions4896 Tapfiring exists.
@door_productions4896
@door_productions4896 2 роки тому
@@dankwarmouse6248 Playing games I actually like sounds better man
@anthonypon
@anthonypon 2 роки тому
I understood everything, thank you!!!
@thisistobis5138
@thisistobis5138 2 роки тому
Great video, Rust Recoil is pretty similar but so easy to learn if you put in the time.
@damsen978
@damsen978 Рік тому
I don't think CS:GO should have RNG (named bullet spread) on their spray patterns. If the game was as skill-based as people make it look out to be then it shouldn't have any kind of RNG other than spawn positions, mechanically speaking. Doing this would allow pro players master the patterns and do headshots with any weapon that uses patterns from any distance. And i think that would make CS:GO more fun to play and watch as a spectator. Instead of just missing shots because the game wanted to.
@ugabuga2586
@ugabuga2586 Рік тому
good point but also most spray patterns are pretty precise within the first shots which means that the deviation is more of a punishment for unskilled play that relies on spraying.
@damsen978
@damsen978 Рік тому
@@ugabuga2586 That's why it requires time to practice and master. You don't want to make it easy.
@HeadShoht
@HeadShoht 2 роки тому
Csgo and valorant has the worst most unintuitive recoil system ever. Not only does it have visual recoil, it also has built in recoil on the gun that deviates from the cross hair. Your bullets will not go where the cross hair is. Why would anyone want this in a FPS game? Let alone a competitive one. CoD, Battlefield, rainbow six’s recoil system is much much more sensical and intuitive. This recoil system is archaic and nonsensical and should die.
@krypton091
@krypton091 2 роки тому
we get it you can't aim
@HeadShoht
@HeadShoht 2 роки тому
@@krypton091 ill smoke you in any first person shooter scrub. Csgo is less about aiming and more about memorizing arbitrary recoil patterns weeb
@floerian_
@floerian_ Рік тому
I just found your channel and let's be honest. The Videos are short but perfectly explained that even I can understand it plus they are not boring to watch.
@IDontDoDrumCovers
@IDontDoDrumCovers Рік тому
id love to see more videos on multiplayer FPS map design
@cybeartron
@cybeartron 2 роки тому
Great video as always!! I love your content a lot!! I hope that you soon make another video about progress on your own game!! I want to see till where you are in the game!! But still nice video!!
@marly1017
@marly1017 2 роки тому
this was fascinating
@ItsNanino
@ItsNanino 2 роки тому
I love how even when I'm fairly certain I understood a concept before I click on one of these videos, by the end I often still learned something.
@JaZoN_XD
@JaZoN_XD 2 роки тому
From what i recall, the CSGO spray pattern works by multiplying the direction of your crosshair movement magnitude by a certain scalar to get the impact of the next bullet. So if bullet 1 causes crosshair to to move by [1 3] then the actual bullet impact would be k[1 3] I believe there is some sort of recursive formula so then the next crosshair movement is calculated based off the previous bullet impact point.
@stumpyg4814
@stumpyg4814 2 роки тому
Easy Dev Answer for Negev. Use two arrays. one for standard heat, and the other for above heat. Above heat will be a recursive function that is called with random spray until the individual meets the timeout. When the user releases the trigger less than a second, resume the recursive loop. Exit parameters need to include a trigger release timeout and magazine counter. A generic function can handle all weapons as parameters if valve wanted to go that route.
@jesseb3307
@jesseb3307 2 роки тому
Simonator sais it best, Great and perfectly in-depth
@bradjones7491
@bradjones7491 Рік тому
you can use an evaluation of a curve to apply a recoil pattern to a gun of any sized magazine. Basically you make a curve then you get the "Heat" value and divide it by the Maximum Magazine (or max heat value) size to get a percentage, and then evaluate the curve at percentage X to get the value. This is what almost every game with fixed recoil patterns do to some extent. From there you can add in artificial offset from the weapons "Recoil" value to make sure the pattern remains slightly random. You could also have multiple recoil curves for separate animation states, such as sprinting, walking, crouched, prone, or swimming.
@DragonsCountry
@DragonsCountry Рік тому
as you can turn on infinite ammo in csgo, there are a lot of cases in which the weapons continue past their pre-programmed spray patterns, csgo uses a system where it loops the pattern back and forth starting at a specific shot. If you turn on sv_infinite_ammo 1, you can see this very clearly.
@kranefivem
@kranefivem 2 роки тому
i love this, i will implement this soon and come back a week later and tell you how that went for my players
@ShydenPierce
@ShydenPierce 2 роки тому
dude the way the implement it is sick
@ktomeir
@ktomeir Рік тому
In Planetside 2 there is a cone of fire that grows while firing and that your reticle is always in the center of, and the recoil moves the reticle, so you never need to aim at the ground. The cone of fire size and recoil stats vary a lot between guns and also change on the state of the character - moving or standing, crouching, sprinting, aiming down sights or hipfiring, etc.
@nojukuramu
@nojukuramu 2 роки тому
I was planning to make my own fps but i ended up watching all your vids 😂 your videos gave me idea how should i do certain things so i can implement it in my own way. but till now, i havent done a thing 😂
@mb5970
@mb5970 2 роки тому
Nice vid. Takes a smart person to explain a complex thing in little time.
@raph5402
@raph5402 Рік тому
some older games had quite a fast heat pattern fall off. which allowed for extreme accurate shooting with a simple rapid fire button either dedicated from the mouse itself or via self made macro in the mouse software. Some cheap new games have this issue too. While some newer games just take the input perfectly and your recoil stays the same with rapid fire compared to if you just hold down.
@malokegames
@malokegames 2 роки тому
I made recoil using physics. Each shot apply an impulse force and some torque to shake the gun with some randomization. Another force is constantly applied bringing the gun back to its original position, it competes with the recoil creating the "heating" effect automatically. Since the bullets are shot from the barrel, this creates a continuous and more natural effect that never repeats itself. No need to create pre-determined coordinates :P
@HEKVT
@HEKVT 2 роки тому
I like these videos, very educational but simple to understand.
@RSpudieD
@RSpudieD 2 роки тому
This is really interesting and I never knew or really gave recoil and heat values much thought. I like how it's relatively repeatable yet I probably wouldn't have ever noticed.
@DEFINITE444
@DEFINITE444 Рік тому
remember, fire in short controlled bursts!
@ikannunaplays
@ikannunaplays 2 роки тому
You know what I love about CounterStrike, I haven't played since 1.6 but I still in 2 seconds or less recognized the Aztec map even updated for CS:GO
@TigerVent
@TigerVent 2 роки тому
Fantastic content sir!!!
@reckerchan4143
@reckerchan4143 2 роки тому
As what I know and found in csgo files, they would give certain weapons two different firing modes, such as usp-s with/with out suppressor, or r-8 revolver left click and right click, or any sniper rifle hip fire and zoomed in. Negev also have to firing modes, but it’s trigger in different way. For first few shots, it will be in mode one that with fixed recoil pattern. After the heat number hit certain value, it will switch to its alternative firing mode with no recoil but some randomness.
@LagSpikeX
@LagSpikeX 2 роки тому
I remember learning re coil patterns in css back when I was at uni for game dev. Good times
@samusaran1692
@samusaran1692 2 роки тому
I fuckin Love your videos man!! Learning so much :))
@Wolfentodd
@Wolfentodd 2 роки тому
Answer for Negev. It has a short heat set and after about less then a quarter of the magazine it just stops kicking and the rounds continue to go into a specific spot as if it is now a recoileless weapon and your crossbars is no longer at the center of the screen Bassicaly think of it like a valorant weapon, but once it hits where it would be random, instead, tit just stops changing
@FlashAm
@FlashAm Рік тому
I LOVE that type of recoil system, not only it's pretty fun to implement and use, but since it's random it makes strike packs and other type cheats slightly worse
@ranger_1472
@ranger_1472 2 роки тому
I only took programming for two years in HS so I don't know that much. Like you said earlier in the video, you can have the intensity of the RNG modified whether you're running, crouching, walking, etc. In the case with crouching, the RNG is toned down a tiny bit. It could be that the X and Y values on the Negev are random after a certain heat threshold like in Valorant, but the variance affects the Y axis in a very positive manner by essentially no vertical recoil and then the RNG modifier affects the X axis making you adjust left and right slightly as you spray, although I don't know whether or not if its the same left right left or if its completely random.
@DestusG
@DestusG 2 роки тому
I'm glad I watched this I just played kill switch and my aiming sucks cause of the recoil and I was wandering how to implement this. But with this i can do it thanks man
@aaronwinter7911
@aaronwinter7911 2 роки тому
you can make the spray pattern generate at random, but then use a specific seed for each weapon. that way the pattern gets randomly generated, so you don't have to type up offset values manually, but it's still a repeatable pattern and unique to every weapon.
@magnussthered
@magnussthered 2 роки тому
When you spray w/ the ak aim slowly down and to the left :) works every time lol.
@user-og6hl6lv7p
@user-og6hl6lv7p 2 роки тому
The Negev is easy to explain. Once it reaches beyond a certain number of shots you can simply use the same spray pattern values with a bit of randomisation. So once you fire 20 shots, every other subsequent shot will have the same spray pattern value but with more randomisation. So you don't have to create a list of 150 values, just 20 and then randomize every shot afterwards. You could also use a fixed length array for every weapon and use basic division to determine which spray pattern to currently use. So if you've fired 20% of your current mag then you simply round up/down and pick the closest index according to array length. Also: you may wish to normalize the final direction vector of your shots to ensure it fires in a circular manner, just like real life (e.g. shotDir = shotDir.normalize * fireRadius). If you do not normalize your vector directions then it will begin to fire in a square shaped pattern, which looks a little odd.
@trulyinfamous
@trulyinfamous 2 роки тому
I plan on eventually making a first person shooter and this channel has a lot of good info. I already know it would take like 8 years to make because I've got what is realistically too many ideas for it, but I really want to make it.
@unluckycatfish6866
@unluckycatfish6866 2 роки тому
My favourite recoil system is the one in tabg, because I'm actually good with it and it feels so natural to use!
@nick-glenn
@nick-glenn 2 роки тому
A useful trick I discovered when programming recoil was to include a "spread" on top of the desired coordinate. As the "heat" value goes up, you increase the spread ratio - which acts like a radius that the bullet can fall within. This is easy to do with linear interpolation and can even be adjusted per weapon (+ modifiers) to make the first shot have a small amount of randomness with later shots having a lot of randomness. Using pseudo code, it would look something like... min_spread = 0.0125 max_spead = 0.5 offsets = [[0,0], ...] offset = offsets[heat] // determine the size of the spread spread = lerp(min_spread, max_spread, heat / len(offsets)) // assuming that random() provides a uniform float between 0.0 to 1.0 (inclusive) recoil_x = offset[0] + lerp(-spread, spread, random()) recoil_y = offset[1] + lerp(-spread, spread, random())
@ChisponGroxo
@ChisponGroxo 2 роки тому
I was curious about this topic, thanks for the info!. Apex Legends might use the same system, based on some weapon leaks I saw. In CSGO the Negev only kicks vertically and then it gets more accurate until it's a laser, so I don't think it's pattern is fixed.
@mittermatter3184
@mittermatter3184 2 роки тому
in Phantom Forces on roblox, they use both actual gun recoil and camera recoil, and the first shot always has more recoil than the rest of the bullets. each shot afterwards has a max and a minimum amount they can adjust the camera or gun barrel/sight by at least i think thats how it works looking at weapon details ingame
@SuperCityscan
@SuperCityscan 2 роки тому
You can also use a lower number coordinate list and either linear interpret or use other interpretation for a higher number of bullets
@oubaidaalkhatib3894
@oubaidaalkhatib3894 Рік тому
the negev has a unique spray pattern where the first 10 to 15 bullets have a pattern than the weapon become a laser that is why some people use it to become a "human turret" when defending or attacking a site (which mostly fails miserably)
@klaxyrine979
@klaxyrine979 2 роки тому
The spray patterns being deterministic also opened players to a discipline of gunplay - memorizing spray patterns and compensating for them. That can be very advantageous if you're going against burst-firers, or those who do semi-auto tapping. You'd be using automatic weapons to the fullest. Adds a lot of depth to the gunplay.
@chbrules
@chbrules 2 роки тому
You don't need to attach the 2D heatmap array to each individual bullet. You just use a separate counter to reference the heat map, and anything above a defined threshold ends up just using the max value continuously (+ whatever random noise you want to add). That's how I would design the Negev's 150 round magazine spray pattern.
@Nick-yi4tr
@Nick-yi4tr 2 роки тому
i love how this guy isn't very creative or has very good ideas for videos but still has all the motivation
@Phoboskomboa
@Phoboskomboa 2 роки тому
I used to play old school Counterstrike 1.6 and Source. I can't believe I never realized the spray pattern was repeatable. I totally knew it instinctively, because as soon as I saw the demonstration I realized that I had been compensating for that exact pattern every time. I always just assumed that my habitual compensation was random and I only did it that way because it seemed to work. I guess now I know why that seemed to work.
@dalmationblack
@dalmationblack 2 роки тому
One thing to note about CSGO's recoil is that they do move the crosshair, but it gets moved (IIRC) exactly half as much as the bullets do. If you draw a line between where your crosshair started and where it currently is, and then double the length of that line while keeping one end at where your crosshair started, the other end of the line will be where the bullet lands.
@AntiPseudo
@AntiPseudo 2 роки тому
I haven't actually heard of doing things this way before! I've only ever dealt with slightly expanding the random range for the angle over fireTime (Which is what you refer to as heat). However, your final question about how to do large, non-repeating spray patterns could be dealt with in a similar method. Rather than just storing an angle offset for each element in your spray array, store a min and max value for both X and Y, then randomize between those min and max values per iteration. This will give you a still tightly controlled, but also variable spray, so you can have less elements in the array without having repetition. If you want a perfectly predictable pattern, it's still possible with this system, since you only need to set the min and max to the same value.
@tjones2112
@tjones2112 2 роки тому
I would suggest for a large magazine gun you could enter a loop (for say 15-20 bullets) once you hit a certain heat value, you could even increase the randomness with each iteration of the loop.
@duoquendo
@duoquendo Рік тому
csgo uses a formula for the sprays, i don't know the exact method but goes something like takes the last shot position, add the hit value plus a pitagoras formula it may looks like bulletImpact=(originalPointOfAim+bulletDiviation)², it forms triangle and the next shot lands where the triangle ends (if you take fotage and aply this formula it actually works), if you flat the internal angles of said triangle, eventually end up with a very thin flat line with some randomness
@andonel
@andonel 2 роки тому
Fascinating
@devourerofbigmacs7858
@devourerofbigmacs7858 2 роки тому
Maybe you could use a combination of different noises (with a predetermined starting point) to get a deterministic spray pattern without having to implement an array with fixed values
@VaguelyCanadian
@VaguelyCanadian 2 роки тому
so the fun thing about this is that because your heat value maxes out at a certain point and every shot beyond that maximum value just uses that last value as a starting point reapplying noise to it to keep the shots looking random you can use an arbitrarily large clip without needing to code a new heat co-ordinate for every new shot
@anbuu6848
@anbuu6848 2 роки тому
It would make sense to have a function that takes in limiting parameters and auto generates a list of vars for the weapon to use
@filbert5850
@filbert5850 Рік тому
Destiny 2 has an interesting way they deal with weapon recoil. All bullets have a random variation for every weapon, then a separate recoil pattern and the higher the heat value goes the wider your potential accuracy cone gets. Pretty wild stuff
@TheAardvark57
@TheAardvark57 Рік тому
This is fantastic! I love the example code. Thanks for making this. Subscribing for more videos like this.
@yercules
@yercules 2 роки тому
One of the most satisfying aspects in all of the cs games is landing a kill by re-establishing the recoil pattern during a discontinued spray transfer. An experienced player can essentially feel or guess the 'heat-level' and aim accordingly to land the second frag.
The Fatal Trap That Can Kill Any Game
4:27
Garbaj
Переглядів 541 тис.
I Have No Idea What's Going On Here
4:22
Garbaj
Переглядів 475 тис.
How Game Designers Solved These 11 Problems
15:41
Game Maker's Toolkit
Переглядів 2,5 млн
AI Learns to play JUMP KING
27:12
Code Bullet
Переглядів 8 млн
How can you create PS1 style models
3:54
BlenderFace
Переглядів 33 тис.
Sometimes, The Old Ways Are Just Better
6:24
Garbaj
Переглядів 402 тис.
The Real Reason Sbmm Is Everywhere Now
4:39
Garbaj
Переглядів 456 тис.
Griefing a Cheater with Flares until he Quits
10:21
triplezero
Переглядів 71 тис.
This Gaming Problem Might Be Impossible To Fix
2:51
Garbaj
Переглядів 517 тис.
This is one of my favorite video game exploits
3:27
Garbaj
Переглядів 218 тис.
A.I. Learns to play Snake using Deep Q Learning
15:15
Code Bullet
Переглядів 3,4 млн
Why Don't FPS Games Use This Aiming Mechanic?
1:57
Garbaj
Переглядів 1,4 млн
Pokedance Vs Pedro Pedro Pedro pe Meme😍🦝🔥😱
0:43
Red_Swiper
Переглядів 15 млн
#pomni #angela
0:13
My Angela2
Переглядів 4,4 млн
Stu Mutation+Autoclicker☠️ #brawlstars #shorts
0:16
HB Nico Zockt
Переглядів 2 млн
coppie di brawler #brawlstars #brawl #supercell #gaming #perte
0:25
глупый парень и маньяк!  @cooldadru
0:50
Holy Baam
Переглядів 1,3 млн