Jak tworzycie pixel art 2D 'na miarę'?

Jak tworzycie pixel art 2D 'na miarę'?
bakunet
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 1755
0

Hej, w swoich indie projektach jak tworzycie assety, sprites, tiles? Osobiście nie jestem artystą i ciężko mi będzie stworzyć coś fajnego bez większego nakładu czasu.

Jak chodzi o kafelki map to krąży sporo materiałów po sieci gotowych do wykorzystania, które wyglądają i spisują się dobrze.

Jak chodzi o sprite sheets, to mając w głowie wizję projektu ciężko iść na kompromis korzystając z gotowców.

Wpadłem na rozwiązania AI, typu https://www.pixellab.ai/ które tworzy postać i animacje na podstawie samego opisu, jest obiecujące

Czy znacie jakieś ciekawsze rozwiązania?

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7102
2

Ja ostatnio swoje projekty rozwijam w stylu "programmer art".
Własne shadery, post-processing. Geometria kanciasta, mocno oparta o sześciany - ale nie aż tak jak Minecraft ;)
W 2D zamiast sprite'ów płaskie meshe zrobione krzywymi w Blenderze.
W większości przypadków nawet tekstur nie potrzeba.
Pixel art praktycznie wyeliminowany.

Kiedyś ludzie robili gierki/animacje ze stickmanami. Albo podobnymi, prostymi do wykonania grafikami. Np. seria Madness Combat. Grafika wektorowa we Flashu ;)

bakunet
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 1755
0
Spine napisał(a):

W 2D zamiast sprite'ów płaskie meshe zrobione krzywymi w Blenderze.

Czyli mimo wszystko tworzysz obiekty 3D?

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7102
0

@bakunet: Tak.
Gdybym wyświetlał sprite'y to też w Unity są to obiekty 3D z nałożoną teksturą... I często nie są to quady/2 trójkąty, bo optymalizacja sprite polega na tworzeniu mesha, który ogranicza ilość pikseli z kanałem alpha.

bakunet
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 1755
1

@Spine: Jasne, ja zaczynam się bawić w Godocie, więc póki co szukam rozwiązań Pixel art.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7102
1

No to tak wracając do początku ;)

bakunet napisał(a):

Osobiście nie jestem artystą i ciężko mi będzie stworzyć coś fajnego bez większego nakładu czasu.

To zrozumiałe. Dlatego nad grami często pracują zespoły, w których każdy zajmuje się tym co robi najlepiej.

bakunet napisał(a):

Jak chodzi o sprite sheets, to mając w głowie wizję projektu ciężko iść na kompromis korzystając z gotowców.

Po staremu zawsze można zatrudnić grafika, który zrobi to co potrzebujesz.

bakunet napisał(a):

Czy znacie jakieś ciekawsze rozwiązania?

W sklepach z assetami można by spróbować szukać wielkich pakietów spójnych ze sobą grafik, gdzie są i tilesy i sprite sheety.

Albo szukaj kont twórców assetów, którzy produkują assety w jednym stylu.
Np. Synty mają masę stylizowanych grafik 3D i jakbyś robił grę 3D w takim stylu, to wtedy assetów masz pod dostatkiem ;)
https://syntystore.com/

Może znajdziesz konto podobnego twórcy assetów do gry Twojego typu.

Napisz jaki rodzaj gry robisz. Bo na razie sobie wyobrażam jakieś pokemony (pixel art postać i kafle) i nie wiem jakie możesz mieć zastrzeżenia do gotowych sprite sheets ;)

bakunet
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 1755
2
Spine napisał(a):

To zrozumiałe. Dlatego nad grami często pracują zespoły, w których każdy zajmuje się tym co robi najlepiej.
(...)
Po staremu zawsze można zatrudnić grafika, który zrobi to co potrzebujesz.

Tak, ale nawet testując rozwiązania chcę żeby to miało ręce i nogi. I nie chcę inwestować w przedsięwzięcie więcej niż potrzeba, nim pojawi się perspektywa ew. zwrotów i / lub jakiegoś porządnego projektu, więc zatrudnianie kogoś odpada na chwilę obecną

W sklepach z assetami można by spróbować szukać wielkich pakietów spójnych ze sobą grafik, gdzie są i tilesy i sprite sheety.

