Skocz do zawartości

ZyperPL

Użytkownicy
  • Postów

    533
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez ZyperPL

  1. Cześć ;)

    Jak każdy wie, optymalizacja gry jest ważna. Znacie jakieś dobre sposoby optymalizacji gier w GMie? Ja miałem pomysł, aby deaktywować obiekty daleko od gracza. Napisałem takie coś:

    GML
    if distance_to_object(postac)>500 instance_deactivate_object(self)

    else instance_activate_object(self)

    Ale obiekty po deaktywacji nie wracają do początkowego stanu i ich po prostu nie widać. Wie ktoś w czym problem?

    Z góry dzięki :P

     

     

    Mam jeszcze małe pytanie, jak umieścić obiekt A między dwoma innymi obiektami?

    Próbowałem dzielić distance_to_object na pół lub pozycje x i y. Ale to nie działa. Jakieś pomysły?

  2. Hmm... Nic nie działa.

    Pomoże mi ktoś jeszcze? Nawet jak nie czytałeś tego tematu.. pomóż mi. Pobierz to i spróbuj coś zrobić.

    https://gmclan.org/up5269_12_collisionlineblock.html

     

    Nie możliwe, że nie można tego zrobić :D Przecież musi być jakieś rozwiązanie. Specjalnie okrajałem moją grę, żebyście mogli pobrać i sprawdzić. Więc proszę spróbujcie coś wykombinować, bo ja się męczę cały dzień i nic :P

     

     

    https://gmclan.org/up5269_12_collisionlineblock.html

  3. A gdzie to wpisałeś?

     

    W Create. Ale chyba kolejność zdarzeń jest dobra i to się dzieje jak już są te punkty. Czekajcie sprawdzę...

     

    Nom... to się dzieje, kiedy już wszystko jest na mapie. Czyli we właściwej kolejności :P Dałem w Create zamiast tego distance_to_object cośtam to instance_destroy() i takie coś działa. Tylko nie wiem dlaczego z tym collision_line nie :P

  4. Dobra, dzięki, właśnie tak zrobiłem, że zmniejszam prędkość, ale męczę się jeszcze z collision_line. Co niby jest nie tak w tym kodzie, że nie działa?

    GML
    if collision_line(randompunkt2.x,randompunkt2.y,randompunkt1.x,randompunkt1.y,self,1,0)

    {instance_destroy();}

     

    EDIT:

    Chciałem zrobić, żeby między randompunktem1 a randompunktem2 kasowały się blocki. :P Jednak nie wiem czy dobrze tej funkcji użyłem.

  5. Wielkie dzięki ;)

    Szkoda tylko, że nie ma jakiegoś rozwiązania dla mojego głównego, ważniejszego problemu. Musiałbym jakoś sprawdzać direction... Hmm...

    Moja gra jest gość prosta, bo ściany z którymi koliduje gracz są kwadratowe a nie różnego kształtu. Więc jeśli postać nie idzie wprost na ścianę to powinna iść jakoś wolniej. Pomoże ktoś?

  6. Yo!

    Czy istnieje w GMie jakaś sprawna komenda, dzięki której mógłbym przy kolizji obiektu ze ścianą przesuwać ten obiekt po krawędzi.

    Tzn. gdy używam znanych mi komend postać, albo odskakuje (move_bounce), albo haczy się jak o papier ścierny (np. x=xprevious).

     

    Dlatego pytam jak zrobić jakieś płynne spowalnianie gdy idzie się na ścianę w grze TOPDOWN. Jest jakaś sprytna funkcja?

     

    Z góry dzięki za pomoc.

     

    Jeszcze jedno, jak można sprawdzić czy obiekt koliduje z pathem?

  7. No cóż, nie myślałem, że będę miał z tym problem. Ale nie mogę sobie już kilka dni z tym poradzić..

     

    Więc.. chciałbym zrobić, żeby obiekt pojawiał się za graczem. Jednak nie jest to takie proste, bo postać obraca się w różne kierunki (direction). Więc np. x-15 jest na lewo od obiektu, ale nie za obiektem gdy ten się obróci. Bardzo proszę po pomoc.

  8. Ehh.. Chyba tego nie ogarniam, co napisał HuderLord. Trzeba robić jeden path, czy do każdego połączenia nowy? I.. i... jak wykrywać czy block koliduje z pathem? Ehh.. przerasta mnie to.

     

    Chyba użyję sposobu alwina. IMHO łatwiejszy :<

     

    Dawno nie siedziałem z GM, więc teraz trudno mi się myśli :|

     

    Sory, i dzięki ;)

  9. No, tylko co dokładniej mam Ci powiedzieć ;) Pisałem top-down i korytarze, więc przepraszam, że mogło być to do końca nie jasne.

    http://img843.imageshack.us/img843/9269/ma...owageneracj.png

    Chodzi o coś mniej więcej rogulelike. Ale nie tak zaawansowane. Same korytarze wystarczą.

     

    Pomysł LunderLorda* i alwina świetny. Wielkie dzięki również Platynie za pomoc. Ciekaw jestem, czy coś zrobię i czy nie pozapominałem komend (z tym motion planing to masakra).

    Jak zrobić, żeby pathe powstawały po kątach prostych (90*), bo to nie było tak, że zawsze leciało bardziej płynnie?

     

    Może ktoś trochę zarzuci komendami? :S

     

    @Dół:

    Nie przekręciłem. Po prostu zły klawisz wcisnąłem. Sorka.

  10. hmm może w ten sposób:

     

    *cały room podzielony jest na grid powiedzmy 64x64

    *wszystkie komórki wypełnione są obiektami solid(ściana 64x64)

    *następnie po roomie zasuwa gumka- obiekt 64x64 który wycina korytarze, jej ruch trzeba dobrze zaprogramować aby wycinanka miała ręce i nogi.

    *w większych komnatach tworzone są specjalne strefy, tzw komnaty

     

     

    Czyli? że np w komnacie(pomieszczeniu o jakimś tam rozmiarze ) która powstała po wycinance tworzysz cmentarz,->jakieś tam grobki-> sprawdzasz gdzie stworzył się cmentarz-> niedaleko stawiasz wrogów którzy żyją na cmentarzu-> jakieś przedmioty specjalne niedaleko wrogów cmentarnych

     

    Analogicznie po wycinance możesz sprawdzić czy jest jakis większy obszar wolny-> stawiac tam obj drzewka etc; leśne żyjątka->leśnych wrogów->leśne skarby

    W ten sposób mapka może być ciekawa i sensowna, jakby człowiek sam ją ręcznie składał:)

     

     

    Bardzo dobrze mi to wytłumaczyłeś :)

    Tylko jest jakiś prosty sposób na sprawdzanie wielkości pomieszczenia? distance_to_object chyba za bardzo nie pasuje.

  11. Heroes?

    Jacy Heroes? Might and Magic? O ile pamiętam, nie było tam losowej mapy. Ale chodzi mi o to, żeby bloki ustawiały się w ściany. A nie jako pojedyńcze bloki. Jak to napisać? Można zrobić tak, że tworzy jeden blok i dokleja inne do niego. Ale jakie są na to polecenia, bo opuściłem się w GM :<?

    @Platyna, no tak. Tylko raczej nie da się umysłu ludzkiego przepisać do gry. To trzeba jakoś znaleźć inny sposób, tak żeby wydawało się, że to losowe. Trochę nad tym myślałem i zrobiłem ten temat, żeby czegoś więcej się dowiedzieć, bo bez waszej pomocy na pewno tego nie zrobię :P

  12. Witam!

    Ostatnio postanowiłem powrócić do Game Makera i dokończyć mój projekcik. Tylko oczywiście mam problem...

    Nie wiem, czy to zaawansowany czy nie. Jednak napiszę już tutaj, ponieważ z GMem siedzę trochę dłużej.

     

     

    Tak więc, jak napisałem w nazwie tematu chciałbym zrobić losowe generowanie mapy. Ale nie takie chaotyczne (bo takie, gdzie obiekty są byle gdzie to umiem zrobić) tylko takie, gdzie objekty będą poukładane w jakiejś logicznej kolejności.

    Grafika top-down.

    Chcę, żeby obiekty tworzyły losowe ściany i korytarze, ale tak, żeby można było tam przejść.

     

    Proszę, żeby mi ktoś napisał jak to mniej więcej zrobić. Kody GML mile widziane (choć wystarczy mi to dokładnie opisać) :P

  13. @Dawidss, najblizszywrog = instance_nearest(x,y,potwor);

     

    Chcę zrobić, że gdy moja postać stoi to może zaatakować tylko potwora, który znajduje się na przeciw niej. I tak się dzieje, ale jeśli za graczem stoi DRUGI potwór wszystko się komplikuje... :/

     

    Mój kod:

    GML
    najblizszy_potwor=instance_nearest(x,y,potwor)

    if distance_to_object(najblizszy_potwor)<=5 && keyboard_check_pressed(ord('F')) && czas_do_ataku=0 && (abs(angdiff(direction, point_direction(x, y, najblizszy_potwor.x, najblizszy_potwor.y))) <= 90)

    {

    najblizszy_potwor.hp-=sila

    sound_play(FistPunch)

    alarm[0]=czas_atak*room_speed

    }

    global.test=(abs(angdiff(direction, point_direction(x, y, najblizszy_potwor.x, najblizszy_potwor.y))) <= 90)

  14. Myślałem, że gra będzie lepsza :/

    A tutaj prawie z dnia na dzień to samo... przydało by się więcej zdarzeń (jak np. z tym olbrzymem czy czymś tam). Ale tak to nawet źle nie jest, no ale mówię, spodziewałem się czegoś lepszego :P

  15. Dobra, gra nie ma w połowie tego co ma MineCraft.

    Tutaj możesz budować kilka budowli, zbierać surowce i nic poza tym.

     

    W MineCraftie możesz budować, zmieniać cały świat, budować rollercoastery itd. itp. kopalnie, zbierać materiały, cratować.

     

     

    Kiedyś jak nie znałem MineCrafta, grałem dużo w Strandeda, ale gra jest już stara i nie aktualizowana.

    Multiplayer jest, ale nie działający, nawet przez LAN...

     

    Tyle..

×
×
  • Dodaj nową pozycję...