Skocz do zawartości

hgter

Użytkownicy
  • Postów

    122
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    3

Treść opublikowana przez hgter

  1. hgter

    Tura #151 - Dyskusja

    Sutikku: Też mi się podoba. Zgrabnie wyszło. Choć takie sterowanie powinno być karalne:) Serio zmień jak możesz i wrzuć link, bo bym sobie pograł - a tak ledwo jestem w stanie (edit: po kilku próbach mózg się przyzwyczaja, ale i tak wygodniej byłoby normalnie:). Niby wiem, że gra Sutikku nie została dodana w terminie, ale może admini się zlitują?
  2. hgter

    Mira

    Koniecznie dajcie znać wtedy. Już zdążyłem sam ją wyszperać (ankietę nie twarz). :)
  3. hgter

    Mira

    Aż nie mam słów. Pod względem technicznym i graficznym jest rewelacyjnie. Zgadzam się - greenlight koniecznie. Nie działa mi tylko ankieta na końcu - dostaję błąd, że nie ma pliku GameMaker-Studio1.2\GameMaker-Studio.exe.
  4. Ok. Wkurzyliście mnie i też przeszedłem. Gdy zdobyłem laser gra stała się rzeczywiście bardzo prosta (pewnie inne ulepszenia też dawały sporo). Dwa pytania: co dają te zielone cosie po lewej strony od monet? I w jaki sposób Twój znajomy wyświetla szczegółowe statystyki? Bo u mnie pojawia się tylko xp, poziom i czas.
  5. Zrobiłem dokładnie tak samo. Specjalnie sobie ten wykrzyknik zostawiłem na bosa (choć jak łatwo się domyślić jednego z pierwszych). No tak. Tu już niestety nasze drogi się rozeszły. :) Czuję się niniejszym całkowicie załatwiony. I chyba pozostaje mi niestety wycofać się z zarzutu o zbyt gwałtownie wzrastającą trudność. Po prostu jestem noobem. Wracam do grania w Candy Sagę :) A serio, dzięki za film. Fajnie było zobaczyć jak gra ktoś kto zna tę grę i lubi w nią grać. Może dodaj ten link do pierwszego posta? No i zobaczyłem w końcu co jest dalej. :)
  6. To było niemiłe. Nie gadam z Wami. :)
  7. Tak, masz oczywiście rację. :) Rzecz w tym, że nie docieram dalej. U mnie wygląda to tak, że jest prosto prosto a potem w ciągu dwóch, trzech ekranów śmierć. Najczęściej ponieważ nagle trafiam na planszę np. z 4 policjami a potem 2 policyjnymi krążownikami i mimo pełnego życia, padam (to akurat chyba plansza specjalna). I to nie jest płynne przejście niestety. Mam maksymalne życie a plansze przez które przechodzę, sprowadzają się do wskazywania wrogów w najlepszym przypadku lub w najgorszym muszę po prostu przelecieć przez ekran. A na kolejnym losowo bum i jestem martwy. Oczywiście to bum jest standardem gatunku, ale rozwiązanie w którym najpierw się nudzę a potem ginę nie powoduje u mnie efektu "kurdę sprężę się, poćwiczę i przejdę dalej" tylko "kurdę znowu muszę męczyć się przez 5 minut żeby móc poćwiczyć choć trochę". Piszesz, że należy wykorzystać te plansze do rozwoju buildu. Tylko, że żeby móc to zrobić trzeba wiedzieć, które znajdźki co robią, a żeby się dowiedzieć trzeba wielokrotnie grać w te nudne początki. Poza tym te możliwości rozwoju są ograniczone niestety (nie ilością zawartości oczywiście). Na sporo prób raz udało mi się jednocześnie zdobyć chyba 3 wzmocnienia dające dobre właściwości a tak to może jedno. W efekcie nie ma żadnych korzyści z powtarzania leveli początkowych. Niczego się nie uczę bo są za proste a śmierć kasuje rozwój statku, więc grind odpada. Podczas naszej dyskusji już parę razy myślałem sobie "kurde muszę zobaczyć co jest dalej, bo ma być fajnie" (i patrząc na walki z bosami pewnie byłoby fajnie). Tylko, że za każdym razem schemat był identyczny i mimo irytacji, że nie zobaczę, straciłem ochotę do kolejnych prób. Ok, przykład - zupełnie inny gatunek, ale uznawane za trudne Super Meat Boy. Tam powtórzenie levelu, w którym się zginęło wiele razy nie zniechęca. Gdzieś czytałem analizę tego (naprawdę nie mogę odszukać) i za jedną z przyczyn autor uznał błyskawiczną możliwość powtórzenia przegranego levelu. Fakt braku menu, pytań czy powtórzyć, animacji startowych powoduje, że nie pojawia się irytacja. Przykład przeciwny Dragon's Lair. Tak mnie naszło ostatnio, klasyka - muszę pograć (np. http://www.dragonslairflash.com/). No i zupełnie się odbiłem - nie przez poziom trudności tylko przez te nieszczęsne animacje na początku zanim zacznie się gra, animacje śmierci i, to problem z tą konkretną wersją, fakt, że co 3 próby pojawia się okienko, aby podać nick do wyniku. No koszmar. I ponownie: nie zarzucam Ci, że mechanika jest zła. Bo przecież wiele gier miało i ma podobne podejście. To co mnie zniechęciło to "uskok trudności" i związane z nim zbyt męczące powtarzanie zbyt prostych etapów. Paradoksalnie, gdyby pierwszy level był trudniejszy to grałoby mi się lepiej. Ale ok: sam rozumiem, że nie jestem niestety osobą, która powinna oceniać tę kwestię mechaniki, bo akurat nie przepadam za takimi grami, więc moja opinia jest bardzo tym zabarwiona. Tu powinny się wypowiedzieć osoby lubiące takie gry. A piszę to wszystko głównie, bo chciałbym zobaczyć co jest dalej, ale serio odbijam się od powtórek levelu 1. Może, ponieważ jestem noobem, jakieś kody co? :) Konami kod nie działa - sprawdzone:) Mogłem się tego spodziewać :) A jest może taki zmniejszający tarcie?
  8. Hej Rozumiem teraz dlaczego odniosłem takie wrażenie. Rzecz w tym, że do tych trudniejszych poziomów po prostu nie dotarłem (najdalej chyba 3 (może 4?) poziom) albo dotarłem na chwilę. Zwróć uwagę, że ponieważ za każdym razem zaczynam od samiutkiego początku, to 95% czasu gram na levelach irytująco prostych, potem przez chwilkę jest zabawnie i ginę. I znowu kilka minut prostego dla 20 sekund zabawy. Oczywiście rozumiem ramy mechaniki, w których umieściłeś grę. I że to jest zaplanowany efekt. Jednak uważam, że akurat ta cecha gier uznawanych teraz za retro, wraz z rozwojem designu, słusznie pojawia się dużo rzadziej. Bo zniechęca nie sama trudność dalszych poziomów, co fakt, że żeby się z nimi zapoznać trzeba się za każdym razem naczekać. Ale to już jest moja opinia jako gracza i oczywiście to, że ja czegoś nie lubię nie oznacza, że Twoja mechanika jest zła. Dlatego wycofuję się z tego. Choć nie ukrywam, że dodanie choćby możliwości (np. przełącznik easy mode w ustawieniach) zapisu levelu, w którym się ginie jako punktu restartu dałoby także łamagom takim jak ja możliwość zabawy. EDYCJA: Jak teraz o tym myślę to własnie zaproponowałem w grze RogueLike opcję "Respawn na końcu labiryntu żebym mógł sobie obejrzeć ostatnią lokację":) Jednym słowem w Twojej grze RogueLike podoba mi się wszystko poza faktem, że to RogueLike. Czas spać. PS Pisząc teraz tego posta grałem jeszcze i serio ilość zawartości powala. Ty, jak brak soundtracka przecież jest muzyka inna pod każdym levelem + na bosa i efekty dźwiękowe? Zabawne, bo moją pierwsza myślą było - ja chcę większą bezwładność :) (tak jak w Asteroids). Ale po pograniu to jednak byłaby masakra (ale jako opcja lub modyfikator chciałbym to zobaczyć - o ile oczywiście już tego nie ma bo przy tej ilości znajdziek nie widziałem nawet 1/5).
  9. Witaj Gra się bardzo przyjemnie. Widać strasznie dużo pracy włożone w tworzenie zawartości. Z rzeczy, które mi się najbardziej podobają: Walki z bosami są super. Fajne, dynamiczne i akurat z trudnością. Mniam. Animacje i efekty. Bardzo z wyczuciem zrobione (najlepsze jest znikanie zniszczalnych ścian). Jeżeli jesteś zainteresowany to poniżej wypisałem te kwestie, które uznałem za błędy albo sytuacje, gdy mechanika mi się nie podoba (oczywiście to jest tylko moje zdanie, jeżeli się nie zgadzasz to nie miej żalu). Standardowo wypisując to nie zamierzam krytykować Twojego projektu (zresztą bardzo fajnego). Może Ci się to do czegoś przyda. Największym mankamentem jak dla mnie są duże kłopoty z kolizją. Rozwiązanie z kolidującym tylko "sercem" statku nie przypadło mi do gustu. Pociski przelatujące przez statek oraz nachodzące na niego niektóre elementy otoczenia są co najmniej dziwne. Ponadto przesuwając się przy ścianie statek szarpie (odbija się co chwila od ściany). Czemu tak to rozwiązałeś? Jeżeli chodzi o fakt problemów z obracaniem statku przy ścianach, gdy maska jest na cały statek to fajnie działa tu danie fizyki. Wtedy za kolizje odpowiada silnik fizyczny i to sprawdza się super. Przy obracaniu przy ścianie statek się od niej odsunie gdy dojdzie do kolizji. Ale na pewno są inne sposoby - tu pytanie do Magików z forum. Ponadto kłopoty z głębokością - niektóre elementy są "pod" a niektóre "nad" statkiem. Ściany wyświetlają się pod, ale już coś co chyba jest przeszkodą (takie szare prostokąty, zagradzają drogę) wyświetla się nad. Gdy się do nich podleci i stanie w rogu to część statku jest pod a część nad otoczeniem (ponadto raz tu się trwale zablokowałem bez dalszej możliwości ruchu). Tak samo w tej sytuacji wygląda wybuch z min wystrzeliwanych przez statek. Podobnie ze znajdźkami. Ta odpowiadająca za zdrowie, gdy nie mogę jej zebrać (mam pełne zdrowie), wyświetla się nad statkiem, ale pod sercem jednocześnie. W menu w spisie upgradów po najechaniu na wybrany wyświetla się nazwa. W części przypadków wyświetla się pod innymi upgradami. Prędkość statku na skos jest większa niż na boki i góra dół. Nie wiem czy to zamierzone czy nie, ale gdy ma się dużą prędkość to zauważalne. Pod względem designu przechodzenie zwykłych plansz jest trochę za proste. Ginie się w sumie, gdy ma się pecha przy zebranej dopałce (np. strzał 360 stopni). Ale jak pisałem walki z bosami super. Rozumiem, że to jest tak rozwiązane, że na Level składa się losowa seria planszy? I to jest losowane ze zwracaniem? Bo miałem wrażenie, że zdarza się, że plansze się powtarzają w jednym podejściu. Pozdrawiam
  10. Ale chyba nie pomylił:) z dokumentacji (ja zawsze mylę, więc muszę zerkać): GML draw_sprite(sprite, subimg, x, y);
  11. Możesz też wykorzystać draw_sprite_part żeby uzyskać efekt stopniowego zamarzania postaci po trafieniu (oczywiście to samo jest do uzyskania dając kilka klatek animacji, ale z użyciem parta wystarczy, że masz 2 - dla pełnego rozmrożenia i dla pełnego zamrożenia). Ale to chyba w postaci powinieneś dać. Bo nie niszczysz przypadkiem pocisku po trafieniu? Nawet jeżeli nie to współrzędne x i y powinny być z postaci a nie z pocisku. Pozdrawiam
  12. Tam w ostatniej linijce jeszcze chyba powinno być wyśrodkowanie? GML angle=random(360) distance=sqrt(sqr(room_width/2)+sqr(room_height/2))+offset instance_create(room_width/2+lengthdir_x(distance,angle),room_height/2+lengthdir_y(distance,angle),obiekt) Ehh, liczę, że też takiej lekkości z czasem nabiorę.
  13. Mimo, że w takiej formie nie do końca pokrywa się z tym co jest u mnie, to ten zapis jest naprawdę świetny!
  14. Odnośnie tego sposobu, który podałem wcześniej - wydaje mi się, że jest w nim pewna słabość. krawedzx i krawedzy powinny być takie same bo inaczej gęstość umieszczenia obiektów po bokach oraz na górze i dole będzie zaburzona.
  15. BloodDzioch: Całość okazała się bardziej zabawna niż mogłoby się wydawać. Najpierw zrobiłem proste rozwiązanie, w którym obiekt pojawiał się przy jednej krawędzi, ale szybko uświadomiłem sobie, że to nie uwzględnia małych prostokątnych przestrzeni przy rogach. Takie coś wymyśliłem, ale może jest jakiś prostszy dużo sposób (poza oczywiście losowaniem tak długo aż obiekt będzie poza ekranem - uznałem to za zbyt zasobożerne) najpierw stałe: szerokosc - szerokosc okna wysokosc - wysokosc okna krawedzx - jaka jest szerokość "paska" po bokach ekranu, w którym może pojawić się obiekt krawedzy - jaka jest szerokość "paska" na dole i górze ekranu, w którym może pojawić się obiekt obiektszer-szerokosc obiektu //potrzebne aby mieć pewność, że cały obiekt jest poza ekranem. obiektwys-szerokosc obiektu I teraz kod (aby zrozumieć dlaczego trzeba sobie narysować to na kartce - no dobra ja sobie musiałem narysować:). GML pasek=4*krawedzx+2*szerokosc+2*wysokosc-obiektszer //najpierw wybieramy, w którym "polu" pojawi się obiekt. xpoz=random_range(0, pasek); //Teraz ify. Tu trochę na logikę a trochę metodą prób i błędów if xpoz<=2*krawedzx+szerokosc-obiektszer {xost=xpoz-(krawedzx); yost=0-random_range(obiektwys, krawedzy);} if xpoz>2*krawedzx+szerokosc-obiektszer and xpoz<=2*(2*krawedzx+szerokosc-obiektszer) {xost=xpoz-(3*krawedzx+szerokosc)+obiektszer; yost=wysokosc-obiektwys+random_range(obiektwys, (krawedzy));} if xpoz>2*(2*krawedzx+szerokosc-obiektszer) and xpoz<=2*(2*krawedzx+szerokosc-obiektszer)+wysokosc+obiektwys {xost=0-random_range(obiektszer, krawedzx); yost=xpoz-2*(2*krawedzx+szerokosc-obiektszer)-obiektwys;} if xpoz>2*(2*krawedzx+szerokosc-obiektszer)+wysokosc+obiektwys {xost=szerokosc-obiektszer+random_range(obiektszer, krawedzx); yost=xpoz-2*(2*krawedzx+szerokosc-obiektszer)-wysokosc-2*obiektwys} instance_create(xost,yost,object1) Przygotowałem plik testowy. Wyłaczając ify fajnie widać, które obszary są zapełniane: https://www.dropbox.com/s/1kpmc6ntbyhkm2v/t...andom2.gmz?dl=0 I teraz tak, naprawdę nie wiem czy jest dobrze. Wygląda, że tak, ale nie dam sobie uciąć głowy.
  16. Jeżeli się nie mylę chodzi o to, że operację -1 dla amunicji (i wszystkie inne też) robisz na zmiennej ammo (podobnie z mag). Natomiast co step aktualizujesz wszystkie zmienne (ammo itp.) danymi z tablicy weapon[x,y] utworzonymi na początku - a tam zawsze masz 15. wywalenie ze stepu linijek: GML weaponn = 0; ammo = weapon[weaponn,1]; maxammo = weapon[weaponn,2]; mag = weapon[weaponn,3]; maxmag = weapon[weaponn,4]; shottime = weapon[weaponn,5]; reloadtime = weapon[weaponn,6]; mindmg = weapon[weaponn,7]; maxdmg = weapon[weaponn,8]; weaponname = weapon[weaponn,9]; chyba rozwiąże problem. Musisz tylko dać te linijki np. w create albo jakoś wywołać, ale tylko raz na początku (na końcu postu sugeruję też inne rozwiązanie). Oczywiście, gdy dodasz nową broń to przy ich zmienianiu musisz pamiętać żeby zaktualizować to co trzymasz w tablicy. Bo inaczej zmiana broni będzie przywracać pociski i magazynki. Ja bym sobie napisał dwa skrypty: pobierz_bron(tu_numer_broni) i aktualizuj_bron(tu_numer_broni). I przy zmianie np. z 1 na 2 dajesz: GML aktualizuj_bron(1) pobierz_bron(2) Możesz też mieć oczywiście jeden skrypt zmien_bron(stara_bron,nowa_bron), ale może wczytywanie danych określonej broni gdzieś Ci się przyda? Może planujesz np. sklep (ale wtedy tablica weapon raczej powinna być globalna). Ponadto ja bym też cały kod odpowiedzialny za utworzenie statystyk broni (czyli całą tablicę weapon) dał w innym obiekcie na początku gry a nie w create obiektu gracza.
  17. Witajcie Dwa pytanka: 1) Czy ktoś ma może jakieś doświadczenia jeżeli chodzi o różnice w fizyce na pc i androidzie? Bo okazało się, że niestety nie jest tak samo. Jak odpalę room, w którym coś się ma dziać w tym względzie, to teoretycznie powinno to być powtarzalne. I jest, tyle że inaczej zachowuje się na pc a inaczej na androidzie (tu nie ma znaczenia urządzenie - testowane na 3). Wiecie może z czym to jest związane? Może są jakieś ograniczenia na mobilach na physics_world_update_speed albo physics_world_update_iterations (tak jak jest np. z prędkością roomu)? 2) Mam teraz tak że jeżeli puszczę okrągły obiekt pod kątem do płaskiej poziomej powierzchni to po kilku odbiciach ten obiekt odbija się po prostu w pionie zamiast nadal pod kątem. Z jaką właściwością fixture jest to związane? Jakich używacie właściwości fixture dla obiektów i podłoża/ścian, aby odbicia były jak najbardziej naturalne?
  18. Też nie mogłem tego znaleźć, dopiero jak wyszukałem w skryptach room_goto to poszło:) Cieszę się, że problem z głowy. Miłego kodowania.
  19. Masz to w step w obj_lifeform_parent. Może testowo dałeś i nie wywaliłeś?
  20. Po śmierci bohatera przechodzi teraz ładnie do ekranu śmierci, tyle że tu masz ten sam problem z brakiem fizyki.
  21. Popatrzyłem. Fajna gra się zapowiada. Nie wiem ile Twojego kodu a ile z przykładów, ale fajnie kodujesz. Co do problemu. Jest teraz tak: po zabiciu przeciwnika gra przechodzi do menu startowego (nie patrzyłem czemu, ale tak robi). Ten ekran nie ma ustawionej fizyki a ponieważ postać gracza ma ustawione persistent to w tym roomie ten obiekt się pojawia się i wykonuje event Room Start z kodem phy_fixed_rotation = true co wywala grę. Jak wyłączysz persistent albo włączysz fizykę w roomie jest ok.
  22. A obiekt gdzie wywołujesz?
  23. Tak jest jak nie masz włączonej w roomie obsługi fizyki. I druga możliwość: używasz tego kodu dla obiektu bez włączonej fizyki.
  24. Głupie pytanie: korzystasz z Avasta? Albo innego antywira? U mnie ostatnio pod 7 kłopot był z uruchamianiem exeków z gm. Po wyłączeniu osłon szło normalnie. Avast jak rozumiem próbuje uruchomić wcześniej program w piaskownicy i tu coś się krzaczyło.
×
×
  • Dodaj nową pozycję...