Postanowiłem "jakiś czas temu" zacząć przygodę z piksel-artami, i nabijać kolejne poziomy. Od zera do piksel-mastera. Ćwiczymy! Coś tam zaczyna się już dziać, co nie wygląda jak lekcji podstawówki, ale bunkrów jeszcze nie ma. Zupełnie nie idzie mi cieniowanie. No, ale samo się nie nauczy!
W samej grze dużo się nie dzieje. Po Ludum Dare robię spory refactoring; pisanie przez 48h ma tę wadę, że ładnego kodu się nie produkuje. Dlatego te
#gamedev Polecicie jakiś dobry, lekki, edytor generycznych tileowanych map z możliwością exportu do csv/json/xml? Nie chce mi się tego pisać na razie bo to bezsensowna robota na etapie alfa a potrzebuje wiekszej mapy niz 10x10 generowanej w petli ;)
Jakbyś chciał coś na szybko bez pisania parserów do Tiled (chociaż Tiled super sprawa, też polecam), to dla mnie sprawdzały się nieźle bitmapy, na zasadzie: czarny pixel - ściana, biały - podłoga, czerwony - spawn postaci, odcienie 00FFFF-FFFFFF (maska 0x00FFFF) to jakieś sensory na mapie, etc, etc.
No i gra wysłana. Nie starczyło czasu połatać niektórych bugów (jak dalekie od optymalnego używanie Box2D). W porównaniu do planu wyciąłem 80% ficzerów, żeby cokolwiek wysłać. Niestety na compo nie zdążyłem, poszło na Jam. Lekcja jest taka, żeby na przyszłość stworzyć tool do szybkiego generowania kodu do konfigurowania komponentów i integracja z Tiled.
Dzień 1 minął całkiem sprawnie, chociaż ciągle mam poczucie czasu straconego przez zabawę w C++-owanie. Niestety mój silnik nie był jeszcze gotów na integrację z Lua więc wszystko trzeba robić ręcznie. No i silnik został pierwszy raz sprawdzony w użyciu. Za wesoło nie jest, ale mam pogląd na to co działa, a co do naprawy. Jest dużo lepiej niż ostatnio.
Dzień 2 to dodanie interakcji z przeciwnikami, stworzenie garści assetów, proste cut-scenki
@Paplo: Tak. Piszę na wirtualnej maszynie, więc demonem prędkości toto nie jest :D Nie miałem dziś czasu zrobić porządnie struktury do statycznej mapy, więc każdy kafelek ląduje we własnym SFMLowym obiekcie i na każdym wołany jest oddzielny draw w OpenGLu. W Box2D wrzucanie statycznego świata do małych prostokątnych obiektów też trochę czasu zabiera.
ECS ogólnie jest prosty w założeniach. Separujemy dane od składania danych w obiekty, a to wszystko przetwarzamy w systemach, które mają tylko logikę.
Nie widzę jednak prostego sposobu w takiej architekturze jak poradzić sobie z "mięskiem" tworzącym całość. Te wszystkie małe pierdoły bez których gra jest płaska i mało atrakcyjna.
Przykład: Jeden z obiektów posiada komponent opisujący parametry obiektu, jak poziom czy ilość doświadczenia. Logika gry (jeden z systemów) chce
@Vall @devml: Ewentualnie sterowaniem hudem może zajmować sie bezpośrednio logika gry (np komenda podczas zdobycia exp), szczegóły implementacji zależą od konkretnego przypadku.
@Vall: jeśli źle podzielisz odpowiedzialność komponentów to wyjdą ci takie kwiatki jak opisujesz. Sorry ale już nie mogę czytać kolejnych przykładów zawierających komponent renderable i position. Unity to ecs. Jak tam robisz mięsko?
Hej Mirki. Trafiłem dziś trochę przypadkiem na ciekawą książkę o OpenGLu. Dla zainteresowanych, za darmo jest kilka rozdziałów: http://openglinsights.com
Szukam też wszystkiego (artykuły, książki) o podobnym stopniu zaawansowania. Ktoś coś zna? #gamedev
#gamemaker Mirki, wątpie, żeby komuś w ogóle chciało się mi pomóc, ale jak komuś się nudzi to proszę :) Mam taki kodzik: http://wklej.org/id/1714133/ I taki zestaw sprite'ów: ScreenPlik .gmsrc Problem: Screen Zaznaczone czerwonymi strzałkami klocki powinny mieć zielony róg (index 11), próbowałem już kombinować, ale wychodziło mi najwyżej tyle, że klocki zaznaczone na czerwono były dobrze, ale te na zielono dostały index 11 i 12 zamiast 14 i 15. #gamedev #
- Dzięki aplikacji "tilda" jednym klawiszem mogę przywołać terminal, zrobić coś pilnego i jednym klawiszem terminal schować. Coś jak konsola w Quake. Przykład: odpalam grę i chcę szybko zobaczyć logi jak na bieżąco śmigają po ekranie.
- Dzięki terminalowi mogę bardzo szybko znaleźć to czego szukam. grep z odpowiednimi opcjami (-i, -v, -r), albo odpowiednio napisany 'awk' bardzo ułatwiają wyszukiwanie czegoś w plikach, np w logach. Można użyć