Skocz do zawartości

Ranking


Popularna zawartość

Wyświetla najczęściej polubioną zawartość od 01/22/19 uwzględniając wszystkie działy

  1. 4 punkty
    Obracanie się znaczników przy kontakcie ze ścianą i jednocześnie dostosowanie się do nachylenia podłoża ostatecznie mi dzisiaj zadziałało uff... markerWalk[unit].transform.rotation=Quaternion.Euler(new Vector3(90, 0, 0))*(Quaternion.LookRotation(correctHit.normal,Vector3.up)*(Quaternion.LookRotation(rotationVector,Vector3.up)*Quaternion.Euler(new Vector3(-90, 90, 0))));
  2. 3 punkty
  3. 3 punkty
    Nie mogłem się zdecydować które wstawić :|
  4. 3 punkty
    Nie poprzestawaj na tym, dojedź go jeszcze mocniej typeczka
  5. 3 punkty
    ale mnie zdenerwowałeś teraz ziomek
  6. 3 punkty
    Po czterech różnych podejściach do tematu udało mi się (prawie) zrobić przyklejanie znaczników formacji do ścian. W tym tempie rozkminienie bardziej zaawansowanych rzeczy zajmie mi pewnie parę lat.
  7. 3 punkty
    Pewnie niewiele osób wie o projekcie "Dyzmaken 1.0" wprowadzonym do życia przez administrację GMClanu wiele lat temu. Była to ostateczność, do której uciekli się z powodu drastycznie spadającego poziomu aktywności na forum. Łudzili się wtedy, że nigdy więcej nie powołają się na tę kartę by ratować społeczność wirtyny gmclan.org. Tymczasem wersja 3.0 została uruchomiona...
  8. 3 punkty
    Witam premiera Seid-a zaplanowana na ten rok , może to i lepiej w końcu mija 10 lat od wydania przeze mnie pierwszej gry jeszcze jako Dyzmaken nie dyzmek . Co do gry to staram się o odpowiednie dopasowanie grafiki jak najlepiej dobrane , szczegoly , efekty audio-wizualne
  9. 2 punkty
    Przerabiamy wszystkie jednostki na nowo, pierwszy pod dłuto poszedł Trapper z rasy Valrenay Porównanie ze starym
  10. 2 punkty
  11. 2 punkty
    No siema. Moja gra jest na konsoli Nintendo i czuję dobrze.
  12. 2 punkty
  13. 2 punkty
  14. 2 punkty
  15. 2 punkty
    tak, tylko popraw kanał alfa w spritach
  16. 2 punkty
    Jeżeli robisz małą, prostą albo przede wszystkim pierwszą grę to śmiało, twórz roomy, nie przejmuj się wydajnością za wcześnie bo najważniejsze jest to, żeby coś skończyć, nauczyć się. Ja na przykład jeszcze nic nie skończyłem, a zdecydowanie za długo siędzę w GMie xD. Pamiętaj, że sam fakt, że coś jest w pamięci nie wpływa na wydajność. Za wydajność odpowiada to, ile z tych danych musi być przetwarzane w ciągu jednego stepa. Czyli posiadanie wszystkich roomów w pamięci nie jest złe, bo GM za Ciebie odpala jeden i tylko jeden room i tylko w ramach tego jednego odbywa się cała zabawa. Oczywiście zapomnij o checkboxie persistence, bo są przykazania i należy ich przestrzegać: https://www.youtube.com/watch?v=G1WxKEk6Wrw Ale jeżeli robisz coś już dłużej, projekt jest większy, room so big, much data, to oczywiście, że powinny być wczytywane z pliku. Ale nie tylko ze względu na RAM, są większe problemy, które trzeba rozwiązać, oto niektóre z nich: - Wykluczenie GMowego edytora. Fajnie, że ten w GMS:2 jest używalny, ale Tiled dalej jest lepszy, popularniejszy, większe wsparcie, jest na githubie, więc można forkować). Przykład z życia wzięty: w definicji pędzla jedna krawędź może mieć tylko jeden kafelek. Nie można przypisać kilku kafelek do jednej krawędzi (wtedy w trakcie rysowania pędzlem jest losowany któryś z nich - zabieg mający na celu urozmaicenie kafelkowej mapy). Natomiast sytuacja w Tiled wygląda następująco: można, jak najbardziej, jeszcze jak, jest możliwe. Oczywiście możesz liczyć na to, że edytor GMS:2 ciągle będzie rozwijany i będą dodawane nowe funkcje, ale to nie zmienia faktu, że w tym samym miejscu, gdzie masz kod będziesz mieć edytor map. A może się zdarzyć tak, że będziesz chciał, żeby mapy budował Ci ktoś, kto w ogóle nie ma nic wspólnego z programowaniem - lepiej żeby miał darmowe Tiled, czy kupował licencje na GameMakera? Albo będziesz chciał napisać customowy edytor w dowolnej technologii (może być nawet GM), wtedy na pewno potrzebujesz serializacji i deserializacji mapy. - Dojdziesz do momentu, gdzie trzeba będzie zrobić zapis i wczytywanie stanu mapy/gry. Wtedy najwygodniej mieć już zdefiniowaną np Entity World, które pozwala się serializować i deserializować do JSONa, przechowuje dane o warstwach, kafelkach, listę instancji i ich parametry. Wtedy taki save i load możemy ładnie zaprogramować przy użyciu odpowiednich wzorców obiektowego progamowania i nie powstaje nam spaghetti. Problem jest tylko jeden i jego rozwiązanie nazywa się TJSON i kosztuje 3.99 USD. Korzystanie z json_encode i json_decode nie jest dobrym pomysłem w przypadku, gdy mamy zagnieżdżone struktury. Jest to problem, ponieważ w aktualnej wersji występuje bug związany ze zwalnianiem pamięci: mianowicie pomimo ręcznego zwalniania tych zagnieżdżonych struktur pamięć nie jest zwalniana, przez co mamy grożny memory leak. Dlatego należy nie wymyślać koła na nowo tylko skorzystać z TJSON dostępnego w marketplace. Zastosowali tam taki myk, że wszystko jest na tablicach, a tablice są automatycznie sprzątane przez GMa, przyjeżdża garbage collector i sprząta. - Nowy GM jest wydajny ale sam z siebie nie pozwala na duże otwarte światy - mam przez to na myśli, że nie posiada zaimplementowanych gotowych mechanizmów do korzystania z otwartych światów. Trzeba sobie na własną rękę zrobić system chunków, object pooling itd. Nie chcę siać dezinformacji, ale długo był niezły przypał z instance id: mianowicie nie można było zaalokować więcej niż 100000 instancji, bo potem następował overflow i nowo tworzona instancja miała wtedy id takie samo, jak taka, która już powstała. Dlaczego mówię że przypał? Tak jak Pan Gnysek powiedział: RAM nie stanowi problemu. Możemy na rozpoczęciu gry alokować sobie pamięć na wszystkie obiekty, świat podzielić na chunki (ds_grid), do każdego grida przypisać listę (ds_list) instancji, w których się znajdują i w zależności gdzie jest kamera to aktywować obiekty z danej listy, i dezaktywować stare. Ale nie chcę siać dezinformacji, bo po pierwsze dokumentacja nie mówi o tym jak działa instance ID, dlaczego od 100001 zaczyna, czy to Long, Integer, jak wygląda sytuacja z GC: czy po zniszczeniu instancji dane id wraca do puli, czy po prostu ta wartość jest inkrementowana aż nastąpi overflow. Z jednej strony mamy ten wątek i ten post, a z drugiej strony robiłem ostatnio taki test i udało mi się bez nadpisywania i większych problemów, stworzyć instancje o id 200000 i wyższym. Poza tym trzeba wziąć pod uwagę, że najprawdopodobniej (tutaj powołuję się na dane pochodzące z Instytutu danych z d**y) YoYoGames najwięcej zysku czerpie z sektora edukacji, więc nie będą się skupiać na tym, żeby z GMa zrobić Godota, tylko żeby móc sprzedawać w szkołach/na uczelniach ich produkt bo "mamy tutoriale", "spełniamy standardy", itd. Co do ilości RAMu i tego co pisał Gnysek: W poprzednim linku odnośnie limitów instance id jest poruszona kwestia RAMu i również samą kwestię tego ile GM może zająć na Windowsie najlepiej wytłumaczyć poprzez odniesie się do tego linku. Nie mam teraz GMa pod ręką, ale z tego co wiem, to na Windowsie wynikiem kompilacji i uruchomienia gry jest 32 bitowy proces, więc mamy albo max 2 GB albo max 4 GB. Mi osobiście udało się dobić do 4 GB i wtedy następował crash. Pewnie YoYoCompiler może skompilować exe do 64 bitów, ale nie jest istotne to czy mamy do czynienia z limitem 2 GB, czy 4 GB - ważne jest to, że limity te zależą przede wszystkim od platformy, a np. idąc na platformy o urządzeniach z mniejszą wydajnością (np. Android) to nie możemy liczyć na to, że te limity będą większe. Dlatego dobrym założenie jest takie, żeby nie przekraczać 1 GB i dbać o nie powstawanie wycieków pamięci przy korzystaniu z list, map, siatek, kolejek, stosów i co tam jeszcze GM ma wbudowane. Tak jak Pan Gnysek wspomina, nawet 400 MB nie będzie problemem. Chyba trochę się offtop zrobił, więc wrzucam taktycznie Otisa na podsumowanie wypowiedzi: https://www.youtube.com/watch?v=R__buemC5Nc
  17. 1 punkt
    Najs! Bardzo dobrze namalowane. Pozdro!
  18. 1 punkt
    Jak chcesz naprawdę na skróty, to ustawiaj obiekty solid i rozciągaj je na całą wysokość danej ściany. W przypadku powyższego screena, można na 5 obiektach zrobić całe kolizje w grze zmieniając x-scale / y-scale . Jak etapy nie są ogromne, albo dodasz deaktywację poza ekranem, to naprawdę wdajnościowo nie będzie problemem, a cały powyższy problem poleci do kosza.
  19. 1 punkt
    Cześć, możesz stworzyć np. zmienną globalną tj.: global.score_multiplier = 0.0; Potem np. przy zderzeniu z bonusem w Collision Event dodawać do tego mnożnika jakąś wartość i uruchamiać alarm u gracza bo bonus po usunięciu poprzez instance_destroy nie wywoła Ci alarmu, np: global.score_multiplier += 0.20; other.alarm[0] = room_speed * 60; W alarmie gracza odejmuj bądź resetuj mnożnik. Zależy też, czy chcesz obsługiwać kilka mnożników na raz, to wtedy zamiast alarmów możesz wykorzystać Step Event i ds_list/ds_grid jako timery bonusów. global.score_multiplier -= 0.20; Do dodawania punktów możesz stworzyć skrypt, który ułatwi Ci obsługę mnożnika w różnych miejscach projektu: /// scr_add_score(score) score += argument0 * (1.0 + max(0, global.score_multiplier));
  20. 1 punkt
    Nie zdążyłem na ligę ale robię temat o tej gierce, póki co pozbawionej gameplayu. Chcę wam udostępnić source do GMS2, możliwe że będę rozwijał dalej. EXE: https://drive.google.com/file/d/1froxXXFHze4dn3GfR_LpS5qzv66LCTX3/view?usp=sharing SOURCE: https://drive.google.com/file/d/1zJRhQF9d6PM1bGDvvTveU8uGgoLrD93u/view?usp=sharing
  21. 1 punkt
    Przyjemnie to wygląda jak jakaś nieco starsza konsolowa platformówka, jedynie co to ten brązowy coś Mi nie pasuje, pewnie przez to, że nie ma żadnej postaci na niej.
  22. 1 punkt
    1. To zależy co napiszesz w licencji tak naprawdę. 2. To nie jest prawda. Zgodnie z polskim prawem, jeśli masz zarobek w sposób ciągły, a nie masz umowy o pracę/zlecenie, to jest działalność gospodaracza i MUSISZ założyć firmę. Jeśli jednak zarobek jest jednorazowy, wystarczy opodatkować te pieniądze podatkiem 18%. Nie ma czegoś takiego, że "google daje", bo Google jest firmą z Irlandii, więc daje na tamtejszych zasadach, ale jak pieniądze dotrą do polski to zasady zaczynają być polskie. Tutaj też częsta pułapka - kwota wolna od podatku, czyli 3091zł. To nie jest tak, ze jak pracujesz a dodatkowo sprzedasz program, to do 3091 nie płacisz podatku. Podatek dochodowy jest od WSZYSTKICH pieniędzy razem wziętych zarobionych w danym roku. Tak więc ja np. w tym roku z pierwszej faktury sobie 3019zł odjąłem i nie płaciłem podatku, ale od reszty już 18% poszło (do tego VAT, ZUS). Niektórzy uznają, że jak kasa od google jest raz na miesiąc, to nie prowadzisz ciągle działalności w PL i to już zalezy od interpretacji lokalnego US tak naprawdę, w niektórych faktycznie na 18% byś ujechał. Zwłaszcza, że teoretycznie nawet polski vat zapłacono. Jest jedno rozwiązanie na granicy legalności - jeśli pieniądze są zarobione w walucie obcej i do sprzedaży doszło zagranicą kraju, no to jak dostaniesz przelew można to uznać za zarobek zagraniczny (jakbyś był zatrudniony tam). Wtedy na polskim PIT wpisujesz to jako przychód z zagranicy 0%. ALE jak zrobią dokładną kontrolę i poproszą o umowę zagraniczną, wszystko się posypie i zapłacisz 75%. Na kontrole mają bodaj 5 lat
  23. 1 punkt
    Dzięki za odpowiedź, pytałem, bo takie przykłady są zawsze bardzo inspirujące i motywujące, że przez tyle lat można osiągać sukcesy korzystając z GMa. I choć teraz rzeczywiście jest już coraz więcej komercyjnych projektów tworzonych w GMs, to pamiętam jak 12 lat temu zaprezentowałeś Magi... To była zupełnie inna liga, kosmos w porównaniu do innych Gm'owych projektów, nie tylko w Polsce, ale globalnie...wcześniej mało kto w ogóle wierzył, że można na grach tworzonych w GMie zarobić ( to chyba był jeszcze GM 5.3 ), nie mówiąc już o utrzymaniu się... Jeszcze raz gratuluję, tym bardziej, że jeśli dobrze kojarzę z Twojego bloga, zostawiłeś stabilną posadę testera czy bodajże programisty, na rzecz własnego studia Indie... odwaga jak widać popłaca, niech młodzi patrzą i się uczą !
  24. 1 punkt
    można, ale pytanie, czy faktycznie tego chcesz może lepiej narysować na surface i wyświetlać tylko jego część ? wtedy łatwiej by było go scrollować
  25. 1 punkt
    Ok, przerobiłem swój kod żeby łamał słowa jak i linie, traktując ciąg spacji również jak słowo: /// scr_wrap_string(string,w) var text = argument0, len = argument1; var strlen = string_length(text); var i = 1, c = '', w = '', word = '', line = '', result = ''; while (i <= strlen) { c = string_char_at(text, i++); w = string_char_at(word, 1); // lamanie tekstu if (c == '#') { result += line + word + '#'; line = ''; word = ''; w = ''; continue; } // przelamujemy linie if (line != '' && string_width(line + word) > len) { result += line + '#'; line = ''; } // przelamujemy slowo if (string_width(word + c) > len) { line += word + '#'; word = ''; w = ''; } // budujemy slowo // ciag spacji traktujemy jako slowo if ((c == ' ' && (w == '' || w == ' ')) || (c != ' ' && w != ' ')) { word += c; } else { line += word; word = c; // linii nie zaczynamy spacja if (string_char_at(line, 1) == ' ') { line = ''; } } } result += line; result += word; return result; Jako, że teraz skrypt ten łamie tekst również w linii, nie potrzebujemy używać draw_text_ext a wystarczy draw_text: var text = scr_wrap_string("Lorem ipsum dolor sit amet, andverylongwordthatmustbesplitted", 100); draw_set_color(c_black); draw_rectangle(10, 10, 110, 210, false); draw_set_color(c_white); draw_text(10, 10, text);
  26. 1 punkt
    A mój skrypt nie działał dobrze ? Nie ten z gml scripts, ten drugi (włącz sortowanie w temacie po dacie, a nie po ocenie). W skrypcie Kondrada-GM problemem jest fragment: if (c == ' ') { result += word; word = ''; } który jak widzi spację, uznaje, że słowo się zmieściło i dodaje na result, przestając zliczać - tymczasem result powinno się resetować wraz z dodaniem znaku # (a najlepiej jeśli znak C to spacja albo pierwszy znak w linii go nie dodawać). Czyli jakoś tak: var stack = '', result = '', text = 'Lorem ipsum dolor sit amet', len = 40; // 40px; for(i=1; i<=string_length(text); i++) var c = string_char_at(text, i); if (string_width(stack + c) > len { result += stack + '#'; stack = (c == ' ') ? '' : c; // W GMS1: if (c == ' ') stack = '' else stack = 'c'; } else { stack += c; } } result += stack; return stack;
  27. 1 punkt
    Cześć, możesz podzielić słowa które są dłuższe niż dana szerokość i rysować tekst za pomocą draw_text_ext. Skrypt do łamania słów: /// scr_wrap_words(string,w) var text = argument0, len = argument1; var strlen = string_length(text); var i = 1, c = '', word = '', result = ''; while (i < strlen + 1) { c = string_char_at(text, i++); if (string_width(word + c) > len) { word += '#'; } word += c; if (c == ' ') { result += word; word = ''; } } return result + word; W połączeniu z draw_draw_text: var text = scr_wrap_words("Lorem ipsum dolor sit amet, andverylongwordthatmustbesplitted.", 100); draw_set_color(c_black); draw_rectangle(10, 10, 110, 210, false); draw_set_color(c_white); draw_text_ext(10, 10, text, 15, 100); Rezultat powinien być wystarczający:
  28. 1 punkt
    Powolutku do przodu Devlog o tooltipach: https://steamcommunity.com/gid/103582791463661207/announcements/detail/1735477647576240224 Devlog o miastach i budynkach: https://steamcommunity.com/gid/103582791463661207/announcements/detail/1734352028582364684
  29. 1 punkt
    Właśnie jak zadałeś pytanie, tak samo się zastanowiłem - po cholerę to jest ? na pewno to nie pozostałość starych GMów, tego chyba wcześniej nie było - http://gamemaker.info/en/manual - musiało więc dojść w GMS.
  30. 1 punkt
    Witam was serdecznie Napotkałem bardzo dziwny problem na komputerze w domu rodzinnym, dźwięk na pewnym kanale YT nie działa poprawnie, jest cicho i mocno trzeszczy. Problem byłby dość łatwy do rozwiązania gdyby nie to że po pierwsze wszelkie inne filmy czy muzyka działają a po drugie sam kanał na YouTube śmiga na pozostałych sprzętach jak telefony czy drugi laptop. Na Operze, Firefoxie i Internet Explorerze jest tak samo. Macie pomysł co może być przyczyną?
  31. 1 punkt
    Powinno, poprawiłem Skopiowałem z linijki wyżej bo na szybko pisałem.
  32. 1 punkt
    string(obj_player.alarm[0]) Zmienne alarmowe i tak zawsze istnieją. Gdyby jednak zmienna nie istniała, odpowiedzią byłoby var _a; with(obj_player){_a = alarm_get(0);} draw_text(10,110,"alarm shooting "+string(alarm_get(0))); Zmienne tymczasowe "var" są globalne względem with, co warto pamiętać - pozostałe zmienne zmieniają oczywiście kontekst.
  33. 1 punkt
  34. 1 punkt
  35. 1 punkt
    to jest chyba jedna z lepiej funkcjonujących stron w internecie. Nigdy nie miałem z nią problemów.
  36. 1 punkt
    @PatrykPlayingPOLSKA Bo ten switch nie jest w żadnej funkcji? On się wykonuje tylko w momencie wczytania strony, a nie non-stop. To nie game maker, że masz ciągle step event Jeśli chcesz go ponownie wywołać, wsadź go w którąś z funkcji. https://jsfiddle.net/gnysek/z4w9ncpy/4/ - tu masz działające rozwiązanie
  37. 1 punkt
  38. 1 punkt
    Witam , od dłuższego czasu pracuję nad najnowszą odsłoną przygód tytułowego Seida . Korzystając z ciągle modyfikowanego projektu oraz skryptu gry ,,Seid-Znaleźisko'' staram się o jak najbardziej szczegółowe dopracowanie tej że właśnie części . Jeżeli chodzi o fabułę to jest ona następująca : Seid podczas eksploracji jednego z zamków w którym rzekomo znajduję się poszukiwany przez niego artefakt napotyka się na tajemniczy portal , po jego drugiej stronie odnajduję tajemniczą podziemną bazę produkującą wszelakie zło mieszanki mutantów i robotów oraz złowrogich ludzi działających pod pseudonimem ,,Żniwiarz'' , kim są tajemnicze istoty w kapturach ? ludzie działający na ich zlecenie ? oraz kto zlecił stworzenie tego czegos ? póki co przedstawiam jeden screen oczywiście gra jest w fazie początkowej , premierę planuję na rok 2018 ale kiedy dokładnie to się okażę screen 2 screen 3
  39. 1 punkt
    Nie wiem czy występował we wcześniejszych wersjach, odkryłem to niedawno xD Ale też nie wiadomo, czy ja jakiegoś błędu tam nie popełniam, dlatego wrzucam ten przykład na forum. Ogólnie to można powiedzieć, że GameMaker jest już na tyle legacy, że jest/musi być stabilny i nie ma się czym przejmować . No i przypadek dotyczy korzystania z json_decode, a nie z korzystania ze struktur danych samych w sobie. Tak jak pisałem wcześniej, rozwiązanie jest takie, że albo sobie implementujemy własny parser JSONa, albo korzystamy z TJSON z marketplace. Tak jak Gnysek pisał - lepiej jest robić grę i nie dokładać sobie nadmiarowej pracy. Wiadomo, warto też częściowo trzymać się mnemoniki SOLID i ogólnych zasad Clean Code - wtedy, w dużym uproszczeniu, jak natrafisz na jakiś mega duży problem to rozwiążesz go poprzez dodanie kodu, a nie modyfikowanie starego. Nie ma też co się przejmować wyciekami pamięci i tego typu sprawami, jeżeli np. jeszcze nie mamy opracowanego minimal viable product, tak przynajmniej uważam :).
  40. 1 punkt
    Dobrze zarządzane struktury nie powodują memory leaków, a wczytywanie roomów spoza gry to sztuka dla sztuki i stracony czas. Naprawdę, to jest minimalny narzut, a zyskasz kilka tygodni roboty i łatwość zarządzania.
  41. 1 punkt
    Pierwsze co przychodzi na myśl, to lengthdir'y. Proste i użyteczne. Do x celownika dopisujesz x gracza + lengthdir_x(odległość, kierunek); Do y celownika dopisujesz y gracza + lengthdir_y(odległość, kierunek); Tu masz przykład jak to zrobić w DRAW w obiekcie gracza, który po prostu rysuje sprite celownika. Tym samym sposobem możesz tworzyć obiekty pocisków wystrzeliwane przez gracza draw_sprite(sCross, 0,x + lengthdir_x(150, image_angle),y + lengthdir_y(150, image_angle));
  42. 1 punkt
    czarne tło pod mapką i po sprawie, reszta elementów GUI też by mogła mieć tło
  43. 1 punkt
    Z tego co kojarzę, jak wracasz do roomu, to ID są te same co w room editorze, bo id instancji można używać jako stałych (constants). Także wracaja do puli. Nie wiem tylko jak z persistent objects.
  44. 1 punkt
    https://medialoot.com/blog/how-to-make-a-seamless-texture-in-photoshop-redux/ oraz googlanie "make seamless texture"
  45. 1 punkt
  46. 1 punkt
    Po chyba trzy miesięcznej przerwie wróciłem do mojego projektu 1bit_arena, który miał powstać w weekend Dzisiaj zrobiłem minimape, która nawet fajnie działa, tylko zlewa się ze ścianami :/
  47. 1 punkt
    W erze, gdy masz 8GB ramu, a Twoja gra ma plik win.dat dołączony do EXE rozmiaru 1-2MB, nie powinieneś się tym martwić. Nawet 400Mb gra nie będzie problemem, bo zasoby to 90%, a reszta kod i levele. Niewiele by to zmieniło.
  48. 1 punkt
    Same lajki(więcej reakcji, raczej nie) miałyby moim zdaniem sens, gdyby miały jakiś realny wpływ na wyświetlanie newsów. Te częściej lubiane powinny być łatwiej dostępne, ale pojawia się pytanie jak to zrobić skoro wyświetlane są obecnie chronologicznie. Trzeba by, albo zrobić jakiś system indeksujący newsy na podstawie zarówno lajków i chronologii(jakiś prosty algorytm przyznawania punktów za lajki i za datę publikacji) i zrezygnować z chronologii, albo dodać jakiś osobny blok dla postów porządkowanych po lajkach. Tylko pytanie, czy ktokolwiek ma pomysł jak sensownie to wprowadzić?
  49. 1 punkt
    stawiam, że albo jakieś multikonto z okazji bana, albo zabawy Woja to ode mnie: Gra roku - Wojzax - Ships Unite Artykuł / Tutorial / Silnik roku - Gnysek - Maskowana tekstura Nirvan - Hybrid Procedural Animation Rigs Nirvan - Procedural look at animation Screen / Film / GIF roku - Nikas - 18+ Namiętny pocałunek [direct] Czołg Krymski - Hestia [direct] Nikas - 18+ Kobiece pepperoni [direct] Wojzax - Kołogłowie [direct] Penguin - Pożar [direct] Wojzax - Zew przestworzy [direct] Czołg Krymski - Parkowanie prostopadłe (#3) [direct] Cytat roku - Wojo - [url] Gnysek - [url] I am Lord - [url] Exp Wojo to godzinne przeglądanie wszystkich postów z minionego roku to mój ulubiony czas na gmclanie
  50. 1 punkt
    za każdym razem bawi tak samo
×