Tworzenie gry w Unity łączącej łamigłówkę z walką

Match
Clash.

Plansza logiczna, która zmienia walkę ponad nią.

W JetApps byłem jedynym programistą Unity gry Match Clash. Zaprojektowałem i napisałem jej kod: łączenie płytek łamigłówki decyduje, które jednostki trafią do walki i gdzie będą walczyć. Stworzyłem też automatyczną walkę, ulepszenia gracza i narzędzia do konfiguracji poziomów dla projektanta.

Moja rola i wkład zespołu

Zaprogramowałem grę.
Zespół stworzył grafikę i projekt gry.

Odpowiadałem za programowanie w Unity. Grafik tworzył oprawę wizualną, a projektant gry określał kierunek projektu.

Moja odpowiedzialność

Całość programowania w Unity

Stworzyłem planszę łamigłówki, walkę, jednostki, wieże, ulepszenia, działanie interfejsu, zapis gry i samouczki. Opracowałem też narzędzia do edycji poziomów, przygotowałem wersje mobilne i aktualizowałem kod, gdy zespół testował pomysły.

Wkład zespołu

Kierunek artystyczny i projektowanie gry

Grafik tworzył oprawę wizualną, a projektant gry określał kierunek projektu i wymagania dotyczące rozgrywki. Za pomocą kodu połączyłem te pomysły i materiały w działającą grę w Unity.

Jak przebiega runda

Ruchy na planszy sterują walką.

Każdy ruch na planszy wybiera typ jednostki, jej siłę i pas, na który trafia. Nagrody za walkę pomagają następnie ulepszać jednostki na kolejne rundy.

  1. 01

    Ruch na planszy

    Kafelki do łączenia

    Przeciągnij przez sąsiadujące, pasujące kafelki miecza, łuku lub tarczy na planszy 6×6. Archiwalna kompilacja rozpatruje łańcuchy dwóch lub więcej kafelków; wcześniejsze eksperymenty produktowe obejmowały również warianty match-3.

  2. 02

    Wybór pasa

    Wybierz linię

    Zakończenie łańcucha po lewej lub prawej stronie planszy wybiera wieżę gracza, która wyśle jednostki do walki.

  3. 03

    Wynik walki

    Wysłanie jednostek do walki

    Łączenie płytek z mieczem, łukiem lub tarczą tworzy odpowiedni typ jednostki. Silniejsze łańcuchy tworzą jednostki wyższego poziomu albo więcej jednostek w eksperymentalnym trybie tłumu.

  4. 04

    Postępy po walce

    Nagroda i ulepszenie

    Wygrane i przegrane aktualizują trofea i monety. Karty jednostek, koszty ulepszeń, zdrowie, obrażenia i poziomy wizualne przenoszą progresję do następnej walki.

Plansza łamigłówki

Wybór jednostki, jej siły i pasa.

Walka

Jednostki poruszają się, wybierają cele i atakują wieże.

Systemy gry i tworzenie poziomów

Co pozwala rozegrać każdą rundę.

Połączyłem ruchy na planszy, automatyczne walki i zapisane ulepszenia oraz stworzyłem narzędzia, które pozwalały projektantowi dodawać kolejne poziomy.

Plansza łamigłówki

Plansza, która pozostaje grywalna.

Walidacja wyboru, sąsiedztwo po przekątnej, kafelki bonusowe, przeszkody statyczne, grawitacja i uzupełnianie, odwracalne ścieżki przeciągania, samouczki oraz automatyczne przetasowanie, gdy nie pozostaje prawidłowy ruch.

  • Siatka 6×6
  • Łańcuchy match-2+
  • Kafelki bonusowe
  • Uzupełnianie i przetasowanie

Zasady walki

Trzy pasy, wieże i jednostki walczące automatycznie.

Tury gracza i komputera koordynują po trzy wieże z każdej strony, kierowanie na linie, ataki wręcz i dystansowe, wybór najbliższego celu, zdrowie, zniszczenie oraz stan wygranej/przegranej.

  • Miecz · Łuk · Tarcza
  • Tury komputera oparte na regułach
  • Kierowanie do wież
  • Cele walki

Nagrody i ulepszenia

Nagrody za walkę wzmacniają jednostki gracza.

Gracze zdobywają monety, trofea, karty jednostek i skrzynie z nagrodami. Ulepszenia są zapisywane i obowiązują w kolejnych walkach.

  • Karty i monety
  • Ulepszenia jednostek
  • Drabinka trofeów
  • Lokalne zapisy

