Skocz do zawartości

pablo1517

Użytkownicy
  • Postów

    2135
  • Dołączył

  • Ostatnia wizyta

O pablo1517

  • Urodziny 02.12.1988

O mnie

Ostatnie wizyty

6940 wyświetleń profilu

Osiągnięcia pablo1517

Emperor

Emperor (11/13)

0

Reputacja

  1. Ależ paralaksa jest, po prostu do prototypowania leveli nie układamy ozdób.
  2. Brainstorm pomysłów na kolejne levele
  3. Gratki. Podchodziłem do was tam po kilka razy ale Anty'ego chyba nie było na stanowisku wcale?
  4. Konkurs dla programistów powiadasz... Brzmi jak jakiś straszny bieda design, jeśli idzie o level design. To chyba jedna z najgorszych praktyk ;) tak na marginesie. Ja się raczej nie skuszę, ale jestem ciekaw co powstanie.
  5. Nie wiem czy GM ma jakis własny bufor na te pakiety z TCP, ale np. w UE4 odradza sie wysyłanie pakietów po TCP (tam to sie nazywa reliable) tak często jak ty to robisz, bo w ich silniku może dojść do przepełnienia bufora i nawet crasha. Tak czy siak robiłem sporo gierek z sieciówką w GMie swojego czasu i nigdy nie potrzebowałem wysyłać pakietów "co stepa". W ogóle pozycje to raczej polecałbym po UDP, troche mniej niż 60 razy na sekundę i zastosować jakąs interpolacje/przewydiwanie ruchu.
  6. What? Pixel Heaven to taki konwent w Warszawie.
  7. Pytanie czy jak zrobisz ten swój wyciek, w stepie podobno to robisz, weź daj mu sie "nawyciekać" a potem zrób sobie pod klawiszem kod GML global.testowa = 0; i zobacz czy jak wcisniesz klawisz to to zużycie pamięci nagle spadnie
  8. A w jakim evencie masz ten kod? GML if global.minuty total == 60 { global.minuty_total -=60 global.godziny_total +=1 }
  9. A gdyby tak array? Powiedzmy ze masz sobie skrypty ponazywane "Skill1" "Skill2" itd GML skill = 0; // to co miales w ifach Skills[0] = Skill1; Skills[1] = Skill2; Skills[2] = Skill3; i zdaje sie ze jest taka funkcja jak GML script_execute(Skills[skill]);
  10. Internet podpowiada Ci jakąś głupotę. Nie mam GameMakera w tej chwili więc pojadę z pamięci, możliwe, że nie wszystkie funkcje będą dobrze sie nazywały, ale z dokumentacją dojdziesz co miałem na mysli. Dla jasności ustalmy, że twój obiekt "car" nazywa sie objCar, żeby łatwiej sie czytało. GML var distToNearest= 100000; // jakas ogromna wartosc, troche hack, ale na twoje potrzeby wystarczy var nearestInst = noone; // nie pamietam jak jest jakis odpowiednik nulla w GM with(objCar) { if (self.id == other.id) // pomin samego siebie continue; var dist = point_distance(x, y, other.x, other.y); if (dist < distToNearest) { nearestInst = self.id; distToNearest = dist; } } Na koncu tego skryptu pod nearestInst masz id najblizszego obiektu objCar i pod distToNearest masz dystans do tego obiektu. Troche bym się zastanowił czy faktycznie musisz wykonywać ten skrypt co step. Jesli bedziesz miał sporo tych aut to może być overkill bo każde auto będzie pętlowało po wszystkich innych (łącznie ze soba) Z czystej ciekawości, co próbujesz osiągnąć tym wyszukiwaniem najbliższego obiektu? GM raczej wątków się nie doczekał, więc tak, kod wszystkich instancji wykonuje się w jakiejś kolejności, nigdy jednocześnie. W ogóle lol, Threef, sprawdziłem Cię teraz. Byłes z nami na GameJamie w budapeszcie xD. Zajrzałeś też na Pyrkonie do nas, Insection wystawiałem z Artifexem.
  11. Gnysek mnie uprzedził, ale tak, move_contact_solid robi robotę w tym wypadku.
  12. Z tego co widze, rozwiązanie Destera to jest dokładnie kopiuj wklej i masz gotowe. Chociaż nie bardzo rozumiem kodu z main() samego shadera ;d
  13. Pierwsze 2 miesiące "szukając" wizji w 4 osoby, team sie rozleciał ze względu na rozbieżność tych wizji, a potem udało mi się znaleźć grafika i kolejne 4 miesiące już w dwójkę.
  14. Nie wiem czy nowy GM w końcu ma sensowne linecasty, ale jeśli nie to można go sobie zrobić za pomocą collision_line Troche hackerska ale bardzo prosta metoda to osobny obiekt dla "cienia", który zawsze będzie miał współrzędną X taką samą jak twoja postać, natomiast Y co step ustawiany na tą samą co postać i od razu "move_contact_solid". Z tym, że na dużych dystansach robisz sobie sporą pętlę co step. Taki pseudo linecast.
×
×
  • Dodaj nową pozycję...