Skocz do zawartości

Cała aktywność

Kanał aktualizowany automatycznie

  1. Wczoraj
  2. Ta fabuła zrobiła na mnie takie wrażenie, że aż musiałem ją zilustrować:
  3. Ostatni tydzień
  4. Dziękuję za grę oraz opinie , mam nadzieję że mimo poziomu trudności uda się ukończyć całość , przy jakieś aktualizacji pomyślę nad poprawą strzelania , chodź z tym klikaniem to po części był taki zamysł
  5. Gra faktycznie mocno trudna. Horda przeciwników przenikający przez ściany, mrówki koloru czarnego na czarnym tle strzelające rakietami, no i ten przerażający gość, który ma mnie na strzała: No ale da się odpalić na windows 11, także plus. Trochę uciążliwe jest ciągłe klikanie myszką, ja bym zmienił na zwykłe przytrzymanie.
  6. Tytuł R.E.I.R II Opis - Kontynuacja gry której pierwsza część została wydana w 2010 roku , kontynuacja opowiada o losach Jerzego który to doznaje coraz to różniejszych wizji i bywa w różnych miejscach, za nim podążają hordy mutantów oraz Molly. gatunek - akcja , horror , scfi. planowane było aby gra wyszła 11 lutego w moje urodziny , jednak chciałem sprawić wam niespodziankę i premiera R.E.I.R II właśnie dziś . zapraszam do gry , oceny , im dalej tym trudniej , wskazówka ode mnie będzie że aby pokonać większą liczbę wrogów albo bossów korzystajmy z otoczenia tzn , trzymajmy wrogów blisko ścian , oni przenikają ich pociski nie , usuwajmy przeszkody jeżeli chcemy atakować silniejszego bossa. :) Link do pobrania https://dyzmek.itch.io/reir-ii Screen 1 Screen 2 Screen 3 Trailer gry Zapraszam do gry oraz komentowania :)
  7. Wojo

    mam problem

    Mi na karcie ATI nie działa GMS a nie narzekam...
  8. Zrobiłem surface o wymiarach x4 i przeskalowałem w dół i faktycznie daje to zamierzony efekt. Pytanie jak bardzo wpływa to na wydajność, bo jeden surface ok, ale jak się ma takich kilka? Będę chyba musiał wymyślić coś innego. Próbowałem, to samo 😕 Zrobiłem surface_get_width/height(application_surface) i dało wymiar Viewport Properties (okno wyświetlania gry) czyli 1920x1080, a room i camera ma 960x540 🤔 Czyli faktycznie application_surface ma 2 razy bardziej zagęszczone pixele i pewnie przez to nie przeskakują... taki antyaliasing EDIT: Tak, kiedy zmienię wszystko na jednakową wartość, czyli 1920x1080 i application_surface ma zagęszczenie 1:1 to piksele też przeskakują 🙂
  9. A widzisz, myślałem, że chcesz w drugą stronę. A jak sytuacja wygląda z włączonym app surface i ręczny rysowaniem go w Post Draw ? Ewentualnie sprawdź jaki jest rozmiar app_surface - może musisz go... zmienić, żeby pasował do rozmiaru 960x540
  10. Tak, zapomniałem dodać, że w opcjach mam odhaczoną opcję "Interpolate colours between pixels" ze względu na pixelart. W Twoim przykładzie jest ta sama sytuacja, kiedy ją odhaczę. Gdzieś czytałem, że to ze względu, że application_surface jest rysowana w większej rozdzielczości i skalowana do niższej. Nie wiem na ile to prawda i jak to faktycznie miało by działać i dlaczego akurat w ten sposób. Kod w tym wyjaśnieniu był mniej więcej taki (nie mogę tego teraz znaleźć): draw_surface_ext(application_surface,0,0, 0.5, 0.5,0,c_white,1); - gdzie 0.5 to xscale/ysclae; Zabawnie robi się wtedy, kiedy surface utworze o wymiarach spritu (sprite'u?... duszka? 😄) i obracam całym surface, a nie spritem. Wtedy przeskakiwanie pikseli nie występuje, a zachowuje się tak samo jak na application_surface.
  11. Powiem, że nie mam pojęcia o co chodzi, bo u mnie rozmazuje jak należy: Podsyłam mój testowy projekt, może przeglądając go znajdziesz różnice w ustawieniach (sprawdź też Game Options): https://gmclan.org/up23_18_surface_test.html
  12. Zrobiłem nowy surface o wymiarach pokoju i rysuje sprite na x/y. Obracając nim pixele przeskakują, gdzie na application surface tego nie robi [gif podglądowy]. Gra startuje w rm_init o właściwościach: Room Settings: 1920x1080 Camera Properties: 1920x1080 Viewport Properties: 1920x1080 Po czym przechodzi na właściwe pokoje o właściwościach: Room Settings: 960x540 Camera Properties: 960x540 Viewport Properties: 1920x1080 Zmiana rm_init na te same wartości co wszystkie pozostałe daje ten sam efekt 😕 Próbowałem coś z aa_display, gpu_set_texfilter ale albo wywalało cały surface, albo rozmazywało wszystkie sprity. (faktycznie dość słaba jakość tego gifa, ale na rękach - niebieskich plamach, widać o co mi chodzi. Po lewej piksele przeskakują, a po prawej nie) Kod surface: //surf = surface_create(room_width, room_height); // -> w create event surface_set_target(surf) draw_clear_alpha(0,0) draw_sprite_ext(sprite_index, image_index, x, y, 1, 1, image_angle, c_white, 1); surface_reset_target(); draw_surface(surf,0,0);
  13. Wcześniejsza
  14. Sporo 😮 Tak czy siak dziękuję wam za porady :)
  15. Miałem robić tą grę na konkurs, ale tak mi się nie chciało, że postanowiłem uderzyć w końcu w shadery i trochę się ich poduczyć. To mój trzeci i jak na razie jestem bardzo zadowolony. - można wybrać barwę - próg koloru - próg blendowania / przejścia pomiędzy kolorem a skalą szarości.
  16. Jest zasobożerne, natomiast sposób optymalizacji zależy od tego, co tam się dzieje. Nie wiemy czemu tych sprawdzeń jest tak wiele, ale skoro są co 1,5 sekundy, to zacząłbym od zastanawiania się, czy wszystkie muszą robić to w tej samej sekundzie. Może mogą robić to po kolei - w każdym kroku jeden lub kilka? 1,5 sekundy przy 60 FPS to 90 eventów step, zatem niemal wspomniana setka. Nie wiem czy to się przyda, ale podam ogólny kod na wykonywanie kodu co klatkę obrazu przez n instancji danego obiektu (w przykładzie: 3): // CREATE: obecnie = 0; ile_co_klatke = 3; // STEP: var liczba_instancji = instance_number(nazwa_obiektu); for(var i = obecnie; i < min(liczba_instancji, obecnie + ile_co_klatke); i++) { with(instance_find(nazwa_obiektu, i)) { // instance_find() pozwala wybrać n-tą instancję danego obiektu // tutaj kod, który chcemy wykonać - jesteśmy w "with", więc kod wykonuje się w kontekście wybranej instancji // może być też skrypt, lub odwołanie do eventu, np. user event tejże instancji } } obecnie = i; // ponieważ wykonało się "i++", wartość będzie o 1 większa niż mniejsza z liczb w funkcji min() // nie zwiększamy tej wartości w pętli, gdyż zaburzyłoby to wynik funkcji min() if (obecnie == liczba_instancji) { obecnie = 0; }
  17. Oszem, według mojej wiedzy jest zasobożerne. Ja znalazłem na to dwa rozwiązania w swoim projekcie. a) zmiana collision_circle na collision_rectangle - Wiem, że nie zawsze jest to możliwe, ale np. jeśli robisz pole widzenia przeciwnika, to czy circle czy rectangle, efekt jest bardzo do siebie podobny. ( u mnie przy 100 obiektach to uzyskanie 1000fps więcej... dużo.) b) To co najbardziej zwiększa wydajność, to przerzucenie tej funkcji na ten "konkretny typ obiektu" który ma Ci znaleźć. Przykład: - masz 100 przeciwników którzy patrolują teren i sprawdzają czy widzą obiekt gracza np. oPlayer, a więc masz 100 razy collision_circle. Możesz odwrócić sytuacje i to graczowi dać collision_circle czy widzi przeciwników, jeśli tak, zrób np. oEnemy.widze_gracza = true; Wtedy collision_circle występuje tylko 1 raz; Pamiętaj, że zawsze możesz zrobić rodzica obiektów, np. nie musisz pisać collision_circle_list(x, y, 100, oEnemy1); collision_circle_list(x, y, 100, oEnemy2); collision_circle_list(x, y, 100, oEnemy3); collision_circle_list(x, y, 100, oEnemy4); tylko wrzucić jako child do pustego obiektu, np. oEnemies i wtedy collision_circle_list(x, y, 100, oEnemies); PS: Listę tworzymy w create, jeśli damy to w innym miejscu, step czy draw, będzie się ona tworzyć bez końca aż zapełni całą pamięć RAM. Tworzenie jej w step i od razu niszczenie jej przy pomocy ds_list_destroy(), kiedy już zrobi swoje, też negatywnie wpływa na fps;
  18. Jeżeli w okienku jest około setki obiektów i wszystkie co 1,5 sekundy przeszukują teren dookoła siebie za pomocą collision_circle_list() o promieniu 30-100 pikseli w poszukiwaniu konkretnego typu obiektu, to jest to mocno zasobożerne? Jeżeli tak, to czy istnieje szybszy i bardziej optymalny sposób na takie działanie?
  19. gnysek

    mam problem

    Nie no, zawsze można zmienić GMa na inne programy Np. Enigmę!
  20. profesor

    mam problem

    musze poprosic tate by kupil nowy konkuter bo nic mi na tym nie dziala i nie moge zrobic wymarzonej gry 😥😥😥😥😥😥😥😥😥😥😥😥😥😥
  21. gnysek

    mam problem

    Musisz kupić tak jak ja, kompa który ma na raz kartę Radeona i Nvidii
  22. Chell

    mam problem

    mam to samo, ogolnie na angielskim forum pisza ze to czesty blad u uzytkownikow kart graficznych nvidii. to nie komputer sie wylacza, tylko ekran gasnie - mozna dalej normalnie uzywac programu, tylko jest to znacznie utrudnione. na poczatku to troche dziwne, ale mozna sie przyzwyczaic
  23. gnysek

    mam problem

    albo kiepski komputer
  24. profesor

    mam problem

    nie wiem bo jak właczam ten program to mi sie komputer wyłącza jakiś kiepski ten program co urzywacie
  25. PC/Linux. Sterowanie to klawiatura + myszka i choć technicznie moglibyśmy dać na komórkę ekranowy kontroler, to raczej nie byłoby za przyjemnie w to grać.
  26. 1) myślę, że w dzisiejszych czasach przydałby się jakiś tutorial. Niby się etapy rozwijają po kolei, ucząc, ale trzeba scrollować i szukać co można było jeszcze kliknąć, a gra mogłaby to podać na tacy - z drugiej strony, nie będę go wymagał w prototype 2) planujecie wyjście na komórki? etap na ostatnim screenie nie wygląda jakby na nie pasował, tak samo sterowanie.
  27. Mi akurat styl graficzny się podobał, najmniej pasował moim zdaniem interfejs, który trącił trochę latami '90, a font był tak dobrany, jakby miała to być gra wojenna, a nie o księżniczce. Zobacz jaka jest różnica w Cinders od TeeGee - zwykły szeryfowy font i cienka rameczka dookoła tekstu, a jakoś milej dla oka: https://store.steampowered.com/app/293680/Cinders/ .
  1. Pokaż więcej elementów aktywności
×
×
  • Dodaj nową pozycję...