What you will learn:
Tilemap workflow
Learn how to use 2D Tilemap system in Unity to crate a dungeon map.
Shooting mechanic
We will prototype a Top-down shooting game mechanic with a simple Idle->Chase->Attack AI using Finite State Machine for the Enemies.
Juiciness
We will work on making our shooting mechanic by exploring:
- Unity 2D Lights system, spawning
- Developing custom flash and dissolve shaders using ShaderGraph
- By exploring REAL feedback from game testers to improve our game.
What you can expect:
Learn to write clean, object oriented code
Making games is an iterative process - which basically means that things changes (quite often). If we create a maintainable code base for our game project from the start it is very easy to interduce those changes. I will do my best to show you how to create small maintainable classes that we can easily modify and extend.
Project files
Project files and github links where you can check the code changes are available per each video / section where we do some coding.
English subtitles
For the videos I have uploaded English (autogenerated) subtitles.
Fully working 2D platformer game template at the end of the course
When you are done you will have a template of a 2D shooter game that you can convert into your own game.
14-Days refund policy
If you don't enjoy the course let me know and I will issue a refund if you are within the 14 days from the date that you made the purchase
My help
If you don't understand something just ask here in the comment section or on courses Discord channel. I do my best to daily answer any question.
Check the reviews:
About Sunny Valley Studio:
Hi! I'm Peter 👋
I am a game developer creating games and prototypes in Unity since 2017 (https://svstudio.itch.io/)👍
I love programming (started learning as a kid) and playing games. That is why I started creating games 😁
I share my knowledge about coding in C# and creating game mechanics in Unity at Sunny Valley Studio YT channel and in my video courses🙂
I am also part of Unity insiders program so that I can bring you up-to-date solutions to how to implement different game mechanics in Unity 🤓
My goal is to make learning programming and making games easy by explaining everything in a step-by-step manner, breaking it into small manageable chunks of knowledge.
I know that learning to code can be hard. At the same time creating games is a very much iterative process which means that new features needs to be added to the code. I want to show you how you can evolve your code and your unity project so that it is easy to work on it and so that if something break you can quickly fix it. Yes it will require you learning how to code well. But I tell you it will be worth it (and a time saver later on).
Videos:
- Intro - Preparing the project (6:15)
- Camera Setup - Ghosting fix
- Preparing sprites for pixel graphics (5:48)
- Preparing sprites - splitting tilemap (4:34)
- Creating player avatar (6:30)
- macOS users Visual Studio tip
- Getting input (11:23)
- Basic Player Movement (5:54)
- Movement Data Scriptable object (7:32)
- Better player movement (9:26)
- Better player movement fix
- Adding player animations (10:35)
- Playing animations (7:59)
- Getting pointer input (5:20)
- Making player look at pointer (12:22)
- Adding step audio (11:16)
- Project files so far
- Leave a review!
- Tilemap setup (8:24)
- Creating floor tiles (7:19)
- Sprite sorting order (4:32)
- Creating walls (7:47)
- Adding collisions (5:47)
- Adding cinemachine camera to follow player (4:10)
- Fixing 2D light (4:35)
- Unity 2021.2 + "Point light" is now "Spot light"
- Adding Torches (10:55)
- Adding shadows (5:54)
- Pixel perfect camera (4:56)
- Project files so far
- Refer a friend program
- Preparing weapon sprite (5:21)
- Aiming our weapon through script (7:26)
- Rendering the weapon (9:37)
- Fixing weapon flip logic
- Preparing Weapon script (7:57)
- Using AgentWeapon script to shoot (7:41)
- Finishing Weapon script P1 (11:32)
- Finishing Weapon script P2 (11:20)
- Weapon Data Scriptable Object (10:01)
- Creating bullet prefab (11:27)
- Bullet collisions and BulletDataSO (9:00)
- Regular Bullet script (9:16)
- BulletDataSO (10:40)
- Spawning a bullet (11:19)
- Detecting bullet collision (7:18)
- Shoot sound effect (9:55)
- Changing cursor icon to crosshair (3:42)
- Project files so far
- Preparing enemy gameobject (11:25)
- Shooting the enemy (7:10)
- Enemy class and IHittable interface (11:30)
- EnemyData (7:02)
- Enemy Audio (13:22)
- EnemyAI Introduction (5:44)
- EnemyBrain (12:55)
- State Machine architecture (7:54)
- AI Action, Transition, Decision and State classes (15:54)
- Adding AI structure to the Enemy object (13:14)
- Distance decision (9:16)
- ChaseState and IdleState (9:03)
- Finishing the Attack state (8:07)
- Fixing rendering issues - Transparency Sort Mode (3:49)
- Enemy Attack player logic (11:34)
- Adding IHittable to player (9:06)
- Bug Fix - Weapon Damage
- Project files so far
- What is juiciness? (5:42)
- Feedback architecture setup (8:57)
- Weapon feedback - muzzle flash (7:10)
- Weapon Flash light Feedback (9:39)
- Weapon Shake Feedback (9:51)
- Cinemachine Camera shake feedback (11:26)
- Bullet impact - prefabs (13:35)
- Implementing Bullet impact feedback (8:07)
- Fix - Bullet Impact Effect spawning away from the wall (7:12)
- Minor fixes (3:56)
- Enemy Feedback Hit - introduction (3:16)
- Unity 2020.2 Shader Graph Changes
- Solid Color shader Unity 2020.2 (16:03)
- Fixing Solid Color Shader Unity 2020.2 (16:03)
- Dissolve shader Unity 2020.2 (15:59)
- Improving Enemy Death Feedback (9:51)
- PostProcessing (8:20)
- Fixing bullet issues (5:48)
- Adding Time Freeze feedback (16:46)
- Player Death Animation (12:22)
- Analyzing game testers feedback (4:53)
- Adding knockback to enemies (14:08)
- Bullet shell generator - object pool (8:14)
- Bullet shell generator - implementation (14:16)
- Background music (2:23)
- Project files so far