-
Postów
2 911 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
14
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Threef
-
A co ma znaczyć GML with obj_mobile parent? Tak nie można budować warunku. Co próbowałeś osiągnąć?
-
Pytanie? Ja pytania nie widzę, sorry.
-
Są zmienne xstart i ystart. jak zrobisz x=xstart; y=ystart to ustawi ci pozycję na startową z room.
-
Zmienna zapisywała się jako większa wartość, ale argument dla random_set_seed() nie przyjmuje większych liczb.
-
Kung Fury jest ewenementem że trzeba obejrzeć z lektorem i bez. Co robimy w ukryciu może widziałeś po polsku? Bo wtedy na pewno przegapiłeś sporo żartów. Jak Stu pokazuje "Vladislavowi the Poker" Facebooka xD
-
Czasami jest tak że ktoś poleci wam pewien film. I poleci go wam jeszcze 50 innych osób. Tak na przykład było z Kung Fury. Którego nie odważę się opisać, ale na pewno polecę. Albo go pokochacie albo znienawidzicie. Zapomniałem go wymienić wcześniej bo wypadł mi z głowy. Natomiast dziś obejrzałem polecony mi wcześniej What We Do in the Shadows. Film stylizowany na dokument. Dokument pokazujący życie czterech wampirów w Nowozelandzkim mieście. Od najprostszych problemów jak wieczorne wypady na miasto, do zakrwawionych ubrań i problemów miłosnych. Idealne wykorzystanie wierzeń o wampirach. To że pali ich słońce, że nie widać ich odbicia w lustrze i masa innych. Wszystko jako ich zwykłe kłopoty życia codziennego. A do tego wszystkiego masakrycznie dobre żarty. Świetnie się oglądało na kacu.
-
Problem rozwiązany. Trochę włosów wyrwałem bo raz działało a raz nie. Winę zwaliłem na update, bo błąd wystąpił pierwszy raz po jego zainstalowaniu i w changelogu były opisane zmiany co do seedów. Seed jaki mi się ustawiał to 2147483648. A ja jestem idiotą. :) Wszystkie liczby w GM są przechowywane w pamięci jako 32 bitowe. A jak cytuje wikipedia:
-
To może dokładnie podam co robię. GML d=string(global.zmienna1*(current_year-2000)) +string(current_month) +string(global.zmienna2*current_day) +string(current_hour) +string(floor(current_minute/15)) random_set_seed(real(d)) Teraz się zastanawiam czy np jest maksymalna wartość jaką może przybrać seed. Edit: To już działa: o_0 GML random_set_seed(real(d)/1000)
-
Cześć wszystkim. Wydaje mi się że najnowszy update GM:S czyli v1.4.1675 może mieć problemy z liczbami losowymi. W changelog wersji jest wyraźnie wyszczególnione że zmieniony został sposób w jaki liczby losowe są generowane. Z tego co zaobserwowałem to ustawienie seed nie ma wpływu na resztę funkcji. Nie ważne czy randomize() czy random_set_seed() nie ma to wpływu. random_get_seed() zwróci nowo wygenerowany seed, ale random() korzysta jakby z innego seedu. Ten inny seed jest resetowany do pierwotnej pozycji przy każdym użyciu randomize() albo random_set_seed(), ale nie na seed jaki oczekujemy. Sprawdźcie u siebie czy to nie będzie zwracać różnych liczb: GML (step) randomize() show_debug_message(random(100)) Edit: Sam się teraz gubię. Nie wiem co jest co. Dalej nie działa jak powinno.
-
Dobrze zrozumiałem. No to nagrywając dostajesz w GM dane. Tylko że nie wiadomo co z nimi zrobić.
-
W sumie to GM:S ma możliwość nagrywania mikrofonu, ale nie znalazłem nigdy żadnego przykładu. Dokumentacja podaje: No i funkcja to: audio_start_recording()
-
Ja niestety nie mogę. Dłubię sobie nad grą z poprzedniej ligi, muszę jeszcze dorobić menu do wcześniejszej gry, a mam jeszcze ochotę popracować nad grą z ligi o rąbaniu drzewa. Za mało czasu na cokolwiek. :( Ale następny temat ligi ja zaklepuję! Moja będzie kolej!
-
Kombinowanie robi tak że masz jedną ikonkę na np 5 okien exploratora. Musisz najpierw kliknąć na nią, a potem na okno które chcesz, ale nie wiesz które chcesz bo są pokazane po miniaturkach które nic ci nie mówią.
-
Dla mnie to był bezsensowny feature, bo wystarczy wyszukać apkę po nazwie w menu start co jest niesamowicie szybkie... ale z czasem system zaczął mi zamulać. I przypięte mam tylko ikony które i tak mam otwarte przez 30% czasu: Explorator windows, Remote Desktop, VirtualDub i notatnik (bo mogę przypiąć pliki wybrane txt i mam całą listę pod PPM).
-
Nie koniecznie będzie się bugować, szczególnie przy tak prostym kodzie, ale na pewno w końcu zacznie to spowalniać grę. Warto przyswajać dobre praktyki już teraz. Boad bardzo dobrze radzi. Cała logikę, poruszanie, kolizje, etc trzymaj w step. W Draw wykonuj tylko kod odpowiedzialny za rysowanie. Ale nie bój się tego. Nic się nie stanie jak w step będzie pętla która będzie rysować 10 serduszek, albo jakiś inny kod.
-
W dalszym ciągu ds_map_write() zapisuje w nie czytelnym formacie. Nie chce mi się teraz testować ale dokumentacje mówi: Wcześniej to był ciąg znaków nie wiem czy same cyfry czy cyfry wymieszane z literami, ale to był nie czytelny format. Czy jest kompatybilny? Nie wiem, nie mam czasu przetestować. Pewne jest to że ds_map_write() nie zapisuje jako JSON.
-
Jest bardzo dużo różnych sposobów. Najważniejsze to pamiętać że można rozdzielić od siebie animację i kolizję, i tak powinno się to zrobić. Osobno myśl jak zrobić animację i osobno wykrywanie kolizji. Animacja może być przez zmianę subimage. Zwyczajnie animowany obiekt. Kolizji pewnie nie chcesz non stop, a tylko w odpowiednim momencie. Po co ma zadawać obrażenia gdy kolce się chowają? Musisz jakoś ocenić stan. Albo zrobić samemu zmienną albo na przykład sprawdzać która klatka animacje teraz jest rysowana. Sposobów jest BARDZO dużo a ja przedstawiłem jeden z najbardziej uniwersalnych. Najprostszym będzie zwyczajne zmienianie pozycji y kolców, ale to może się bugować. ;)
-
Jest o wiele wygodniej. 2 powody: - Przy małych rozdzielczościach (ja mam 1024x600) zyskujemy jakieś 40 pixeli w pionie. Dla kogoś piszącego kod to DUŻO. - Przy dużej ilości otwartych okien ich nazwy nie mieszczą się i są zwijane. Gdy są z boku to każdy ma własny rząd. I widać chociaż początek nazwy. Ja z to nigdy nie pojmę jak ktoś może nie wyłączać kombinowania na pasku.
-
Poprzedni raz jak pobrałem to nie instalowałem. To jest świeży install. Na 100% wina jest mój sprzęt. Pewnie masz to słabo zoptymalizowane i mój Atom 1.06 GHz nie daje rady. Albo może to że mam 2 monitory i gra stara się odpalić na fullscreenie? W ogóle co ma się pokazać po wybraniu "Single player"? Ekran wyboru postaci?
-
Pobrałem poprzednie demo ale nigdy nie znalazłem czasu by je odpalić. To co dałeś teraz też pobrałem od razu, ale pewnie bym olał. W końcu jednak odpaliłem żeby jednak coś napisać. Jak dajesz ludziom grę w instalatorze to zadbaj o niego. Możesz bez problemu podmienić swoje grafiki w GGS. Odpaliłem grę i zobaczyłem biały ekran na pierwszym monitorze. No dobra, poczekałem chwilę, poszedłem zrobić kanapki, wróciłem, zjadłem kanapki, zastanowiłem się czy zrobić kolejną, poszedłem do lodówki, zastanowiłem się z czym zrobić po czym ją zrobiłem. Wróciłem do komputera i nie zdążyłem zjeść kanapki bo gra się włączyła. Menu wygląda dobrze. Nie mam zarzutów. Opcje działały dobrze i mam nadzieję że wszytko działa. Ja nic nie zmieniałem. Włączyłem "Single Player" i dokończyłem kanapkę. Może niepotrzebnie zrobiłem alt+tab, bo już jest tylko czarny ekran. Na tym przygoda na razie się kończy. Odpowiem szybko na maile i spróbuję włączyć ponownie za 30 minut.
-
Już nad tym nie pracuję bo już dawno jest skończone, a teraz testuję i sprawdzam jakie itemy mi wypadają. No i zastanawiam się jakie wspomnienia mają te spodnie..?
-
To już nie są drobne pytania więc następnym razem zastanów się nad napisaniem nowego tematu. Niech ten temat zostanie na pytania które można odpowiedzieć w jednym zdaniu. To nie ma sensu. Użycie global i tak jest już bardzo optymalne bo możesz mieć tylko jedną zmienną globalną o danej nazwie w całej grze. To co opisujesz to zwykłe dziedziczenie zmiennych. Tak powinieneś to robić dla zmiennych które nie są globalne a maja być wspólne dla bratnich obiektów. Tylko jeżeli ta zmienna ma się zmieniać tak samo dla każdego z tych obiektów (np.: buff prędkości dla wszystkich przeciwników) to wtedy nie ma to sensu. W takim wypadku warto mieć jeden obiekt kontroler który tym zarządza i nie jest rodzicem, a inne obiekty odnoszące się do niego. Zapytaj 10 producentów z top 10. Nikt z nas nie zna odpowiedzi na to pytanie.
-
Chciałbym zauważyć za za tydzień jest Black Friday i Cyber Monday. Największe wyprzedaże w roku a YoYoGames uczestniczyło w poprzednich latach. Wiec można się spodziewać jakiejś dużej promocji.
-
Tu nie chodzi o to że nie używasz funkcji draw. Event draw jest wykonywany dla każdego obiektu który ma visible=true. Rysowanie sprite, tekstu, zmiana alpha, ustawienie blend. Każda akcja dodaje więcej czasu obliczeń, a event draw jest najcięższym do wykonania i to on prawie zawsze spowalnia grę. Nie mam pojęcia czemu dzieje się akurat coś takiego że FPS spada z czasem. Może dodajesz grafiki z plików zewnętrznych? Tak czy inaczej odsyłam cię na http://www.yoyogames.com/tech_blog/30 gdzie znajdziesz wytłumaczenie, a potem http://www.yoyogames.com/tech_blog/61 gdzie omawiana jest optymalizacja draw dla Androida. Edit: Przy czym pierwszy artykuł jest z 2013 i np Nest "if" jest nie aktualne bo mamy już Short Circuit Evaluation. ;)
-
Witamy na forum! To jest tak zwany Splash Screen. Można go wyłączyć w Global Game Settings, ale wersja free ma chyba tę opcję zablokowaną i będzie się pokazywał zawsze. Nie ma takiego eventu, staramy się spotykać przy każdej okazji jaka się natrafi. Najczęściej jest to PGA, Pixel Heaven, albo Digital Dragons. W sumie to na jakiekolwiek imprezy dla twórców gier jeździ mniej niz 10 osób które się przyznaje do używania GM. Mnie się zdarza. Mam w Poznaniu sporo znajomych i bywam tam jakoś co 2 miesiące. W sumie to na początku grudnia powinienem jechać na imprezę, ale chyba odmówię bo ostatnio praca mnie przytłacza i muszę nadgonić terminy