Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 812
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    141

Treść opublikowana przez gnysek

  1. Z zasobów archive.org wynika, że strona gamem istniała już w sierpniu 2001, ale musiała istnieć przed poniższą datą, bo najstarszy news jaki znalazłem dotyczy usunięcia zawartości ze strony. Sam GameMaker 3.3 został wydany w kwietniu 2001, a 4.0 w lipcu 2001, niestety to niewiele mówi - strona zarówno mogła, jak i nie musiała istnieć już między tymi datami. Na stronie http://nickman77.republika.pl:80/odpo.htm jest to pierwszy news w dziale Newsy od początku istnienia strony do 2002 roku, z tego dnia mamy kolejnego newsa, a następne są za 4 i 5 dni - obstawiałbym więc, że gamem mogło powstać 25-26 sierpnia 2021, zwłaszcza, że był to weekend (so-nd). W tych czasach strony generalnie ruszały w weekendy, gdyż kto nie miał stałego łącza, korzystał z modemu - 1 listopada 2002 (pon. ale było wolne) gdy powstał GMCLAN, czy 14 czerwca 2003 gdy wrzuciłem swoje hmt.pl . Start gamem w weekend obstawiam więc na > 90%.
  2. Myślę, że grze by nie zaszkodziło, gdyby otoczenie miało większe konstrasty, pozwalające stwierdzić, gdzie można sie poruszać, a gdzie są ściany.
  3. Ja tu doprecyzuję, że w najnowszych wersjach GM wygląda to tak: - utworzenie instancji - ustawienie zmiennych z Variable Definitions (w object properties) - ustawienie zmiennych z Structa przekazanego w instance_create_... (tylko instancja z kodu) - ustawienie zmiennych z create - ustawienie zmiennych z instance creation code (tylko instancja z rooma) - reszta kodu Dodaktowo, mamy jeszcze operator ??=, dzięki któremu można w create obejść problem, że zmienna została ustawiona przez structa i go nadpiszemy, ale warunkiem jest, żeby w Variable Definitions dać zmiennej wartość "undefined".
  4. Jakbyś na początku więcej wyjaśnił, to łatwiej byłoby pomóc Myślałem, że może chodzi o nie-GMowy projekt. Świetnie, że znalazłeś rozwiązanie i się nim podzieliłeś - to jedna z takich funkcji, o których wiele osób mogło nie słyszeć, bo HTML5 nie jest szczególnie wybieranym eksportem. Btw. - w niedalekiej przyszłości YYG planuje podmienić eksport HTML5 na WASM (niemal taki sam jak do GX.games, ale bez całej tej otoczki od Opery). Nowy runtime będzie mieć tylko WASM dla przeglądarek (gdyż tak łatwiej jest obejść niektóre problemy odtwarzania w JS niektórych GMowych rozwiązań). Warto będzie trzymać rękę na pulsie i pilnować, czy powyższa funkcja tam wciąż działa, bo na pewno jest przydatna
  5. gnysek

    Galeria Grafik

    Ta kamera, jak w Tomb Raiderach i paru innych gierkach w okolicach 1995 roku...
  6. Co ciekawe, osobiście miałem najpierw bardziej "rzółte" skojarzenie i szukałem tam gdzieś 21,37
  7. Tego kodu jest trochę za dużo, żeby przeanalizować, zwłaszcza, że większość zmiennych nie ma w sumie w przypadku tego pytania związku z sednem problemu (tworzenie krwi, wybranie armora). Spójrz na pętlę z WhatSee. Tam jest takie fajne sprawdzanie po kolei na typach obiektów i JEŚLI zaszła kolizja z danym typem obiektu, to wtedy wybierane jest state (i pętla jest kontynuowana!!!!), ale jeśli nie, to state zmienia się na "idź na środek". } else { show_debug_message("----------------------------NO COLLISION GO TO MIDDLE"); ActualState = WarriorState.GoToMiddle; } Wygląda więc tak, że możesz w jednej pętli znaleźć Enemy[0], ale wtedy nadal sprawdzisz Enemy[1], potem nie znajdzie Enemty[2] więc state będzie na GoToMiddle, ale potem pętla nadal szuka pozostałych obiektów i np. jeśli jest kolizja z o_DroppedHealPotion to do niego podejdzie, a jak nie to znów trafi na state GoToMiddle. Błąd polega więc na tym, że po pierwsze pętla przechodzi wszystkie typy obiektów i nie jest kończona, gdy znajdziesz kolizje, a po drugie, że state ustawia się na GoToMiddle za każdym razem, jak jednego z typów obiektów nie znajdzie (i kolejny typ może to nadpisać). Rzeczy, które można by zrobić to: a) wyjście z pętli for (WhatSee) jak zmieniono state b) ustawienie state na GoToMiddle przed pętlą, żeby pętla ewentualnie nadpisała ten stan, wtedy nie będzie potrzebny ten else (można też zrobić wariant z dodatkową zmienną tymczasową, która sprawdza, czy została znaleziona jakaś kolizja i jeśli nie, to wtedy ustawia GoToMiddle, nie ma tutaj to większego znaczenia, chodzi jednak o to, żeby to nie był else na każdym typie tego co przeszukujesz w pętli WhatSee). Może napiszę nieco jaśniej jak rozumiem Twoją pętlę: var search = [obj_enemyA, obj_enemyB, obj_healhtpack, obj_item]; for(var i = 0; i < array_length(search); i++) { if (collision_circle(...)) { state = <zrob_cos>; // to by się przydał break; w pętli :) } else { state = <idz_na_srodek>; } } I powinno być widać problem. Jeśli np. istnieje obj_enemyA, a nie istnieje obj_item, to zawsze state będzie wybrany, aby iść na środek Np. coś w ten deseń: var search = [obj_enemyA, obj_enemyB, obj_healhtpack, obj_item]; state = <idz_na_srodek>; // domyślny, pętla go ewentualnie nadpisze for(var i = 0; i < array_length(search); i++) { if (collision_circle(...)) { state = <zrob_cos>; break; } } Myślę, że gdyby w debuggerze postawić breakpoint, to byś to bez problemu znalazł Btw. do celów debugowych string(NearObj.object_index) zamienić można chyba na object_get_name(NearObj.object_index)
  8. Wybierasz format .zip ? Nie pamiętam, ostatni raz robiłem to z 6-7 lat temu
  9. Działa własnie z tego powodu, chciałem innych pokonać
  10. Już chciałem zagrać, ale... czemu to jest instalator, a nie spakowane .exe, żebym sobie mógł na szybko odpalić?
  11. Yep, najnowszy windows ma wbudowane nagrywanie albo pod Start+S, albo za pomocą Xbox GameBara, nie trzeba nawet OBS (chociaż to i tak najlepsze rozwiązanie, nie jak niektórzy, co mają wciąż instalki FRAPsa xD).
  12. To nie moje klimaty, więc nie ocenię Ale za zaprogramowanie wizualizacji w GM propsy.
  13. To jest już dostępne od 1,5 roku Było w release notes, było nawet na GMCLANIE: https://gmclan.org/news/658 - "- tradycyjny sposób wklejania obrazków do image editora (bez tworzenia brushy)".
  14. Shift klatki mozna zrobić: Rotate (ale tylko o 90) jest, Flip jest, Trim jest, Resize jest Scale jest: Brakuje w sumie rotate o dowolny kąt i skew.
  15. żebym ja pamiętał jakie Ale jeśli chodzi o Images, to jest to zgłoszone: https://github.com/YoYoGames/GameMaker-Bugs/issues/3184 i przez jakiś czas było w kolumnie "planned - IDE" ale tymczasowo zniknęła Także wygląda, ze to wszystko wróci.
  16. gnysek

    Galeria Grafik

    Dokładnie, epoka N64 i PSX. Wygląda jak gry AAA z lat 1995-2000.
  17. W sumie nic nie stoi na przeszkodzie używania dawnego edytora graficznego i potem importowania grafik. Jest trochę więcej zabawy, ale... a tak konkretnie których opcji brakuje? Bo wydaje mi się, że głównie brak filtrów, reszta być może jest za mocno ukryta? Pytam, bo zgłosiłem bodaj dwa Feature Requesty do YYG w tej sprawie, to mogę kolejne i może przywrócą brakujące rzeczy
  18. Te gry mają świetną grafikę (chociaż dla dzisiejszej młodzieży trochę retro) i potencjał, żeby wyjść na mobilki. Ja bym zastanowił się nad dalszymi pracami zwłaszcza nad tymi bardziej przygodowymi.
  19. gnysek

    Almora Darkosen

    dokładniej rzecz biorąc - milion pobrań później...
  20. Można, ale ja już zrobiłem założenie bez wbudowanych zmiennych. Ale można jak najbardziej, opisałem to w artykule: https://gmclan.org/artykul/101
  21. Kuwabara! Kuwabara!

  22. Nie, nie konwertowałem, ale pobieranie już działa https://gmclan.org/plik/199
  23. Pozycja w następnej klatce jest generalnie prosta: nx = lengthdir_x(predkosc_gracza, kierunek_gracza); ny = lengthdir_y(predkosc_gracza, kierunek_gracza); Natomiast pozycję "k" klatek do przodu, zakładając stałą prędkość gracza i brak zmiany kierunku, znajdujemy, mnożąc prędkość_gracza przez "k".
  24. gnysek

    Almora Darkosen

    Czekam na wersję Steam Deck
×
×
  • Dodaj nową pozycję...