Skocz do zawartości

SimianVirus7

Użytkownicy
  • Zawartość

    97
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    3

Zawartość dodana przez SimianVirus7

  1. Dzień Dobry, Dobry Wieczór, Mam takie pytanko, bo ja jakoś tego nie widzę. Czy poruszyła was kiedyś jakakolwiek scena w grze 2D? Mogę sobie przypomnieć kilka tytułów w 3D przy których roniłem łzy (sztandarowy przykład to The Walking Dead i końcówka gry). W tych drugich da się odczuć lepszą immersję, nawet jeśli widok jest z 3. osoby. Jak to wygląda z grami 2D? Nie chodzi mi tylko o smutne momenty, ale też o takie kiedy czujesz... moc? Uczucie podobne kiedy dostajesz w ręce błyszczącego shotguna, a w tle zaczyna przygrywać muzyka heavy metalowa.
  2. Poruszyła was jakaś scena w grze 2D?

    Za dzieciaka najwięcej emocji wywołała we mnie gra Gothic 1. Gra którą można kochać albo nienawidzić. Klimat w tej grze jest tak niesamowity. Pamiętam, że po kolonii hopsałem tylko kiedy był dzień, bo noc poza obozami wywoływała we mnie dreszcze. Najbardziej stresujące dla mnie sytuacje to były podczas wyprawy ze Starego Obozu do Starej Kopalni, bałem się przechodzić przez ten las dzielące te lokacje. Chociaż to nic z porównaniem z Cmentarzyskiem Orków. Zawsze jak grałem wieczorami w gothica i dochodziłem do momentu misji gdzie miałem odwiedzić to miejsce, zapisywałem grę przed mostem i kontynuowałem ją na następny dzień w południe, a i tak nie czułem się zbyt bezpiecznie. Udźwiękowienie też było świetne, do dziś słyszę w głowię soundtrack ze Starego Obozu. Cała ta gra wywoływała we mnie wielkie emocję. Niemniej jest to stworzone w 3D, także nie na temat Ale chciałem się tym podzielić.
  3. Poruszyła was jakaś scena w grze 2D?

    Cóż, mam nadzieje, że kiedyś uda mi się stworzyć grę 2D która wywoła jakiekolwiek uczucia oprócz odruchów wymiotnych. Na razie chciałbym stworzyć jakąkolwiek grę, ale te opinie są mi bardzo przydatne Przytoczę tu tylko taki przykład z mojego życia, kiedy powoli wypalało się we mnie zamiłowanie do grania w komputer ale nagle do rąk trafił mi Far Cry 3. Bardzo dobrze wspominam ten tytuł, łyknąłem go od razu, a na zakończeniu czułem niesamowitą pustkę i dumę z przeżycia świetnej przygody. Mieszanka uczuć kiedy Jason uświadamia sobie, że stał się potworem i muzyka temu towarzysząca. Klimat w takich scenach to coś czego oczekuje od gier.
  4. Poruszyła was jakaś scena w grze 2D?

    o proszę, czyli jednak gra 2D może złapać za uczucia i to nie jedna czy dwie, podaliście nawet kilka tytułów. Dziękuje za odpowiedzi
  5. Wyskakujące punkty

    Cóż, jeśli chodzi Ci mniej więcej o taki efekt: To ja osiągnąłem to następującym sposobem. Stworzyłem nowy obiekt, który nie ma sprite. W nim mam zmienną text która przechowuje jakiś string. Gdy potrzebuje wyświetlić jakikolwiek, gdziekolwiek tekst, tworzę tą instancje (nazwałem ją obj_Text), w tym miejscu gdzie chcę. Przy tworzeniu, dopisuje tekst, jaki ma wyświetlić. Podstawa kodu jest taka: var show_text = instance_create(x, y, obj_text); //przypisanie instancji do zmiennej pozwala go konfigurować podczas tworzenia show_text.text = "Zyskujesz 50 punktów"; W obj_Text mam też zdefiniowaną czcionke, kolor, czas wyświetlanego tekstu itp. oraz vspeed = -1; żeby napis leciał w górę
  6. Miganie postaci po kolizji

    Cóż twój największy problem rozwiązuje króciutka linijka kodu: STEP ///Miganie obiektu image_alpha = sign(sin(current_time/częstotliwość_migania)); sign - sprawia, że obiekt jest albo widoczny, albo nie. Daje wynik zero-jedynkowy. Możesz go usunąć, wtedy będziesz miał płynne przejścia przy miganiu. częstotliwość_migania - zastąp go jakąś cyfrą. Fajny wynik daje liczba 100 lub 110 Co do innych zapytań: 1) odrzucenie bohatera po kolizji z potworem - wydaje mi się, że nie ma uniwersalnego sposobu, zależy to od twojego kodu. Możesz dać speed = -1 i zobaczyć co się stanie. 2) gracz staję się na chwilę nietykalny - tu także nie będzie uniwersalnego sposobu. Chyba najbardziej banalnym rozwiązaniem będzie stworzenie osobnej zmiennej, która definiuje czy gracz ma być podatny na obrażenia lub nie. Coś w stylu: if(player.can_get_damage == true) { player.hp -= 10; }
  7. repeat

    tak, tylko instance_create wpisz na koniec całego kodu, za instrukcją until, bo będzie tworzyć tym razem za dużo obj_Budpln z racji tego, że nawet jeśli napotka solid to i tak go tam utworzy Za pomocą instrukcji until masz ustalić miejsce tworzenia przedmiotu, który nie będzie kolidował z solid Musisz jeszcze cały ten kod zrobić w klamrach dla repeat repeat(10) { //cały kod }
  8. repeat

    Mniej złota tworzy Ci się dlatego, że zastosowałeś if, czyli w skrócie daje wynik jeśli wolne miejsce = twórz, jeśli nie = nie twórz i tak, masz zapytanie raz na jeden repeat. Użyj zamiast if instrukcje do... until do { } until(place_free())
  9. spaceWaveCombat

    Jak dla mnie estetycznie i techniczne fajna gra. Ciekawy system levelowania(?), czyli jak dolny pasek dojedzie do końca to zmienia nam się broń. Niemniej jednak, gra jest trochę zbyt statyczna. Przydałoby się jej trochę dynamiki.
  10. Celownik, shooter 2d

    Pierwsze co przychodzi na myśl, to lengthdir'y. Proste i użyteczne. Do x celownika dopisujesz x gracza + lengthdir_x(odległość, kierunek); Do y celownika dopisujesz y gracza + lengthdir_y(odległość, kierunek); Tu masz przykład jak to zrobić w DRAW w obiekcie gracza, który po prostu rysuje sprite celownika. Tym samym sposobem możesz tworzyć obiekty pocisków wystrzeliwane przez gracza draw_sprite(sCross, 0,x + lengthdir_x(150, image_angle),y + lengthdir_y(150, image_angle));
  11. Nad czym aktualnie pracujesz?

    Po chyba trzy miesięcznej przerwie wróciłem do mojego projektu 1bit_arena, który miał powstać w weekend Dzisiaj zrobiłem minimape, która nawet fajnie działa, tylko zlewa się ze ścianami :/
  12. Strzały po krzywej linii

    O kurczę dziękuje za tak obszerne wyjaśnienie, podziwiam^^ Już mniej więcej wszystko ogarniam, dziękuje
  13. Siemanko^^ Jako, że jestem burak z matmy, potrzebuję pomocy. Chcę zrobić aby wróg atakował gracza magicznym kółkiem (super zaklęcie). Ale nie chcę tego robić w prosty sposób, jak: speed = 8; direction = point_direction(x, y, oPlayer.x, oPlayer.y); Graficznie: https://imgur.com/a/1qfdfk3 Mam na myśli, żeby zrobić to po linii pochyłej: https://imgur.com/lqZjX3M Próbowałem coś z sinusami, ale marny wynik (przypominam o beztalenciu do matematyki). Później coś zaświtało i całkiem przyjemny efekt wyszedł za pomocną ścieżek: ///rysuj sciezke var _pd = point_distance(x,y, oPlayer.x, oPlayer.y); bullet_path = path_add(); path_add_point(bullet_path, x, y, 100); //start path_add_point(bullet_path, x+ _pd/2, y+50, 100); //srodek path_add_point(bullet_path, oPlayer.x, oPlayer.y, 100); //koniec path_set_kind(bullet_path, true); path_set_precision(bullet_path, 8); path_set_closed(bullet_path, false); path_start(bullet_path, speed, path_action_stop, 0); i wyglądało to, jak na gifie powyżej, aczkolwiek tylko i wyłącznie wtedy, kiedy byłem z wrogiem w tej samej linii, czyli nasze y było takie samo, bądź zbliżone. Pobawiłem się chwilę z path_rotate ale nic z tego. Jakieś malutkie nakierowanie, jakby to zrobić? PS: przy okazji możecie mi powiedzieć jak osadzać gify, żeby nie było hiperłączy
  14. Strzały po krzywej linii

    Dziękuje! Chodzi dokładnie tak, jak chciałem. Patrząc i analizując Twój kod, widziałem gdzie popełniałem błędy i nie rozumiem tylko tej linijki (prawdopodobnie dlatego, że występują tam dwie funkcje matematyczne ._.) // glowna funkcja przesuniecia var factor = sin((distance / start_distance) * pi); // i tu też do końca nie wiem, dlaczego mnożymy przez pi var maxlen = sqr(log2(start_distance)); // <---------------- TEJ var offx = lengthdir_x(maxlen * factor, angle90); var offy = lengthdir_y(maxlen * factor, angle90); Wynik bardzo mnie zadowala, plus dodałem wybieranie czy pocisk ma lecieć z dołu czy z góry :> https://imgur.com/a/60zCDPN
  15. Strzały po krzywej linii

    Eh, poddaje się ._. Próbowałem to ogarnąć przez te 3 dni wraz z poradnikiem https://csanyk.com/2012/10/game-maker-wave-motion-tutorial/ ale no nie wychodzi mi to. Mógłbyś dać swój przykład na inny hosting, bo nie mam do niego dostępu Chcę jeszcze troszkę popróbować. Dzięki za pomoc^^
  16. Nad czym aktualnie pracujesz?

    Cóż, to nie bomba graficzna, ale mój zamiar jest taki, żeby w końcu zrobić fajnie grywalną, prościutką grę z dodatkiem tabeli wyników na www, gdzie również ma byś osadzona gra. Miałem zamiar ją zrobić w weekend sobota-niedziela, ale jednak nawet na taką prostą grę potrzeba czasu... a przynajmniej ja go potrzebuje https://media.giphy.com/media/4EFt4z4qlzzslDU8ua/giphy.gif
  17. Temat zbiorczy na drobnostki

    Tak jak napisałem wyżej, musisz zrobić coś na podobieństwo colission_rectangle, czyli wywal całkiem swoje collision_line, nie używaj tego. Nie wiem co znaczą twoje zmienne, ale jak na mój rozum, drugiego ifa też trzeba się pozbyć, zostaje tylko ten pierwszy (cokolwiek robi). Coś takiego, powinno być. if( (x >= vx and x <= vx+vw) and (y >= vy and y <= vy+vh) ) { //kod na strzelanie w gracza event_user(1) // shoot (co to jest?) shooting = true // do uzyskiwania wyniku prawda/fałsz nie używaj int'a tylko bool'a - zajmuje mniej komórek pamięci w Ramie (optymalizacja) } else { //kod na cokolwiek, kiedy gracza nie widzi shooting = false } Pokombinuj na różne sposoby. Ogólnie, mój kod: (x >= vx and x <= vx+vw) and (y >= vy and y <= vy+vh) Zwraca Ci wartość z czy przeciwnik wchodzi w view gracza. Dając "else" po tym if'ie, negujesz tą wartość, czyli wychodzi "false" Przypatrz się dobrze, spróbuj zrozumieć
  18. Temat zbiorczy na drobnostki

    Nope, w Create sprawdzi kod tylko raz przy tworzeniu instancji. Gra musi sprawdzać to co klatkę tak, żeby nie przeoczyła momentu kiedy wróg pojawia się w polu widzenia gracza, tak więc wklejasz to w Step. Jedynie co możesz dać w Create to zmienne, ale równie dobrze zamiast zmiennych własnych, możesz napisać od razu view_xview zamiast vx.
  19. Temat zbiorczy na drobnostki

    Lolik, musisz zrobić coś w stylu collision_rectangle, tylko na view'a. Dam Ci prosty kod, zmień go na własne potrzeby (uwzględnij spirte_width wroga itp) vx = view_xview; vy = view_yview; vh = view_hview; vw = view_wview; if( (x >= vx and x <= vx+vw) and (y >= vy and y <= vy+vh) ) { //kod na strzelanie w gracza } else { //kod na cokolwiek, kiedy gracza nie widzi }
  20. Latanie bokiem - drift

    No cóż, z pierwszym Ci nie pomogę ale powinienem mieć rozwiązanie na drugi problem. W twoim kodzie jak już w coś "przydzwonisz", to ustawiasz friction obiektu na 3, dlatego nie możesz dalej ruszyć pojazdem. Musisz ustawić friction z powrotem na 0. Proponuje alarmy, np: Create: alarm[0] = -1; Kolizja: if(speed > 1) { move_bounce_all(1) speed-=5 friction=3 alarm[0] = 0.5*room_speed; } Alarm[0]: friction = 0; W takim wypadku, po pół sekundy od kolizji znowu będziesz mógł prowadzić pojazd - czysto teoretycznie, bo nie sprawdzałem w praktyce, ale zapewne coś tą metodą osiągniesz
  21. Temat zbiorczy na drobnostki

    Zawsze wiedziałem, że programiści są nienormalni ale pisanie ekwipunku tylko to potwierdziło dzięki za odpowiedź
  22. Temat zbiorczy na drobnostki

    Czy siatki ds_grid są globalne czy lokalne? Chodzi mi o to, że jeśli w: object1 - create grid = ds_grid_create(width, height); object2 - create grid = ds_grid_create(width, height); To będą się one w jakiś sposób gryzły? czy po prostu jak są w oddzielnych obiektach to siebie nie widzą.
  23. Obrońcy Głogowa, odcinek 1

    Jak się już obejrzy pierwsze 2 minuty to nie idzie wyłączyć. Naprawdę przyjemnie się ogląda, a i zaśmiać można się nie raz ("kupsko jeszcze świeże" - tak, mam 20lat ale żarty o kupie wciąż śmieszą).
  24. Nad czym aktualnie pracujesz?

    Raczej nie chodzi o jakość grafiki tylko o rodzaj. Masz fotorealizm, pixelart, typu borderlands (tak, nie wiem jak się nazywa). Niedawno wyszedł cuphead i pierwsze co słychać o tej grze, to o grafice właśnie, że jest jedyna w swoim rodzaju i to także przyciąga ciekawość ludzi.
  25. Temat zbiorczy na drobnostki

    Jak dołączyć float do int? Zmienić int w float, ale tak, żeby ten int było po przecinku. Coś takiego: zmienna = 0.hspeed zmienna = 0. && hspeed zmienna = 0. and hspeed zmienna = 0.+hspeed (tak wiem, to jest bez sensu, bo to zwykłe dodawanie dwóch liczb) Chodzi mi o to, żeby liczba przed przecinkiem zawsze wynosiła 0
×