6 Code Smells REFACTORED to Patterns!

Опубликовано: 02 Июнь 2024
на канале: git-amend
9,342
737

Command, Flyweight, Factory, Builder, Strategy, and Decorator can often be implemented to solve common code smells - learn how into todays video as we refactor an Enemy Spawner from a naive implementation to a robust, modular and extensible system using game programming patterns.

NOTE: The custom `RandomPointInAnnulus` method achieves a uniform distribution within an annulus by using the square root of a uniformly distributed random value to determine the radius, ensuring an even spread of points across the area. This approach accounts for the increasing area with the square of the radius, resulting in a uniform point density. In contrast, Unity's `Random.insideUnitCircle` generates points based on a uniform distribution of radius, leading to a higher concentration of points near the center because it doesn't account for the larger area available at greater radii.

Want to support me? 😀
Buy me a coffee! https://ko-fi.com/adammyhre

🔔 Subscribe for more Unity Tutorials    / @git-amend  

Discord:   / discord  

#unity3d #gamedev #indiedev

▬ Contents of this video ▬▬▬▬▬▬▬▬▬▬

0:00 A Naive Spawning System
1:16 Flyweight
4:00 Factory
6:10 Strategy
9:05 Command
10:40 Builder
13:05 Decorator

More Useful Code:
https://github.com/adammyhre?tab=repo...
Unity Utility Library: https://github.com/adammyhre/Unity-Utils
Lock Inspector Hotkey: https://gist.github.com/adammyhre/475...

Assets Shown In This Video (Affiliate Links)
Dungeon Mason Tiny Hero Duo: (FREE): https://assetstore.unity.com/packages...
Hierarchy Icons: https://assetstore.unity.com/packages...
Tiny Heroes: https://assetstore.unity.com/packages...
Fantasy Forrest: https://assetstore.unity.com/packages...
Better Transform: https://assetstore.unity.com/packages...
Better Mesh Filter: https://assetstore.unity.com/packages...
Kyeoms VFX: https://assetstore.unity.com/publishe...

Follow me!
https://linktr.ee/gitamend