- Już dzisiaj wyjazd do Grecji, ale nie mogę zaniedbać czytelników (o ile jakichś mam, ale jeśli wierzyć statystykom Google Analytics wychodzi na to, że ktoś to jednak czyta).
Tym razem krótko, ale rzetelnie – ataki. Szanse powodzenia oraz przykładowy atak specjalny – Tech Talk! Czytaj dalej „LifeLike – Postać i Ataki”
Android SDK – Setup
Hello, this is my first post in english. As I’ve promised in polish version of this post, I wanted to recreate my Android SDK Tutorials. This time, with new technologies, new patterns and in 2 languages! Deal With It.
Czytaj dalej „Android SDK – Setup”
LifeLike – Postać i Statystyki
Ostatnio poruszyłem temat Testów, które przydadzą się do kolejnego punktu – postaci. W końcu od tego zaczęły się moje koncepty. Moja druga połówka trochę mi pomogła, jak rozpisywałem, jak to widzę na ścianie, za co jej ogromnie dziękuje. Więc zapraszamy do cyklu : Postać i Statystyki
Testy
Wróćmy do testów z poprzedniej części (link), bo jest to integralna część tego fragmentu wpisu. Niestety, dodatkowe projekty w Solucji, które nie są od Unity, są czyszczone przy każdym przeładowaniu, więc trzeba ręcznie dodać wcześniej stworzony projekt z testami do naszej solucji, za każdym razem, gdy się solucja nadpisuje przez edytor Unity. Z racji, że ostatnio pracuję bardziej na kodzie, nie muszę się aż tak często męczyć. Wszelkie testy można znaleźć na githubie w projekcie Test.
Base Character
Klasa, która określa zarys postaci. Czy to naszej, czy przeciwnika. Odpowiada za ataki, specjalne ataki, statystyki postaci, jej punkty życia. Każda klasa postaci, którą tworzę, dziedziczy po niej, dodając do głównych funkcji dodatkowe, jak np. więcej typów ataków.
Dzięki tej uniwersalności, łatwiej zrobić back-end do ataków, oraz zrobić je bardziej generyczne. Po prostu same plusy z obiektowego punktu tworzenia gier. Jak to powinno praktycznie wyglądać ? Może ktoś mi powie, kto jest bardziej wprawiony.
Dzięki temu sposobowi, łatwiej będziemy mogli się dostać do statystyk dla naszej postaci, np. z poziomu UI.
Tworzenie postaci
Żeby nie iść w złe nawyki i byle jaki kod, stworzyłem CharacterFactory, który zwraca klasę ze statystykami, w zależności od naszej nazwy. W praktyce, w późniejszej fazie i po obliczeniach dla systemu walki itp. Charakterystyki startowe, będą charakterystyczne dla danej klasy, a potem w fazie rozwoju, będziemy mogli je rozszerzać…
Na tworzenie postaci, stworzyłem testy większości funkcji, choć nie są kompletne … jeszcze 🙂
W każdym bądź razie, system walki ma swoje zaczątki, jednak będzie brane pod uwagę coś więcej niż siła, a każde wyliczenie do podstawowej walki będzie brane pod unit testy, więc spokojnie 🙂
Przy okazji stworzyłem nowe klasy : Super Hobo (styl małpy, wiedźmińskie alkohole itp) oraz klasy, które będą skupione na przeciwnikach jak Boss, Hobo itp
public static BaseCharacter GetPlayerClass(string classType, CharacterStatisticDataModel statistic ) { switch (classType) { case ItGuyClass.ClassType: return new ItGuyClass(statistic); case SuperHoboClass.ClassType: return new SuperHoboClass(statistic); case HoboClass.ClassType: return new HoboClass(statistic); case CorpoBoss.ClassType: return new CorpoBoss(statistic); case CorpoRat.ClassType: return new CorpoRat(statistic); default: return null; } }
Atak
W początkowej fazie Damage = Siła.
Lecz w następnych etapach rozgrywki, powodzenie ataku będzie zależne od zręczności obu postaci, a siła ataku będzie liczbą losową zmniejszoną o przyszły ekwipunek postaci. Oczywiście szansa uniku będzie tym większa, im większa różnica zręczności, a sam atak będzie liczbą losową (taaak, grało się w RPG).
public virtual string Attack(BaseCharacter enemy) { var damage = Strength; enemy.HealthPoint -= damage; return GameLogSystem.Attack(damage, enemy); }
Podsumowanie
To tyle na dzisiaj, postać będzie rozwijana przez co najmniej 2-3 części, ale nie pominę oczywiście tworzenia przeciwnika na mapie oraz UI przygotowanego do walki (wyświetlanie logów, ataku itp).
Miłego czytania 🙂
Cały kod dostępny na porn… znaczy githubie!
ANDROID – INSTALACJA SDK
W ramach DSP2017 poza #LifeLike postanowiłem zrobić popularny ostatnio w kinach Remastering. Dawno planowałem, ale nie było motywacji do tego, ale wypada nadrobić istotne braki w tematyce mobilnej, którą w końcu się specjalizowałem.
Na pierwszy plan wchodzi instalacja SDK, o którą były pytania. Jako bonus, w najbliższym czasie dodam wersję angielską tego postu (nie, nie użyje google translate!)
Instalator
Pierwsza część wpisu dotyczy instalacji narzędzi na system od Apple. Tak, system, którym tak długo gardziłem, aż po zakupie stwierdziłem “Wooow, to taki ładny i praktyczny w obsłudze linux, którego lubi Adobe i Unity”. Instalacja w obecnych czasach nie jest tak skomplikowana jak wcześniej. Pierwszy sposób ogranicza się do kilku kroków, ale niezależnie od platformy jest on prosty. Polega ona na pobraniu paczki Android Studio ze strony [Download Android Studio and SDK Tools | Android Studio](https://developer.android.com/studio/index.html).
Strona, z której pobierzemy Android Studio z SDK
Wystarczy zainstalować i już.
Homebrew
Druga opcja przyda się każdemu programiście i użytkownikowi Maca. Chcąc, nie chcąc, każdy szanujący się programista powinien pogodzić się z linią komend, gdyż bywa ona bardzo użyteczna i odpowiednio się odwdzięczy.
Pewnie wiele pamięta z ubuntu “apt-get install” do instalacji aplikacji, wtyczek itp. W przypadku Mac OS, takim narzędziem jest właśnie Homebrew:https://brew.sh).
Instalacja jest prosta. Uruchamiamy terminal, wklejamy komendę ze strony Android i enter!
Po zainstalowaniu, wpisujemy w linii komend aby pobrać sdk:
brew install android-sdk
Homebrew pobiera android-sdk i instaluje go na naszym urządzeniu. Jeśli potrzebujecie dodać sdk do PATH, aby mieć dostęp do narzędzi z platformy, wpisujemy w konsoli :
export PATH=$PATH:/usr/local/Cellar/android-sdk/<VERSION>/tools:/usr/local/Cellar/android-sdk/<VERSION>/platform-tools
gdzie to VERSION naszego SDK.
Podsumowanie
To tyle w dzisiejszym odcinku. Jeśli chcecie coś więcej na ten temat, piszcie albo na FP albo na maila.
LifeLike – TDD
Po tygodniu na Islandii wypadłem z obiegu i wprawy w pisaniu bloga.
Jednak po powrocie, trzeba ruszyć pełną parą. Tematem dzisiejszego postu są Testy i początek wprowadzenia TDD do projektu. Coś, co mi się przyda do projektów prywatnych jak i służbowych.
Tak więc zacznijmy!
Czytaj dalej „LifeLike – TDD”
LifeLike – Światło
W chwili, gdy czytacie ten post, ja podróżuję po Islandii, polując na zorze polarną. W grze także zapolujmy trochę na światło, aby dodać jej trochę uroku, a nawet i mroku.
Czytaj dalej „LifeLike – Światło”
LifeLike – Poruszanie postacią
W LifeLike mamy Mapę , ścianę, ale pozostał kluczowy motyw: Poruszanie Postacią! Przyznam, że był to jeden z trudniejszych dla mnie fragmentów, gdzie pomogła mi dokumentacja dostarczona przez Unity.
Czytaj dalej „LifeLike – Poruszanie postacią”
LifeLike – Generowanie Mapy: Ściany i drzwi
W dzieciństwie na dyskotekach szkolnych zawsze byłem w grupie, która ściany podpierała zawodowo, ale to nie o tych ścianach mowa. W dzisiejszym odcinku uzupełnię ten pustostan w stanie developerskim o jakiekolwiek ściany. Wiecie prywatność dla wrogów, tajemnica, drzwi i takie tam! Zapraszam. Czytaj dalej „LifeLike – Generowanie Mapy: Ściany i drzwi”
Daj się poznać 2017 – LifeLike
Po weekendowym męczeniu “drugiej połówki” na temat klas postaci oraz moim sposobie na generowania map, postanowiłem tworzyć mapę kafelkową, z czego ściany, będą dostępne jako dodatkowy obiekt.
Let’s Begin!
Daj się poznać 2017
Po dłuższej przerwie i zmotywowany paroma wydarzeniami, w tym tytułowym konkursem “Daj Się Poznać 2017”, postanowiłem wrócić do sekcji programistycznej. Konkurs zainspirował mnie do pracy nad sobą i systematycznością przy “projektach do szuflady” .. znaczy na githuba 🙂
Czytaj dalej „Daj się poznać 2017”