Skocz do zawartości

Threef

Moderatorzy
  • Postów

    2 911
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    14

Treść opublikowana przez Threef

  1. Threef

    [EP2] Część 2/3

    Heh. Chyba mam zachowane streamy z robienia tego bota. To wyglądało tak że zrobiłem bardzo inteligentnego bota ale miał bug. Nie potrafił walczyć sam ze sobą. Dlatego napisałem innego bota który będzie tylko zbierał powerupy i strzelał. Okazało się że ten drugi wygrywał w 100%. Potem go jeszcze ulepszyłem by był mniej agresywny i chyba ten oddałem. Ale jeżeli przeanalizujemy co się stało to jest to oczywiste. Najważniejszym elementem jest wyliczanie szybkości strzałów. Dzięki temu nie wpadam w przegrzanie i mogę wystrzelić 1-2 pociski więcej niż przeciwnik a to daje mi wygraną. A przytulanie ścian też wygląda na taktykę. Okazuje się ze każdy z was trzyma się tarczy a statystycznie najmniej czasu spędzacie przy ścianach gdzie mogę czekać. Przypomniało mi się że poprzedni mój bot podejmował fajne ryzyko. Jeżeli nie było przeciwnika w okolicy, albo był przegrzany ORAZ moja kulka była uszkodzona to zestrzeliwał własną kulkę by szybciej się zregenerowała. Wtedy chyba chował się za kulką gracza albo uciekał. Czekam na mój pojedynek z I am Lord. Przez to że wyprzedza on kulkę częściej będzie w moim zasięgu i jestem pewien że nawet zada mi obrażenia! A co jeżeli akurat wtedy będzie tam lustro? Ah! Nie mogę się doczekać! Edit: Ale trzeci epizod w Kwietniu? :jezor:
  2. Ale audio_play_sound_at() działa dobrze, tylko pierw musisz ustawić punkt w którym jest twoja głowa która słyszy. Sorry piszę lekko pijany.
  3. No nie. Pokazuje dobrze. Tylko że to ty wpisałeś dane na odwrót. Myślałeś że wpisujesz do kolumny a wpisywałeś do wiersza.
  4. GML wybrana_kolumna = 2; //numer kolumny odstep = 15 //odstęp między wierszami for (var i=0; i<array_length_2d(tablica, wybrana_kolumna); i++) { draw_text(0 ,0+i*odstep , tablica[wybrana_kolumna,i]) } To chyba tak ma być.
  5. Proszę Cię. Nie próbuj używać wszędzie plików INI. Służą one do zapisywania konfiguracji, nie do przechowywanie danych. Więc jeżeli dla przykładu chcesz zapisać ustawienia dźwięku to plik INI jest do tego dobry, ale na przykład dla liczby punktów nie ma gorszego rozwiązania. Dobrym sposobem który zabezpieczy w jakiś sposób dane jest zapisanie ich w ds_map i zapisywanie przy pomocy ds_map_read() i ds_map_write().
  6. Chodziło mi o to żebyś założył nowy projekt i sprawdził czy działa zapisywanie. Nie o to abyś zaczynał od nowa. game_save i tak ci się popsuje jeżeli dokonasz jakiś zmian w grze. Jeżeli dojdzie do sytuacji że zapiszesz grę a potem zmienisz coś w projekcie to jest bardzo duża szansa że już nie wczytasz tego zapisu gry. Dlatego YYG nie poleca już używania tego.
  7. Rozszerzenie nie ma znaczenia. Możesz zapisywać bez. A komentarza o użyciu ini nie skomentuję. Jeżeli wszystko robisz dobrze to problem pewnie leży w śmieciach albo jest bugiem GM:S (co nie powinno już mieć miejsca). Jakbyś jeszcze nie wiedział to GM:S obsługuje dane w dziwny sposób. Zapisywać możesz tylko i wyłącznie do working_directory czyli do folderu gry w %appdata%. Za to odczytywać możesz aż z trzech lokalizacji. working_directory, folderu instalacyjnego gry i program_directory. Dwa ostatnie zazwyczaj są te same, ale zdarzają się wyjątki. Twój problem może być taki że masz gdzieś plik który dla GM jest tylko "do odczytu". GM otwiera go, czyta ale gdy próbuje go zapisać nie może wiec robi to do working_directory. Następnie jeżeli masz plik o tej nazwie w working_directory to nie szuka już w innych lokacjach tylko otwiera ten. Możesz go edytować, zapisywać i kasować. Ale jeżeli usuniesz ten plik to ponownie będzie go szukać w innych lokacjach. Spróbuj założyć nowy projekt i w nim zrobić to samo.
  8. Jest. string_width_ext() Na podstawie tego możesz wyliczyć szerokość tekstu używając aktualnie wybranej czcionki. Mając to możesz sobie wyliczyć z proporcji skalę dla tekstu. Jest też funkcja do wysokości w razie czego.
  9. Game Maker: Studio nie ma wersji stabilnej. YYG przestało wydawać wersje Beta i wydaje wersje Stabilne na kanale Beta. Zawsze powinieneś mieć najnowszą wersję Beta. A to że one nie działają jest już inną sprawą.
  10. Threef

    Anime

    Też teraz oglądam SAO II. Znaczy się oglądam to za dużo powiedziane. Zupełnie mnie nie interesuje ale to jest jedno z tych anime które jest tak popularne że trzeba je znać. Więc mam tylko otwarte na drugim komputerze i leci w tle gdy pracuję. Nie przykładam do tego zbyt dużej uwagi. Tak samo oglądałem pierwszy SAO. Znaczy się już zaraz będę kończył i zauważyłem że gdyby to było tylko pierwsza część SAOI i SAOII jako całość to może i by mi się podobało bo jest to dość spójne. Ale przez to że druga część sezonu jest tak oderwana to mam do gdzieś.
  11. Chyba od kwietniowego update. Jak otworzysz 2 bloczki z jednego obiektu a potem je ze sobą zamienisz miejscami to wyskoczy komunikat czy zapisać zmiany w bloku bo GM wtedy będzie próbował je zamienić miejscami. To jest OK. Ale kod z otwartych okienek dalej myśli że to kod z pierwszego i drugiego okienka. Jeżeli zapiszesz któryś z nich to nadpisze on zamianę miejsc. Przez to będziesz mieć dwa takie same bloki. Bo jeden zastał nadpisany przez GM przy zamianie miejsc a drugi zapisałeś ty bo edytor miał otwarte okienko jednego w którym wyświetlony był kod drugiego.
  12. Nie kasować i nie dodawać nowych bloków kodu podczas gdy są inne dodane. Błąd też występuje gdy macie otwarty jakiś bloczek i wstawicie pusty przed niego.
  13. To się zdarza dość często na wszystkich wersjach jakie wyszły w tym roku. GM:S gubi referencje do bloczków. Dobrym przykładem jest zrobienie sobie w step 2 bloczków kodu, wpisanie do nich czegoś, otworzenie obu i podczas gdy są otwarte usunięcie pierwszego. GM:S wtedy myśli że plik dalej istnieje i wyświetli zawartość drugiego bloczku jakby był pierwszym.
  14. Strzelec i kusznik wyglądają dla mnie zachęcająco. :)
  15. Nic z tego. Nie przy pomocy podstawowych funkcjonalności. Chyba że sam sobie napiszesz extension w Javie.
  16. W wakacje zrobiłem sobie przerwę od WoWa ale we wrześniu wróciłem (dalej prywatny serwer) Wczoraj wieczorem na battlegroundzie Wintergrasp próbował mnie zabić Death Knight o nicku "poxipol". :bye1:
  17. Yo! Po lekkich męczarniach gra jest dostępna na Google Play. https://play.google.com/store/apps/details?...ef.Flappy_Souls
  18. Być może jest przeskalowana, albo coś innego się z nią dzieje.
  19. Ten event odpala się przy kliknięciu w maskę kolizji obiektu.
  20. Masz zacząć myśleć obiektowo. Jeżeli wszystkie bloki w twojej grze różnią się tylko grafiką albo rozmiarem to znaczy że dziedziczą po sobie jakieś właściwości. To oznacza że mogą mieć wspólnego rodzica (albo jeden z nich może być rodzicem). Później jeżeli będziesz sprawdzał cokolwiek dla rodzica GM będzie przy okazji sprawdzać jego dzieci.
  21. Jeżeli większość obiektów ma ten sam rozmiar maski to wtedy jest szybciej. Tu się zgodzę bo wystarczy wtedy ustawić ją o obiekcie. A jeżeli chodzi o przykład z maskami to chyba był nawet mój.
  22. A co tu mówić o szansach? Są jakie są. Wypełniasz formularz i albo spodobasz się SIE albo nie i nie będą z tobą pracować. Z ludzi o których wiem że aplikowali każdy dostał, ale nie było innego wyjścia. Nie idziesz do Sony z platformówką zrobioną ze zlepionych przykładów. O współpracy z Nintendo wiemy tylko tyle że dopiero zaczynają wspierać indyków. A GameMaker chyba nie ma szans na eksport. Były plotki o tym że da radę, ale ostatnio pojawiły się informacje o tym że premiera Hyper Light Drifter na konsoli Nintendo została odwołana z powodów problemów z portem.
  23. Ale gnysek, czy jest sens tworzyć nowe sprite dla masek? Przy rysowaniu takim jak teraz podałeś (do debugowania) to to pomaga, ale przecież wystarczy dla oryginalnych grafik ustalić ręcznie maskę.
  24. Wiem jak Ci pomóc. Wyobraź sobie że każdy obiekt rzuca pod siebie cień. Jeżeli obiekt stoi na ziemi to cień jest tam gdzie nogi. Jeżeli to lecący pocisk to cień jest niżej symulując że obiekt jest w powietrzu. Teraz zwyczajnie sprawdzaj kolizje pomiędzy cieniami. Niczym innym.
×
×
  • Dodaj nową pozycję...