Ciekawy kanał na YouTube

Dawno już nie polecałem żadnego kanału na YT, a na taki właśnie ostatnio trafiłem.

Share Button

Wdepnąć na minę

Ostatnio siedząc w pracy zastanawiałem się nad problemem min w trybie multiplayer….

Continue reading

Share Button

Badass Hero – wywiad z twórcą o proceduralnym generowaniu poziomów

Wywiad przeprowadzony na PGA z Andrzejem Pasińskim – osobą stojącą za designem, grafiką oraz animacją Badass Hero.

Continue reading

Share Button

Tworzę grę MMO…

A jeszcze lepiej “Tworzę grę MMORPG”

Takie coś często widać w internetach. Piszą to osoby, które nie mają pojęcia o tworzeniu gier. Nigdy żadnej gdy nie zrobiły, a często nawet nie mają pojęcia o programowaniu, czy choćby o robieniu grafiki.

Jak klikniecie w poniższy obrazek, to będziecie mogli przeczytać kilka takich tekstów z różnych forów.

Na PGA spytałem twórców Gloria Victis – jedynego znanego mi indyczego tytułu MMORPG, który zarabia na siebie. Oto ich odpowiedź na pytanie “Co powiesz osobie, która dopiero zaczyna przygodę z robieniem gier i chce zrobić grę MMO”

Odpowiedzi:

  • Nie
  • Nie rób tego
  • To wymaga strasznie dużo cierpliwości i pracy

Share Button

O Twea(r)kingu jeszcze więcej – by FrozenShade

Pod moim postem o tweakingu różnych rzeczy pojawił się świetny komentarz FrozenShare (współtwórcy SkullStone, którego trailer ostatnio zamieściłem).
Oto ten komentarz:

Parametry broni, lokalizacja… Myślę, że będę miał tu coś ciekawego do powiedzenia. Posłużę się przykładem z mojej gry Skullstone.
Broń w grze posiada kilka parametrów: jakiś bazowy damage, rodzaj, odległość (w polach gry) na jaką poleci, gdy zostanie rzucona oraz kilka innych parametrów związanych z mechaniką. Wszystko to trzymane jest w pliku XML.
Taka broń (jak i inne przedmioty) musi też posiadać garść innych informacji, np ikonkę – jej nazwę i ścieżkę (względną do zasobów gry) można z powodzeniem trzymać we wspomnianym pliku. No a co z nazwą? Nazwa oczywiście też…. I tu pojawia się problem multilanguage – jak to trzymać?

Można każdemu tekstowi w grze nadawać jakiś identyfikator i wszystkie teksty dla danego języka trzymać w osobnych plikach. Rozwiązanie to stosuję… w prostych programach okienkowych gdzie jedynymi tekstami są komunikaty oraz napisy na przyciskach i w okienkach – bo w grach tego tekstu przeważnie jest więcej. Musimy tłumaczyć nie tylko nazwy przedmiotów ale i napisy na GUI, dialogi, jakieś hinty….

A co jeśli by potraktować tekst jako obiekt?
Wracając do wspomnianego itemka w pliku XML, zamiast pisać <name>nazwa itemka</name> można przecież napisać <name><pl>nazwa itemka</pl><en>item name</en></name> a znacznik ‘name’ potraktować jako konstruktor obiektu klasy np. MultilangString. Teraz wystarczy ‘jakoś wykombinować’ (w różnych językach robi się to inaczej) żeby obiekty tej nowej klasy mogły się dodawać do obiektów String (zwykłe łączenie tekstu) i żeby podczas tej operacji był sprawdzany aktualny język (trzymany w jakimś globalnym statiku) i mamy multilang zrobiony praktycznie bezboleśnie z poziomu kodu oraz łatwy w edycji z poziomu plików.
Teksty we wszystkich plikach (dialogi, questy, opisy przedmiotów) zawierały by odpowiednie znaczniki <pl>, <en> i ewentualnie inne, przy dodawaniu obsługi nowego języka dodajemy po prostu nowy znacznik, np <fr> oraz zawartość, edytujemy na raz tylko jeden plik. Oczywiście nowy język musimy też dodać w kodzie… no chyba, że posunęliśmy się do stworzenia pliku z listą języków, gdzie dla każdego języka mamy jego nazwę oraz… znacznik 😉

Share Button

Tewa(r)king

Dobrą praktyką jest określenie zmiennych, które będziesz modyfikować jako designer do modyfikowania właściwości różnych elementów gry.

Powiedzmy, że posiadasz kilka broni w grze, które musisz zbalansować. Hardcodowanie wszystkiego jest złym pomysłem. W momencie projektowania mechaniki broni, postaraj się określić parametry, które będziesz chciał zmieniać. Niech to będzie szybkostrzelność, celność, odrzut itd… Niech kod odnosi się do pliku tekstowego, xmla, tabelek, które będzie Ci łatwo edytować.

Podobnie sprawa ma się z lokalizacjami językowymi. Nie umieszczaj w kosie gry tekstu, a jedynie odwołania do plików lokalizacyjnych, aby móc łatwo tworzyć dodatkowe wersje gry. Trzeba jedynie pamiętać o tym planując UI, gdyż może okazać się, że to, co w jednym języku zajmuje 10 znaków w innym może zajmować 30.

Share Button

Telemetria. Kilka dodatkowych słów.

Muszę dopowiedzieć coś o telemetrii. Coś ważnego, o czym zapomniałem. Chodzi dokładnie o to, jak zabrać się do tego zagadnienia.

Po pierwsze musisz zadać sobie pytanie: Na jakie pytanie chcę dostać odpowiedź. Następnie musisz określić jakie dane będą potrzebne ci do odpowiedzenia na to pytanie i przy jakich okazjach powinny być zbierane.

Przykład?

Chcę wiedzieć gdzie i z jakiego powodu gracze umierają. Aby to stwierdzić potrzebujesz zebrać dane położenia, oraz przyczynę śmierci w czasie, gdy wystąpi event ‘śmierć_gracza’.

Mając już dane trzeba je jakoś uporządkować. Excel 2016 posiada narzędzie do narzucania danych na mapy! Z jego pomocą można bardzo łatwo stworzyć heatmapę.

Share Button

Slavic Game Jam po raz kolejny

Po raz kolejny zapraszam was do wzięcia udziału w tym wydarzeniu. Jak buk da, to i ja się tam pojawię, choć niestety jammował nie będę, ale mam nadzieję pogadać z innymi 🙂

Więcej informacji pod tym linkiem

Share Button

Kurs pisania scenariuszy gier komputerowych

Pierwszy w historii kurs pisania scenariuszy gier komputerowych rusza w lipcu Krakowie. Warsztaty poprowadzą eksperci z CD Projekt, Reality Pump Studios i GameDesire. Udział jest bezpłatny, a aplikacje można składać do 16 czerwca. Szkoła Letnia Scenariuszy Gier Komputerowych to pierwszy w historii projekt dla scenarzystów, twórców literackich, copywriterów, którzy chcą tworzyć scenariusze gier komputerowych. Continue reading

Share Button

Iteracja

Iteracja – Czynność powtarzania czegoś w ramach pętli. Ta definicja z pewnością znana jest programistom. W pracy designera ta pętla wygląda następująco:

Początek pętli > Zaplanowani zmian (ulepszeń) > Wprowadzanie zmian > Weryfikacja zmian > Koniec pętli.
Tylko po co to?
Iteracji w designie używa się, aby ulepszać to, co stworzyliśmy na początku. Krok po kroku zbliżając się do celu, którym jest oczywiście stworzenie dobrego produktu.

Continue reading

Share Button