To jest jakaś alternatywa, pod warunkiem że znajdę jakieś budżetowe pakiety, lub pakiet który by mnie w 100% zadowolił

Napisz jaki rodzaj gry robisz. Bo na razie sobie wyobrażam jakieś pokemony (pixel art postać i kafle) i nie wiem jakie możesz mieć zastrzeżenia do gotowych sprite sheets ;)

  1. Póki co testuję sobie różne rozwiązania na różnych scenach Godotowych.

  2. Myślę zacząć od remake swojej gry strategicznej którą napisałem w liceum w Pascalu :) Była to turówka na 2 osoby, z animacjami, prostym w miarę zarządzaniem, izometryczna mapa świata i bitew turowych. Dorzucę do tego jakąś logikę komputerowego przeciwnika. Potraktuję tę grę jako poligon doświadczalny przed swoją kolejną, żeby poznać lepiej silnik i mechaniki

  3. Chcę napisać grę 2d coś na wzór klasycznego Pirates! Sida Meyera, z izometrycznymi walkami turowymi, gdzie symultanicznie będą wykonywane tury w bitwach morskich klasycznych żaglowców z XVI wieku, z mikro zarządzaniem flotą, z naciskiem na realizm, losowe wypadki, warunki pogodowe, i w bitwach na lądzie też turowymi. Będzie do wyboru startowy setup, flota do zarządzania, mapka świata do podróżowania, plądrowania, albo handlu, polityki, jak ktoś będzie tak chciał rozwijać swoje imperium :) Poprzedzę grę mocnym researchem.

OS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 26
1

Model 3d -> 2d sprity. Przykład z gry factorio: https://www.factorio.com/blog/post/fff-194
Stworzenie statku lowpoly i obrócenie modelu będzie szybsze niż narysowanie 8 spritów.

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12316
1

Zaznaczyć trzeba jedno — pixel art uznawany jest za najłatwiejszą drogę, ale jeśli chodzi o niską rozdzielczość, to wcale taki prosty nie jest. Co z tego, że możesz wygodne uzupełniać piksele, skoro przy niskiej rozdzielczości sprajtów ma się bardzo małe pole manewru. Nie dość, że trudno o jakiekolwiek detale, to w dodatku moda na sharp pixels powoduje, że te sprajty wyglądają jeszcze gorzej (dawniej CRT rozmywał kolory, a więc był darmowy blur, bloom i gradienty dzięki ditheringowi).

Jeśli celujesz w pixel art, to ciekawą alternatywą jest połączenie pixel artu z rysunkiem odręcznym. Nadal trzymasz się niskiej rozdzielczości i wypełniasz piksele ręcznie (np. używając ograniczonej palety kolorów), ale robisz sprajty większe, tak aby wygodnie się je malowało. W ten sposób czerpiesz zalety z pixel artu (proste kształty, paleta kolorów, łatwe cieniowanie, możliwość pracy np. w Aseprite), natomiast zyskujesz miejsce na detale, bo pikseli do dyspozycji jest znacznie więcej.

Sam początkowo chciałem trzymać się niskiej rozdzielczości (320x256 pixeli, czyli SNES ale dla ekranów 16:10) i sprajtów w rozmiarze 32px, ale przy tak niskiej rozdziałce nie dam rady zrobić np. głów postaci zdolnych do wyrażania sensownych emocji (różny kształt oczu, ust, ogólnie mimika twarzy). Dlatego też zwiększyłem rozdzielczość dwukrotnie, do 640x456, zyskując dwukrotnie większe pole manewru — mniej miejsca przypadnie na obrysy kształtów, więcej na detale.

W razie czego możesz z rozdzielczością i pixel artem pójść jeszcze dalej, tak jak zrobili twórcy Pizza Tower. 😉


Co do gotowców — jeśli ta gra ma być docelowo komercyjna, to odradzam używania gotowych assetów, a już przede wszystkim dla głównych obiektów gry (np. postaci, jednostek i wszystkiego co na pierwszym planie). Obecnie gracze — dzięki AI — mają silną awersję do czegokolwiek co nie zostało ręcznie stworzone, więc jeśli coś im się nie spodoba lub skojarzą grafiki z innymi grami, dostaniesz łatkę asset flippera, a twoja gra łatkę AI slopu.