Tworzenie poziomów

Projektant mógł tworzyć i zmieniać poziomy.

Dane ScriptableObject i autorski edytor Odin udostępniały układy planszy, dostępne jednostki, czas przeciwników, poziomy jednostek i autorskie sekwencje pojawiania bez przepisywania kodu wykonawczego.

  • 60 zasobów poziomów
  • Dwa warianty trybu
  • Edytor poziomów 6×6
  • Sekwencje przeciwników
112
Autorskie pliki C#
7,600+
Wiersze kodu rozgrywki
60
Skonfigurowane poziomy
3
Typy jednostek
Unity 2021 LTS
Archiwalna wersja projektu

Wydajność gry

Ponowne użycie obiektów przy powtarzających się atakach i efektach.

Pula obiektów pozwala ponownie używać pól planszy, płytek, trzech typów jednostek, strzał, linii i efektów. Ogranicza to wielokrotne przydzielanie pamięci, gdy obiekty pojawiają się i znikają podczas gry.

Kolejność tur

Łamigłówka i walka postępują jako jedna tura.

Asynchroniczne sekwencje animacji, zdarzenia gry i kontrolowane skalowanie czasu porządkują wejście, rozpatrywanie kafelków, tworzenie jednostek, działania komputera oraz następną decyzję gracza.

Systemy walki wielokrotnego użytku

Różne jednostki korzystają ze wspólnego kodu walki.

Jednostki i wieże współdzielą kod ruchu, broni i wyboru celu, zachowując własny sposób atakowania. Pozwala to obsługiwać jednostki walczące wręcz i na dystans, jednostki z tarczami oraz łuczników na wieżach bez umieszczania całej logiki walki w jednym skrypcie.

Dotyk, animacja i reakcje gry

Każde działanie ma być czytelne na ekranie telefonu.

Haptyka, UI i reakcje walki oparte na DOTween, wskazówki samouczka, paski zdrowia oraz responsywne sekwencje nagród sprawiają, że systemy są czytelne na pionowym ekranie mobilnym.

Prace nad grą w 2022 roku

Zaprojektowałem i zaprogramowałem systemy gry.

Tworzyłem Match Clash w 2022 roku. Zasady planszy, kolejność tur, systemy walki i narzędzia edycyjne powstały przez bezpośrednie programowanie i debugowanie. Dziś mogę korzystać z AI jako pomocy w pracy, nadal odpowiadając za zrozumienie i sprawdzenie kodu.

Publiczny film projektu

Zobacz, jak ruchy na planszy wpływają na walkę.

Trzyminutowy film portfolio pokazuje wybór na planszy, walki jednostek w czasie rzeczywistym, presję na wieże, nagrody za zwycięstwo, drabinkę trofeów i ekrany ulepszania jednostek.

Obejrzyj na YouTube

Film z rozgrywki i miniatura pochodzą z publicznego portfolio Artem Shkabura na YouTube.

Wykonane prace

Co stworzyłem dla tego projektu.

  • 01Całość programowania w Unity: łamigłówka, walki, nagrody i ulepszenia
  • 02Narzędzia do edycji poziomów z 30 standardowymi poziomami i 30 konfiguracjami trybu tłumu
  • 03Ponowne używanie obiektów dla wydajności, wibracje, samouczki i zapis postępów na urządzeniach mobilnych
  • 04Kod do ponownego wykorzystania, który pozwalał zespołowi testować różne zasady łączenia płytek i wyniki walk

To studium dokumentuje mój zakres inżynierski Unity, archiwalne repozytorium i publicznie widoczną rozgrywkę. Nie deklaruje wydania w sklepie, sieciowego PvP, działającej tabeli wyników, wyników komercyjnych ani samodzielnego autorstwa grafiki i projektu gry.

Jak mogę pomóc Twojemu projektowi

Tworzysz grę, która łączy różne sposoby rozgrywki?

Zamieńmy Twój pomysł na grę w grywalną wersję.

Mogę stworzyć i przetestować grę łączącą różne mechaniki, napisać kod potrzebny do pełnej gry lub zaktualizować starszy prototyp do kolejnego testu z graczami.

Ograniczony budżet? Podaj swój priorytet i kwotę, z którą czujesz się komfortowo. Jasno powiem, jaki pierwszy krok jest realny.

Poufność od pierwszej rozmowy

Zliczam działania kontaktowe wyłącznie zbiorczo, bez identyfikatorów odwiedzających i treści wiadomości.

Wróć do projektów