Przejdź do głównej treści

Uczymy Robić Gry

Zajęcia onlineLekcja 1x45min
Opis jednozdaniowyOmówienie tematu wykorzystania ScriplableObjects w architekturze projektu.
Materiały źródłowePodstawowe:

“Overthrowing the MonoBehaviour Tyranny in a Glorious Scriptable Object Revolution”, R. Fine
https://www.youtube.com/watch?v=6vmRwLYWNRo

“Game Architecture with Scriptable Objects”, R. Hipple
https://www.youtube.com/watch?v=raQ3iHhE_Kk

“Create modular game architecture in Unity with ScriptableObjects”
https://unity.com/resources/create-modular-game-architecture-scriptableobjects-unity-6

Opcjonalne:
“Reference Objects In Your Unity Game Flawlessly”, PracticAPI
https://www.youtube.com/watch?v=xYRFwFXNskc

“The Power of Scriptable Objects as Middle-Men”, samyam
https://www.youtube.com/watch?v=qUYpQ8ySkLU

“Better Data with Scriptable Objects in Unity (Tutorial)”, Unity
https://www.youtube.com/watch?v=PVOVIxNxxeQ 

“Game architecture with ScriptableObject | Open Projects Devlog”, Unity
https://www.youtube.com/watch?v=WLDgtRNK2VE
Czemu służy ta lekcjaCelem tej lekcji jest zaprezentowanie czym są ScriptableObjects, jaka jest ich specyfika oraz w jakich kontekstach można je wykorzystać. Docelowo pozwoli to odbiorcom tworzyć łatwiej zarządzalne projekty.

Jak się przygotować?

By przygotować się przeprowadzenia lekcji należy zapoznać się z materiałami źródłowymi, a następnie przygotować prezentację. Głównym celem tego webinaru powinno być przedstawienie specyfiki ScriptableObjects oraz zalet korzystania z nich. W trakcie prezentacji powinny również paść informacje na temat praktycznych zastosowań tych obiektów.

Najważniejsze tematy, które powinny zostać omówione to:

  • Czym są ScriptableObjects oraz czym różnią się od MonoBehaviours
  • Na co należy zwracać uwagę przy pracy w nimi (np: zmiany w trakcie gry są utrwalone w Scriptablach)
  • W jaki sposób można wykorzystać Scriptable w projekcie, m.in:
    • Parametryzacja elementów gry (np. postacie, poziomy, pojazdy, lub po prostu trzymanie danych)
    • Współdzielenie referencji poprzez Scriptable
    • Scriptable jako zmienne oraz eventy
      • Sugeruję unikania wykorzystania Scriptable (FloatVariable -> HealthSO) jako konkretnej zmiennej, a bardziej jako grupy wartości (CharacterSO, posiadający wartość health)
      • Powyższe pozwala łatwiej debugować kod i szukanie referencji nie jest aż tak uciążliwe (chociaż to też może być tutaj różne podejście do tego tematu)
    • Architektura projektu w oparciu o Scriptable
  • W jaki sposób tworzyć ScriptableObjects w projekcie – przykład z prostym kodem

Powyższa lista nie jest wyczerpująca i warto rozszerzyć ją o własne sposoby wykorzystywania ScriptableObjects we własnych projektach. Poza suchą prezentacją zdecydowanie warto zaprezentować przykłady wykorzystania w praktyce. Pozwoli to lepiej zrozumieć zalety i zastosowanie tych obiektów w praktyce.

Jaką wiedzę należy przekazać w trakcie zajęć?

Dzięki udziałowi w zajęciach uczestnicy:

  • Poznają czym są ScriptableObjects w Unity
  • Dowiedzą się do czego mogą zostać wykorzystane wraz z omówieniem zalet i wad
  • Poznają praktyczne zastosowanie tych obiektów w projekcie
  • Dowiedzą się jak tworzyć własne ScriptableObjects

Powyższe efekty kształcenia to minimum wiedzy i/lub umiejętności, jakie muszą zostać przekazane podczas zajęć.

Warto zapamiętać!

Z angielskiego “key takeaways”, czyli kluczowe zagadnienia, które powinny zostać przyswojone przez odbiorców kursu.

  • Czym są ScriptableObjects
  • Jakie jest ich zastosowanie
  • Gdzie warto z nich korzystać
  • Poznają praktyczne przykłady wykorzystania ich w projektach