Jeśli nie chcesz wynajmować artysty (albo szukać darmowego, za udział w zyskach) i celujesz w coś gotowego, to pewnym kompromisem jest skorzystanie z gotowych assetów jako bazy — pobierasz darmowe lub kupujesz, a następnie modyfikujesz, aby z jednej strony były bardziej unikalne, a z drugiej, aby lepiej je dopasować do twojej gry. Czyli z jednej strony zyskujesz czas, ale z drugiej odsuwasz od siebie łatkę asset flippera.

Same grafiki pixel artowe możesz tworzyć na różne sposoby — ręcznie w formie obrazków 2D (zwykle tak się robi), ale możesz też eksportować modele 3D (tak zrobili twórcy np. Dead Cells), do późniejszej korekcji już w formie płaskich obrazów. Ale to zależy od tego co preferujesz w kontekście twojego projektu i twoich umiejętności/czasu.

bakunet
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 1755
1

@Oskarlesk: Zgadzam się, ale stworzenie modelu 3D może zająć trochę czasu. Chyba że się znajdzie dobre assety.

@flowCRANE: Póki co robota ręczna odpada.

Na chwilę obecną AI mi wystarczy na trialsy i bieda-projekty:
screenshot-20260329180106.gif screenshot-20260329180133.gif
screenshot-20260329201647.png

Choć gdzieś tam z tyłu głowy mam że AI bazuje na istniejących rozwiązaniach które zostały przetworzone, lub czasami zerżnięte od biednych artystów, więc to ma być doraźne rozwiązanie.

Podoba mi się docelowo koncept tworzenia sprite sheets z modeli 3D.

bakunet
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 1755
0
flowCRANE napisał(a):

Sam początkowo chciałem trzymać się niskiej rozdzielczości (320x256 pixeli, czyli SNES ale dla ekranów 16:10) i sprajtów w rozmiarze 32px, ale przy tak niskiej rozdziałce nie dam rady zrobić np. głów postaci zdolnych do wyrażania sensownych emocji (różny kształt oczu, ust, ogólnie mimika twarzy). Dlatego też zwiększyłem rozdzielczość dwukrotnie, do 640x456, zyskując dwukrotnie większe pole manewru — mniej miejsca przypadnie na obrysy kształtów, więcej na detale.

Żeby lepiej zrozumieć, czy 320x256 lub 640x456 to viewport dla całego okna gry?

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12316
1

To rozmiar tekstury tylnego bufora, na którym wszystko jest malowane w formie ostrego pixel artu — kwadratowe piksele, bez subpikselowej precyzji. W ten sposób uzyskuję surową klatkę gry, która następnie może być wyrenderowana w oknie, w dowolnym rozmiarze i z dowolnymi efektami (poziomie skalowanie pikseli + shadery efektów wizualnych).

Docelowo ta jedna surowa klatka będzie renderowana w obszarze klienta (zachowując stałe proporcje bez względu na rozdzielczość ekranu), ale dodatkowo będzie mogła być użyta do wypełnienia pustej przestrzeni, używając innych efektów (np. mocnego rozmycia i niższej jasności). Puste przestrzenie to jego dekoracja, pasek stanu oraz puste pasy po bokach lub na górze/dole, powstałe w wyniku niezgodności proporcji pomiędzy oknem a ekranem.

PS: oryginalnie miałem 320x228, obecnie mam 640x456. Przy pikselach 8:7 daje to proporcje 16:10.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7102
1

Skoro już mowa o rozdzielczości, to w swoim projekcie dałem możliwość zejścia do 144p.
Ale to raczej, żeby sprawdzić jak to wygląda, a nie żeby tak grać ;) Chociaż da się normalnie grać na tym ustawieniu :]

screenshot-20260330022835.png

obscurity
  • Rejestracja: dni
  • Ostatnio: dni
2

po to robię pixel art bo nie mam talentu robić pełnowymiarowej grafiki 😉
pixel art jest dość proste, da się wyklikać samemu, przesuwać piksele aż wyjdzie ;) najprościej wziąć model 3d lub zdjęcie pod spód i samemu wyklikać piksele, automatyczne konwertery robią zazwyczaj średnią robotę ale w połączeniu z AI może być ok - nie próbowałem jeszcze i nie znam żadnych wartych polecenia narzędzi

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.