Skocz do zawartości

Wojzax

Użytkownicy
  • Zawartość

    2623
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    36

Ostatnia wygrana Wojzax w Rankingu w dniu 12 Wrzesień

Wojzax posiada najczęściej lubianą zawartość!

Reputacja

98 Złoty Człowiek

O Wojzax

  • Tytuł
    Grafik Paranoik
  • Urodziny 09/28/1991

Contact Methods

  • Website URL
    http://

Previous Fields

  • Nagrody
    Najlepsza grafika (CA 2015)
    Najlepsza gra (CA 2011)
  • Użytkownik GameMaker Studio 2
    Nie
  • Użytkownik GameMaker Studio
    Tak
  • Użytkownik GameMaker 8
    Nie
  • Użytkownik GameMaker 7 i wcześniejszych wersji
    Nie
  • Użytkownik Unity
    Tak
  • Uytkownik Godot
    Nie

Profile Fields

  • Skąd
    Lublin
  • Płeć
    Male

Ostatnie wizyty

33088 wyświetleń profilu
  1. Nad czym aktualnie pracujesz?

    Kolejny dzień, zmieniłem trochę strukturę współrzędnych legAnim[aPart[partNum,axis],frame]=something więc coś w rodzaju trójwymiarowej tablicy z dwóch dwuwymiarowych tablic. Dzięki temu można już płynnie padać na ziemię, działa też padanie na boki ale nie jest to jeszcze zautomatyzowane. Oczywiście nadal wygląda to kiepsko, nie ma pozy padania i muszę pomyśleć jak najlepiej rysować głowę.
  2. Nad czym aktualnie pracujesz?

    próbna animacja nóg, spróbuję też jakoś związać górną część tułowia żeby odpowiednio się cała wyginała przy chodzeniu
  3. Nad czym aktualnie pracujesz?

    Aha, no w sumie tak będzie najlepiej. Zrobię że np. anim[frame,bodyPart]
  4. Nad czym aktualnie pracujesz?

    A wiecie jak najlepiej w GMS1 zapisywać i odczytywać animacje? Mam w tym momencie 48 danych o klatce animacji (większość to współrzędne). Gdybym np. zapisał każdą klatkę animacji jako powiedzmy string pozycji i co klatkę odczytywał te pozycje ze stringa mocno by chyba zamulało? np. string "-012+018-002+001-028+000" Chodzi też o to żebym jakoś ładnie te dane widział w kodzie.
  5. Nad czym aktualnie pracujesz?

    ciekawie wygląda zmiana osi Y na Z i Z na -Y, problem mam jednak z pozycją górnych stawów (barki, łokcie), bo wyginają się w innych kierunkach niż chcę. (tutaj na gifie tego nie widać) @EDIT: O kurczę, kolejność rysowania jest do poprawy przy padaniu, ale udało się
  6. Nad czym aktualnie pracujesz?

    No tułów np. świni czy krowy można by rysować tak jak tutaj broń - rozciągniętą między dwoma punktami z 4 stronami animacji, ale nie wiem czy dobrze by to wyglądało. Najwięcej zabawy będę miał pewnie z ragdollem, albo z jakąkolwiek formą leżącej postaci. No cyberpunk2137 toto nie będzie, ale blisko
  7. Nad czym aktualnie pracujesz?

    jeszcze bez animacji ale całkiem fajnie wygląda z nogami w pozie
  8. Nad czym aktualnie pracujesz?

    W całości w 2d. Głowa i tułów jest ręcznie rysowana w 6 kierunkach, ale reszta transformowana lengthdirami. Podstawa to napisanie prostego jednolinijkowego skryptu na rozciąganie sprajta między dwoma punktami: ///drawSpritePoints(spr,sub,xx1,yy1,xx2,yy2,xscale,yscale) //draws sprite stretched between two points spr=argument0 sub=argument1 xx1=argument2 yy1=argument3 xx2=argument4 yy2=argument5 xscale=argument6 yscale=argument7 draw_sprite_ext(spr,sub,xx1,yy1,xscale*point_distance(xx1,yy1,xx2,yy2)/sprite_get_width(spr),yscale*1,point_direction(xx1,yy1,xx2,yy2),c_white,image_alpha) Następnie używamy go do rysowania danej części, np. przedramienia: ///drawArmR() //drawing right arm drawSpritePoints(arm_s,0,r_elbow_x,r_elbow_y,r_hand_x,r_hand_y,1,-1) gdzie r_elbow_x i y to współrzędne punktu prawego ramienia, a r_hand_x i y to współrzędne punktu prawej dłoni. Te punkty określamy za pomocą lengthdirów na podstawie obrotu gracza (zmienna rot) przykład: r_hand_x=x-lengthdir_x(r_hand_off_x,rot+90)-lengthdir_x(r_hand_off_y,rot+180) r_hand_y=y-lengthdir_y(r_hand_off_x*elipse_s,rot+90)-lengthdir_y(r_hand_off_y*elipse_s,rot+180)-r_hand_off_z Dłoń jest rysowana z przesunięciem r_hand_off_y w trójwymiarowym kierunku Y (zgodnym z rotacją rot), r_hand_off_x w trójwymiarowym kierunku X (rot+90), natomiast w trójwymiarowym kierunku Z z przesunięciem r_hand_off_z. Jak widać na obrazku, kierunki X i Y są zależne od obrotu i używamy ich przekształcenia lenghtdirów i odejmujemy te lenghtdiry od dwuwymiarowych współrzędnych x i y , natomiast kierunek Z po prostu odejmujemy od dwuwymiarowej współrzędnej y ręki bez żadnych przekształceń.
  9. Nad czym aktualnie pracujesz?

    Zrobiłem takie śmiszne pseudo 3d, nawet fajne można animować i w ogóle największy problem przy czymś takim to oczywiście kolejność rysowania, trzeba podzielić kierunki na 6 stref i rysować konkretne części ciała w kolejności eh
  10. Mam świetny pomysł na grę! Tylko co teraz?

    Bardzo ciekawie opisane, niektórych z tych rzeczy dowiedziałem się w tzw. "hard way" ale jest wiele rzeczy o których nie mam pojęcia i bym bardziej szczegółowo poczytał (marketing byłby spoko). Ciekawi mnie ten screen z prototypu platformówki, to coś nowego?
  11. ai Wroga

    https://www.yoyogames.com/blog/64/using-motion-planning http://docs.yoyogames.com/source/dadiospice/002_reference/movement and collisions/motion planning/index.html Najprościej użyć do ruchu wroga wbudowanej funkcji mp_potential_step(xgoal, ygoal, stepsize, checkall) gdzie: xgoal, ygoal - współrzędne gracza stepsize - szybkość ruchu w pixelach na klatkę checkall - tutaj true (jeśli wróg ma omijać wszystkie obiekty po drodze) lub false (jeśli wróg ma omijać obiekty solid po drodze) Oczywiście nie jest to idealne rozwiązanie, funkcja polega na tym że program sprawdza przeszkody w najbliższym otoczeniu i zmienia kąt wroga tak aby je omijał, ale nie ma tutaj ogólnego planu więc wróg będzie się często zacinał lub chodził w kółko. Plusem jest mało obliczeń na klatkę. użycie mp_potential_step daje niezłe wyniki przy prostych przeszkodach Lepsze jest użycie funkcji z serii mp_grid, za pomocą funkcji takich jak mp grid_add_cell, add_rectangle, czy add_instance tworzysz mapę kwadracików i dodajesz informację które kwadraciki omijać. Potem dzięki mp_grid_path ustalasz dla obiektu optymalną trasę omijającą przeszkody (oczywiście wróg będzie się poruszał wzdłuż kratek czyli w ośmiu kierunkach). To podejście jest trudne do zoptymalizowania, jak masz dużą mapę, dużo przeciwników i każdy z nich na poczekaniu aktualizuje sobie pozycję gracza i ciągle oblicza nową trasę może być to mocno niewydajne, ale z drugiej strony będziesz miał pewność że przeciwnik się nie zatnie (ew. uzna że np. nie ma możliwości dojścia do gracza)
  12. Nad czym aktualnie pracujesz?

    Staram się wyszukiwać jakieś co brzydsze elementy i zmieniać je, ale np. jedne oczy wyglądają spoko z określonymi policzkami i brwiami, a z innymi wyglądają okropniście. No nic, może jak zrobię młodszych to jakoś to wszystko się wyrówna. Ciekaw jestem jak będą wychodziły kobiety tą techniką.
  13. Nad czym aktualnie pracujesz?

    Tak wyglądało życie, myślisz że biedni rycerze po 40stce to byli jacyś przystojniacy z fantasy?
  14. Nad czym aktualnie pracujesz?

    super tajny projekt
  15. Galeria Grafik

    Atencja na wykopie widzę spora
×