Тёмный

Designing a Better Aim Assist for 2D Games 

t3ssel8r
Подписаться 172 тыс.
Просмотров 324 тыс.
50% 1

Now that the visual design and graphics pipeline are in a stable-ish state, I've been (slowly) working on gameplay design and tuning. One of the first things that I ran into was the problem of building a player-transparent aim assist that helps the player aim with an analog controller without wrestling fine control away from the player. I thought it was a sufficiently interesting subject, so I made a video about it, in the spirit of 3Blue1Brown's SoME challenge, though my timing's a bit late.
Timestamps:
0:00 intro
1:12 Hades code
2:19 Death's Door code
2:48 problems
3:54 math
8:10 constraints
9:34 closing remarks
Music:
lofi geek - give me
lofi geek - souls
lofi geek - real
lofi geek - two lifes

Опубликовано:

 

2 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 377   
@t3ssel8r
@t3ssel8r 2 года назад
I have greatly underestimated how much work it is to make a content-dense video. From here on, I may continue to make these videos as I come across sufficiently interesting problems, at a reduced upload rate, for this channel. Smaller dev updates will move over to my twitter account. Let me know if this makes sense.
@DragonSpirit97PL
@DragonSpirit97PL 2 года назад
I would prefer to have more smaller videos. Even if it would mean they're going to be on the same subject. This game is a journey and we are in it together!
@BenjaminBlodgettDev
@BenjaminBlodgettDev 2 года назад
This video must have taken so much work to create. It really shows. I'm still eager to learn more about your pixel art game engine. How long did it take you to make? What inspired you to start work on your current game? What were some big hurdles, etc. When I try to make videos I fall into the trap of everything being very formal, well edited and with good visuals, but I would really appreciate a short video of you sitting down with little to no script and just talking about your project as if it were show and tell.
@0xkero
@0xkero 2 года назад
Anything from you will be great anyway ^_^ ! Do what you feel is best for you
@nadavge
@nadavge 2 года назад
I love your videos very much. Have you thought about opening a Patreon?
@Beatumpop
@Beatumpop 2 года назад
It makes sense to have the content more organized and spread on/exclusive to other platforms but i feel it'd be good to have the shorter videos on youtube as well since that makes it easier for your main audience to keep up with the project. Also yt likes consistency so maybe that'll also help reach more people?
@Gahanun
@Gahanun 2 года назад
The production value on those input curves is through the roof just to illustrate the mapping. Such a captivating delivery. You've really made me interested in looking for more mathematical interpretations of game concepts.
@qingshuo
@qingshuo Год назад
This is actually a very interesting problem, because in top-down games, the player's angular input is expected to map directly to a world angle, as opposed to say FPS aim assist, were you're only manipulating the 1st derivative of your aim position. I was surprised when I realized the math is going to be totally different. I took a similar approach to you, however ran into a problem further down the road: When the entity I'm currently aim-assisted towards dies (eg something else kills it) or blinks away, the mapping function suddenly changes. The region around the player's current input sudden snaps back to the identity function, causing the player to perceive a jump in the output position despite holding their input angle steady. This temporal discontinuity was very jarring and violated the player expectation that "if I hold my finger still, so should my aiming line". I ended up implementing essentially the same function, but on the first derivative. That way, if the curve "changes behind the scenes" you wouldn't notice any discontinuity, only that passing back to the area now feels "faster" than before. This creates a new problem, which is that you will accumulate angular error, where after all targets are eliminated, a player input of "due north" may no longer map to due north in the game world! I ended up solving this by tracking how much error there is between player input and game world output, keeping that as a "debt to be repaid". Whenever the player input angle changes, I "pay back small amounts of debt", hiding the error inside of motion. If the player input changes dramatically enough (e.g., a 90 degree sudden change) I just pay back the debt all at once, and it is not noticeable to the player.
@t3ssel8r
@t3ssel8r Год назад
great comment! I had the exact same thoughts and came to a very similar solution. accumulate "debt" as you put it to avoid time discontinuities, and pay it back at a rate proportional to the input speed.
@yohaanmaster2522
@yohaanmaster2522 Год назад
I love how intuitively you explained your solution, thanks for the comment!
@zappergames4785
@zappergames4785 Год назад
Late reply, but it sounds like you've independently arrived at many of the principles of what's known as "Proportional Integral Derivative" Control, or "PID". I'd highly recommend looking more into the topic! PID can apply to LOADS of concepts (motors, capacitors, human senses, etc)
@yohaanmaster2522
@yohaanmaster2522 Год назад
@@zappergames4785 ooo that seems interesting
@qingshuo
@qingshuo Год назад
@@zappergames4785 That's awesome! I will check this out.
@supermuffinbros4797
@supermuffinbros4797 2 года назад
I love how at 10:18, the abstract representation transitions perfectly into the game. Amazing attention to detail.
@unvergebeneid
@unvergebeneid Год назад
While complaining about how much work making the video was! 😄😄😄
@radikalbeats
@radikalbeats Год назад
🤯🤯🤯
@aarthificial
@aarthificial 2 года назад
The video turned out amazing! It was absolutely worth the wait
@t3ssel8r
@t3ssel8r 2 года назад
thanks!
@Magnogen
@Magnogen Год назад
Well, hello there
@djack2370
@djack2370 2 года назад
I was not expecting this much value and professionality for a small channel, you really deserve a lot more! Just that math animation you made god knows how long it took
@MaksMikhnevych
@MaksMikhnevych Год назад
if he deserves more, you can help by sharing this video on your social media ☺
@EyedMoon
@EyedMoon 2 года назад
Very nice vizualisations for the aim assist properties in terms of "real vs felt" angles, love these focus videos. They always make me think of shorter, focused GDC conferences
@t3ssel8r
@t3ssel8r 2 года назад
I too am a big fan of the GDC deep dives
@EyedMoon
@EyedMoon 2 года назад
@@t3ssel8r there's no such thing as too big
@quantumsno
@quantumsno 2 года назад
I can't even imagine how long this took to make, but I think it was worth the effort. Making content like this helps to push us as an indie dev community forward. I'm really excited to see what other cool solutions you come up with!
@rowanw5912
@rowanw5912 2 года назад
Amazing job showing the math behind aim assist. This made me think of bullet magnetism from games like Halo, where the vector of the bullet is adjusted instead of the rotation of the player. Magnetism is the same thing as aim assist, just less obtrusive because it doesn't rotate the player, and I believe it's better because it doesn't effect the sensitivity of your rotation input like aim assist does, which could harm the consistency of movement or platforming mechanics.
@noiJadisCailleach
@noiJadisCailleach 2 года назад
I always love it everytime you flex your brain muscles and share what's inside it. The production quality this time is magnitudes higher than the usual, too. Man, I can just imagine how much that taxed you. Thank you for your hard work! Looking forward to more of your brain flexes!
@subbu6572
@subbu6572 2 года назад
first of all, thank you for your hard work, all those motion graphics and editing must have taken a lot of time and effort, it was very good and helped visualize things better. while I didn't understand the math you were showing, your explanation was enough to give ideas and maybe even sell me to learn it lol. Also, I have been following your stuff for what feels like years I think and you are making good progress, it's very nice to see. hope the full game or project comes out as you want. I am doing gamedev too but I am a beginner at best I guess so you motivate me a lot. please keep going and have a good time.
@user-eh5wo8re3d
@user-eh5wo8re3d 2 года назад
Excellent video! Thank you so much for taking the time to make this. These problems are part why I love programming so much; taking on an issue that from the outside you can hardly see is there, and thereby discovering and exploring all the intricate ways one can solve them.
@andrew8445
@andrew8445 2 года назад
I like that you’re making tutorials now, your game inspires me and its awesome to see an interesting 3blue1brown-esk video on the topic
@lazergurka-smerlin6561
@lazergurka-smerlin6561 Год назад
I was thinking about how to handle objects that occlude eachother, that's probably the thing that most aim assists handle badly. But to solve this I would like to abstract this further and think of enemies as simple arc segments, and that those arc segments just overlay ontop of eachother. Then you make the aim assist only consider those arc segments when attempting to aid the player, or more likely the ends of those arc segments. That makes it easier to finetune a function for aim assist as you cut away a lot of nuances and automatically solve the issues of enemies obscuring other enemies and enemies being that are obscured by objects, at least so long as your aim assist doesn't lock on to your target. But I could also see issues cutting away that much nuance, as you could lose information that you find actually quite important, like distance, speed, size, what type of target it is etc.
@Visigoth_
@Visigoth_ Год назад
Dude... I *LOVE* your video style. Explaining technical problems with an aesthetic/intuitive focus on the artistic understanding of the problem really helps me grasp how to start thinking about solving the proble instead of not fully understanding what the problem is (just knowing that it "doesn't feel right.")
@Doogler
@Doogler 2 года назад
The visuals in this video were really helpful for understanding the concept, good video!
@aditya95sriram
@aditya95sriram Год назад
Wowie! That was extremely engaging. Great job! The amount of work you put into it really shows (using manim for the interim math explanations was a great idea)!
@Mrjcraft00
@Mrjcraft00 Год назад
I love the way these videos seem to take things intuitive to game design and put a new perspective on it to ask critical questions. I don’t create games but the struggle of bad aim assist is very relatable, and the idea of graphing inputs and outputs on an x-y graph was insanely novel, I love it!
@olegviatkin5674
@olegviatkin5674 Год назад
I am amazed at how good your game looks and the amount of detail you consider in every step of the process. Wish nothing but success onto you🙏🏻
@cupsster1
@cupsster1 Год назад
Wow man, another great content video, really appreciate visual explanation and effort you have put in to explain this in consumable manner instead of pure abstraction. Bravo sir.
@shoenengz
@shoenengz 2 года назад
your videos never dissapoint and are always a source of inspiration. Congratulations on an amazing channel!
@graemerock77
@graemerock77 Год назад
These videos are 1. Very well explained and exceedingly helpful 2. Incredibly pleasing to watch the animations of 3. Make me want to play the game you made very very much.
@stewartimel
@stewartimel Год назад
These videos are so informative and interesting, thank you for putting in the effort. You’ve inspired me to look deeper at the mathematical opportunities in my game.
@beenin1
@beenin1 2 года назад
I just want to say, I've learned so much and have gained so much inspiration from your videos. This technical approach to game design problems is truly something novel. Thank you for doing what you do.
@duodot
@duodot Год назад
Holy shit man, you're a genius. You explain things well and make me interested in mathematics I never thought useful to me. And you're very wellspoken and humble. Good luck on your game!
@flower-fauna
@flower-fauna 2 года назад
This is an amazing video and totally not what i expected from subscribing to an interesting journey about developing your game But im very glad you created this, its amazing!
@andrewglick6279
@andrewglick6279 2 года назад
I don't think I have anything to contribute here besides saying this looks amazing and I always look forward to your videos! Keep up the great work!
@julreyrosales6886
@julreyrosales6886 2 года назад
I've been waiting for soo looong. It's still the best
@HyenHks
@HyenHks 2 года назад
This is so good! And I'm getting more and more excited to see where your game ends up, anyhow I'm sure it'll be satisfying! Learning Manim, creating fitting visuals and setting such high standards for video quality, no wonder it takes time! These kinds of videos makes my math heart so happy! I would've loved to join SOME myself, but had trouble prioritizing it - But I'm curious - do you think it'll take significantly less time to make a second similar-type video, now that you've gone through the process of making one, learning Manim etc.?
@t3ssel8r
@t3ssel8r 2 года назад
I still haven't figured out a good workflow for synchronizing the manim animations to audio track while still managing to iterate on the visuals/script. I think the cost of iterating on small details was probably the biggest time sink for this particular video.
@DrWolves
@DrWolves Год назад
This is outstanding and awe-inspiring. I love what you've done. I'm hoping to make a game with this level of quality and beauty. This is a wonderful inspiration for me. Thank you
@AlexBlackfrost
@AlexBlackfrost 2 года назад
The production value of this video is impressive. Great job!
@kungfuakash1
@kungfuakash1 11 месяцев назад
This is incredible! Great job, man. Subbed
@j1_dev
@j1_dev 2 года назад
Wow, the quality of this channel is just beautiful
@mmheti
@mmheti Год назад
Such a simple idea, just brilliant! Thanks!
@cosmicreciever
@cosmicreciever Год назад
I really appreciate that you talk about the subject at a higher level mathematically than most game developers do. Really goes to show that this is a channel aimed at professionals
@seeranos
@seeranos Год назад
These are the kinds of videos I love sharing with my math and CS friends as educational and motivational displays of what uses their university maths can be applied to!
@dottedboxguy
@dottedboxguy 2 года назад
this channel is pure condensed game design progress and thought, it’s amazing
@AntoCharles
@AntoCharles 2 года назад
Damn what a wonderful video!! Awesome job on the explanations wonderful job on the animations -- low key had some 3B1B vibes with the graphs
@DokterKaj
@DokterKaj 2 года назад
It's always a good day when t3ssel8r uploads
@DanielNit
@DanielNit Год назад
So far, I have seen two pf your videos and they were both stellar in both technical content and presentation. Formme, you are on par of the best RU-vidrs in this field and I am fhankful for yoursuperb work. Thank you a lot and all the best wishes =)
@DanielNit
@DanielNit Год назад
I also just noticed that both my views were your last two videos. As these represent the stellar quality I was talking about, your question in your own comment should be answered with "well yes the videos are rarer, but they are worth it!"
@squeenixu
@squeenixu Год назад
i love that grapple mechanic you showed near the end
@qu765
@qu765 Год назад
Thoroughly enjoyed. The visualizations are really nice. As mentioned at 10:18, that the production budget is exceeded, just know that it is perfectly fine to skip doing things like: at 8:04, satisfying to watch, but the only person who is gonna see that more than once is you cause you edit the video.
@t3ssel8r
@t3ssel8r Год назад
it's actually pretty easy to do that stuff with the right tools! I think that fade out animation probably only took a minute or two to write. It's the script revisions and math visualizations that end up taking the most time for me, since those are the important things to get right or viewers will get lost
@whiteline4157
@whiteline4157 Год назад
your videos are so captivating. I clicked on this video out of accident and spent one of the best 10 minutes of my life.
@luismollmann1572
@luismollmann1572 Год назад
Great video! The animations worked very well, made it really clear. :)
@Potat_44
@Potat_44 Год назад
Despite finding it difficult to understand, you explain it in such a way that makes sense without knowing how to code
@AgentPothead
@AgentPothead Год назад
I'm not a game dev so I didn't think I'd watch all 11 minutes but yeah, I'm glad I did. This was well made video and everything was explained super well. Great work.
@erikgoldman
@erikgoldman Год назад
incredible video. there’s a deep discontinuity between tutorials that teach you how to quickly scaffold a mechanic and videos that change your entire thought process and frameworks. well done
@Hoowwwww
@Hoowwwww Год назад
you are very talented in many fields - programming - math - art - ux that's impressive
@robertmoats1890
@robertmoats1890 Год назад
Amazing video! Great quality and detail! We are exactly the same in the sense that you put too much time into your side projects. I call them rabbit holes. They always lead me much further from my game than I plan. I completely agree that the aim assist system should prioritize vectors or angles, rather than redirecting them entirely. But your video brought several things to my attention that I had not considered before.
@HadesMrDark
@HadesMrDark Год назад
I'm so glad i found your channel, bell icon activated, can't wait for the next one, thank you so much!
@typeer
@typeer Год назад
this is great, can tell you put your whole self into this, thanks for your work
@smile--
@smile-- 11 месяцев назад
This is something I noticed a lot while playing EtG, good video.
@Gabriel-wq3lh
@Gabriel-wq3lh Год назад
I'm not a game developer, but this video and your approach of using math are both fascinating. And your teaching skills are great, congratulations!
@myenglishisbadpleasecorrec5446
@myenglishisbadpleasecorrec5446 11 месяцев назад
neat. Simple, good solution, and easy to understand
@luislaracuente
@luislaracuente Год назад
I am so happy to have found your channel. This is pure beauty! Thank you for providing a mathematical definition to game design problems. Your visualizations are incredibly helpful and clean. They remind me of 3Blue1Brown channel. Can you share what tool you use to make your graphs and real-time modification of x and how it shows in f(x) in the graph? I'm definitely subscribing and turning notifications on. Keep on the great work!
@t3ssel8r
@t3ssel8r Год назад
the animations are made in manim. thanks for the support :)
@JosephCatrambone
@JosephCatrambone Год назад
This is phenomenal. Great work.
@DJnoratos
@DJnoratos Год назад
You are clearly very smart. Thank you for the interesting grasp of this topic, very educating :)
@regularsalamander
@regularsalamander Год назад
such a cool way of visualizing this
@theonlyponguin
@theonlyponguin 2 года назад
the only time i actually open a youtube notification
@farrukhkamal2315
@farrukhkamal2315 Год назад
I really love how you dig into details with the mathematics rather than only the coding, makes it more interesting. Maybe that's just me.
@ccron358
@ccron358 2 года назад
That was a clear explanation of unclear math, loving everything you’re doing
@Asdayasman
@Asdayasman Год назад
I've only watched two of your videos so far, but your approach to things seems to be to generalise a problem to a mathematical form and rearrange it until your inputs are intuitively describable such that you as a game designer can tailor an experience. Seems pretty cool.
@Markyparky56
@Markyparky56 Год назад
I wrote an Aim Assist system for a First/Third Person shooter, primarily using the Resistance 3 GDC talk as a template. I broke it into two components, what I called "Aim Magnetism" and "Aim Forgiveness." Magnetism was an additive/subtractive layer blended into the user's inputs, essentially letting the game nudge and pull the user towards targets they were aiming close to. Forgiveness was a system that worked out the correct direction from the player's weapon to hit the nearest target, which we could blend into the actual fire direction, improving the player's chance to hit without obvious snapping of their camera, something which is far more jarring in a 1st/3rd person perspective.
@DK_Liao
@DK_Liao 2 года назад
Cool work! I am just starting my own implementation of aim assist and this video provides a great starting for me to build upon. Thanks t3ssel8r
@starbi
@starbi 2 года назад
Not an experienced game designer here, but an interesting game to look at is CrossCode. It has amazing combat and also dedicated buttons for melee and ranged projectile attacks. That game actually has zero aim assist for projectiles, but it still feels good, even though it is harder to hit small targets. I think that game balances it by giving you large projectiles to shoot ( instead of arrows or bullets ) and having large enemies. Smaller enemies are intended to be hard to hit and the game wants you to use melee for large amounts of small enemies. Isn't having large projectiles basically a form of aim assist? An idea for aim assist for small hit-scan projectiles (like bullets) would be them actually having a large hitbox, and whenever they detect a hit the visual projectile gets corrected to hit the target. That way you could work around having a snapping system like this at all and avoid some of the additional problems you've shown towards the end. Amazing video by the way, always a great source of inspiration.
@t3ssel8r
@t3ssel8r 2 года назад
Good comment. One slight difference I see with large hitboxes is that they can't thread needles. Otherwise I agree that large projectiles (or equivalently, large enemy hitboxes) are a good way to solve the problem. The projectiles in CrossCode were very functional, and their tactical use was very satisfying, but they were mostly used on very slow moving or stationary targets. It's pretty much impossible to aim and hit Apollo with balls. At least for me.
@ninjahappysquid
@ninjahappysquid 2 года назад
I also think that the "small bullet big hitbox" solution would be potentially more visually jarring, seeing a shot that is clearly going to the miss wide but suddenly hits.
@starbi
@starbi 2 года назад
@@ninjahappysquid That's why I said they would be hitscan, with the visual representation being corrected on attack. Like you said, it would look bad on small projectiles that actually move through the world. :^)
@triplezgames3882
@triplezgames3882 Год назад
Awesome work... I really never thought of any aim assistant beyond the plain snapping solution... I hope to reach that level of professionalism once in my future devlogs! :)
@okeydoke904
@okeydoke904 2 года назад
Amazing video as always!
@zZSlytexZz
@zZSlytexZz Год назад
I cannot believe what I am seeing it with my eyes! LOOL TY SO MUCH!
@Bvic3
@Bvic3 Год назад
The 3blue1brown of game dev. Insane channel. I doubt most game studios have such a math centric approach to gameplay.
@Edwardjames94
@Edwardjames94 Год назад
This is amazing video with great works very well
@stefdevs
@stefdevs Год назад
I did something like this (but not as good, derived with much less math know-how) years ago but this looks even better! I'm glad the idea is seeing the light of day since I failed to ever share it or release something using it.
@danomurdo
@danomurdo 6 месяцев назад
Solid understanding of your algorithms
@dwaarakesh369
@dwaarakesh369 Год назад
So informative, thanks a lot!
@234fddesa
@234fddesa Год назад
You could also make a narrow range within each target that deals more damage or modifies projectile or enemy function in some form, to still reward precision. Like a critical hit sort of thing.
@qwertyfinger
@qwertyfinger Год назад
Truly excellent video!
@rohkalluri
@rohkalluri 2 года назад
Love your work, keep it up!
@maddyv5948
@maddyv5948 Год назад
Great video! Made me fall in love with mathematics all over again ❤
@sentinelav
@sentinelav 7 месяцев назад
The only issue I can see is that the slope between targets must remain linear i.e., f(x) = x, or input mapping between targets will result in varying sensitivity. One way to solve this would be to refer to the target lock method, and retain the snapping functionality, but smoothing the sudden discontinuities. Therefore, each target would have a sharp 'entry' and 'exit', while remaining flattest, and equal to x, at the centre of the target. Other than that, this was an extremely intriguing video, referencing a problem I've encountered but never approached directly.
@rix0r222
@rix0r222 Год назад
Awesome! This video is very timely for my own project. I've just started thinking about aim assist and then I see this in my youtube feed. I love this idea and plan to use it ;)
@Teflora
@Teflora 2 года назад
excellent visualizations!
@sharpTrick
@sharpTrick Год назад
I really appreciate the way you think. I hope you make more videos.
@owendeheer5893
@owendeheer5893 Год назад
This is amazing. As a mathematician I'd love to explore this concept. Very interesting!
@osmanarslan7316
@osmanarslan7316 Год назад
Oh my god so good explained thank you!!!!
@mutantshrimp168
@mutantshrimp168 Год назад
Currently studying computer science to find applications on game dev I always want to find a gamedev channel that use more complex math to solve problems, so I already love this channel
@HassanAli-uj8oq
@HassanAli-uj8oq Год назад
U made it simple man ur subscribers are well deserved
@galogalliani1746
@galogalliani1746 Год назад
You are an excellent instructor. I will stick with you.
@unsuzkurabiye35
@unsuzkurabiye35 Год назад
This video is so good man🎉
@polerin
@polerin Год назад
awesome video on a subject that has bugged me greatly before. The approach that I've wanted to play with is weighting all potential targets within the zone then selecting the highest overall value. The directionality system you've described could play a significant role in that weighting, allowing for a more nuanced understanding of "which is the player actually pointing" than raw stick inputs. You could potentially even have an output be less "aim at this target" and more "aim in this direction". That may sound sorta weird, but it would allow you to do things like check if objects overlap from the pov of the avatar, and aim for that intersection. That would help with your "what if a target is hiding behind another target?" condition. Weighting could be arbitrary values paired with conditionality like AoE, in combat, nearness, etc.
@Heni_zion
@Heni_zion 2 года назад
Amazing video!
@aivrh8502
@aivrh8502 Год назад
your videos make me wanna learn game design
@dudelookatree
@dudelookatree Год назад
very very very insightful
@Kavukamari
@Kavukamari Год назад
i like this video a lot, there's a lot to think about here
@Theboredsheep
@Theboredsheep Год назад
awesome video !!
@hamsoft23
@hamsoft23 Год назад
No entendí, but your videos are so well explained, the graphics that you use to explain the concepts are amazing.
@hrilhirr9306
@hrilhirr9306 Год назад
Will stay tuned to your channal! Cheers!
@CarlBeek
@CarlBeek Год назад
This framing of aim assist is fantastic, well done. IMO, one constraint missing from your model is that the function should be smooth with respect to its first derivative. In particular when "wrapping" round "past" 360°, the first derivative should be continuous unlike what is shown at 7:50.
@Accelerando_poco
@Accelerando_poco 2 года назад
Genius! I can say that both about your thoughts about aim assist and the way you conveyed them 👏
@melendroach6331
@melendroach6331 Год назад
Great video. I'd like to add that enter the gungeon actually has one of the best aim assists I've seen in a game. I don't know if it's present in the PC version, but console (switch in my case) works amazing.
@dominic_sanchez
@dominic_sanchez 2 года назад
I really like the change in style in this video compared to the others, although I will say that the visuals were top notch 👌 but anyways, do you think you would be willing to explain how your camera reacts to the player considering how differently your camera moves? i.e. when the camera follows your character or moves in the direction you're character aims
@mohammadazad8350
@mohammadazad8350 Год назад
Thank you for showing people how amazing math is
Далее
Giving Personality to Procedural Animations using Math
15:30
надувательство чистой воды
00:28
Crafting a Better Shader for Pixel Art Upscaling
12:39
Просмотров 140 тыс.
This Problem Changes Your Perspective On Game Dev
25:51
Color Quantization and Dithering
11:55
Просмотров 400 тыс.
Deferred Lights - Pixel Renderer Devlog #1
8:41
Просмотров 379 тыс.
Making Desert Foliage for my Pixel Art Tactics Game
24:57
How Isometric Coordinates Work in 2D games
5:23
Просмотров 792 тыс.
What Makes a Good Metroidvania?
16:42
Просмотров 524 тыс.
How to Make a Good 2D Camera
11:38
Просмотров 381 тыс.
Dear Game Developers, Stop Messing This Up!
22:19
Просмотров 676 тыс.