Witam wszystkich - to jest mój pierwszy post na forum.
Tworze grę action RPG - hack and slash dokładniej rzecz ujmując. Poniżej dostępne są screeny z aktualnego etapu. Postacie tworzę (modyfikuję, bo w większości przypadków są to darmowe modele) w 3DS MAX. następnie renderuje i tworze gify w GM`ie. Z tego powodu natknąłem się na kilka problemów i nie bardzo widzę ich rozwiązanie, metoda prób i błędów nie przynosi rezultatów :P
1. GM słabo wycina tło, przez co nie mogę renderować z antyaliasingiem. A to także pozbawia mnie możliwości renderowania efektów specjalnych. Czy są jakieś dokładne metody wycinania tła? Nie wstawiam sprite`ów do GM, tylko wczytuję z zewnątrz, więc proszę o ew. propozycje przykładów w kodzie. Po włożeniu wszystkich grafik do GM`a plik .exe zajmowałby 140MB i ładowałby się kosmicznie długo...
2. Cienie - jest problem z renderowaniem postaci z cieniami, choć może się to uda, ale chciałbym spróbować to jakoś obejść. Na jednym ze screen`ów widać pseudo-cień jaki wstawiłem pod postacią jako oddzielny obiekt. Może można jakoś zduplikować sprite`a i przekształcić go, zaciemnić i zrobić taki Photoshop`owy efeket cienia?
3. To jest największy problem i na ile pozostałe jeszcze strawię, na tyle ten bardzo chciałbym jakoś rozwiązać. Chodzi o kolizje (screen z kowalem). Próbowałem już różnych funkcji odpowiedzialnych za kolizje i zawsze problem wygląda podobnie. Sterowanie w mojej grze wygląda następująco:
W Global Mouse Button:
if((abs(gracz.x-mouse_x))<=30 && (abs(gracz.y-mouse_y)<=30)) {speed=0;}
else {mp_potential_step(mouse_x, mouse_y, 3, false); speed=3;}
I tak jeśli podejdę do kowala, to postać w pewnym sensie się od niego odbija lub zatrzymuje, ale jest możliwość "zaplątania" się w niego. Jak zrobić aby postać podeszła do kowala na pewną odległość i nie poszła ani kawałek dalej. Próbowałem dołożyć maskę do kowala i na jej podstawie rozpatrywać kolizje, lecz nic to nie dało.
Z góry dziękuję za odpowiedzi i przepraszam, jeśli gdzieś są rozwiązania tych problemów, a ja ich nie znalazłem. Pozdrawiam każdego komu się chciało to wszystko przeczytać ;)