Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 804
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    137

Treść opublikowana przez gnysek

  1. gnysek

    checkpoint - 2021

    Uuu, poważne rzeczy Mi wczoraj strzeliło 5 lat od kiedy wprowadziłem się do obecnego domu, co oznacza, że zostało mi jeszcze 19,5 roku kredytu (taka ciekawostka - GMCLAN ma 19,5 roku :D). Na szczęście chyba nie będzie tak źle, bo mam szansę przenieść się do większego lokum i tam zbudować sobie geekowy pokój (bo będzie aż tyle pokoi), więc przy okazji checkpointu za rok mam nadzieję nadawać już z oazy nerdostwa.
  2. Może sobie wypiszcie jakie karty graficzne ?
  3. Oczywiście, że można, tak samo jak wtedy, gdy tworzysz system, identycznymi funkcjami można modyfikować na bieżąco kierunek, kształty itd. Wiele osób tego nie wie, a właśnie tak można stworzyć fajniejsze dynamiczniejsze particle (np. coś na wzór tornada - przesuwasz punkt startowy clipart po kole i zmieniasz ich kierunek, żeby leciały w dobrą stronę). Particle można też "pauzować" wyłączając automatyczną ich aktualizację, czy rysować ręcznie. Postaram się napisać na ten temat niedługo artykuł, właśnie podsunąłeś mi temat
  4. Przypomina GameMakerowie gierki sprzed 20 lat Instaluję, zobaczymy jak się w to gra
  5. Bardzo mi się skojarzyło z wiedźminem I, zabrakło tylko ikonki combosów na kursorze
  6. Ta gra mi się podoba bardziej niż Seid.
  7. Fajnie, ta wstępna wersja wygląda graficznie lepiej, niż zapowiedź Abandoned o którym ostatnio było mnóstwo szumu
  8. Ja bym skorzystał z jakiegoś dostępnego w sieci przykładu, na pewno są z trampoliną czy skrzynką od której można się odbijać, i to bym wziął za bazę.
  9. Dostępna jest co najmniej od GameMakera 5.0, bo pamiętam ją jeszcze z tutoriali platgormówi drag'n'drop z 2003 roku, gdy zaczynałem przygodę z GameMakerem. Nie bardzo rozumiem ten kod. Nie wiem dlaczego kod od skoku jest w trampolinie, a nie w obiekcie postaci, do tego: - player_bounce nigdy się nie zmienia, wiec jak rozumiem ten warunek jest zawsze spełniony - jeśli par_entity to jest to co skacze na trampolinie, to jak spadnie, zawsze będzie jej dotykać, wiec i ten warunek jest spełniony - jak dla mnie zatem zawsze spełnione są oba warunku i zawsze ustawiasz hspeed i vspeed Wydaje mi sie, że kod jest zupełnie nie w tym miejscu, a to czy trampolina jest pod graczem czy nie, powinno być uwzględniane tam, gdzie jest kod od zwykłego skakania (o ile takowy w ogóle jest). Btw. dlaczego normalna grawitacja to 1, a nie 0? Np. domyślne GMowe gravity przecież jak ma wartość większą od 1, to dodaje do x i y: lengthdir_x/y(gravity, gravity_direction), wiec tylko 0 powoduje ustanie grawitacji.
  10. Bardzo możliwe, aczkolwiek polecam też używanie move_contact_solid lub jakąś pętlę while, zeby idealnie o 1px dotknąć podłoża.
  11. To jest naprawdę za dużo kodu, żeby go analizować zwłaszcza, że może czegoś brakować. Ale masz przykłady gier platformowych i tam jest jak resetować grawitację gdy dotkniesz podłoża (sprawdzasz czy jest obiekt solid poniżej y+speed, i uzywasz moce contact solid, żeby idealnie dotknąć).
  12. Ja generalnie jestem za tworzeniem tzw. flag, czyli zmiennej, która stwierdza, czy coś jest czy nie. I tak bym zrobił kod. Tzn. całość w tym stylu, żeby było czytelniej: // pseudokod // 1. najpierw ustal stany postaci if (costam lub costam lub costam) { plywanie = true; } else { plywanie = false; } // 2. potem reaguj na nie // logika od ruchu, animacji itd. var predkosc_poruszania = plywanie ? 0.5 : 4; // 0.5 jak pływamy, 4 jak nie pływamy var ruch_poziomo = -keyboard_check(vk_left) + keyboard_check(vk_right); // zwróci -1, 0 lub 1 x += predkosc_poruszania * ruch_poziomo; if (plywanie = true) { if (sprite_index != spr_plywa) { sprite_index = spr_plywa; image_index = 0; image_speed = 0.2; } } else { ... // itd. } W ten sposób trudniej się pogubić, poza tym mając zmienną od stanów, łatwiej je wymuszać i zmieniać w innych przypadkach, a nie zmieniamy zachowania (można np. włączyć pływanie podchodząc do drabinki, czy drzwi, czy wymusić na początku etapu - spoza step tego obiektu).
  13. Jeśli animacja jest za szybka, użyj ułamka? Np. image_speed = 0.2;
  14. W GMS2 sprite może mieć eventy na konkretne klatki, tak swoją drogą, może to pomoże ?
  15. Wydaje mi się, że jest pełnoletni, bo pisał do mnie na Messengerze (poza tym skoro 10 lat temu robił gry to też tak wychodzi), ale nie chcę też za dużo sam zakładać mając dostęp do większe ilości danych czy można liczyć na wykres zależności fabularnych gier? Jakaś oś czasu z od odnogami?
  16. Powiedziałbym, że korzystałem z tego tak samo często jak w innych językach programowania, czyli generalnie wcale
  17. Na pewno zgubiłeś gdzieś spację, prawidłowo funkcja powinna wyglądać tak: font_main = font_add_sprite_ext(font_test, "!\" $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^+`abcdefghijklmnopqrstuvwxyz{|}~€ąćęłńóśżźĄĆĘŁŃÓŚŻŹ", true, 0); (Zwróć uwagę na backslash przed ", a potem na spację po " i przed $ ). Moja strona obsłuży każdy font który masz zainstalowany (jakby coś). Wydajność - to zależy co innego dzieje się w grze. Ja już robiłem takie, gdzie każda literka jest rysowana osobno i jakoś dawało radę.
  18. Absolutnie nie jest to odejmowanie. Np. 148 binarnie to 10010100, robisz 5 przesunięć w prawo, zatem wypada 5 ostatnich cyfr i zostaje 100, czyli 4.
  19. Jeśli chcesz ładny kontur, to zrób z czcionki sprite. Podstawowy sprite możesz zrobić korzystając z mojego generatora: https://gnysek.github.io/gms-font-creator/ . Potem w dowolnym programie dodaj sobie ulubioną ramkę i dodaj font przez font_add_sprite_ext (mój generator daje od razu listę znaków która będzie drugim argumentem).
  20. Nie wiem co powinno znaleźć się w step, bo to nie ja dobieram wartości paralaksy i proporcji To już naprawdę albo musisz wyliczyć, albo metodą prób i błędów (zacząłbym od tego, żeby surface rysowało się gdzie trzeba i zapewne testowanie najlepiej zaczynać w połowie obszaru, wtedy lustro i odbicie powinny być w jednej osi jak mniemam, a potem iść w lewo/prawo i sprawdzać, czy paralaksa jest dobra). Powiedz jeszcze, jaka to wersja GM? W GMS 2.0 można użyć camera_apply(view_camera[0]);, które pozwoli na surface mieć takie same offsety jak w view, może to pomoże w rysowaniu.
  21. Faktycznie, 500kb było dla użytkowników, to pewnie przez aktualizację forum. Zmienione
  22. Zwyczajnie wklej obrazek jak do painta.
  23. To Ty decydujesz o wartościach X i Y. Musisz znaleźć odpowiednie, możesz przecież przesuwać obiekt za pomocą step, create, możesz przesuwać samą pozycję surface - wszystko zależy od tego jak to zaprogramujesz.
×
×
  • Dodaj nową pozycję...