#chwalesie

20
3923

Zaczyna wchodzić w czarne, na luziku i powtarzalnie, na 25m. W zasadzie warto słuchać trenera.

Na fotkach:

  • 9x19

  • 38SP WAD

  • 357 Magnum

  • 22LR

#strzelectwo #bron #chwalesie

5a5c314f-9f67-4feb-a11b-78b7bb90cb02
48995d84-aa25-4f22-9296-549514405879
48544c24-fda9-4680-ad93-21f46aac54b0
ce68dff7-5e90-4f3d-885a-e7d12c89527f

Zaloguj się aby komentować

Silnik gry działa bardzo dobrze Całość jest bardzo lekka – cały tick gry dla mapy 100 na 100 pól wykonuje się w 0,3 ms na moim 8-letnim laptopie. Silnik gry napisany jest w Javie, z rdzeniem w C++ dostępnym przez JNI. Mam na ten moment napisanych około 200 testów jednostkowych, 200 integracyjnych i około 100 E2E. Zajęło mi to trochę czasu, bo głównie skupiłem się na optymalizacji. Jeden kafelek to dokładnie 4 bity pamięci. Chodzi o to, żeby móc budować ogromne światy do eksploracji z wieloma lokacjami, a całość ma działać na RPI

Na ten moment zużycie zasobów całej aplikacji wygląda tak:

Zużycie zasobów Coconut Game Stack:

Główne komponenty gry:

Game Server 0,63% CPU 401 MB eclipse-temurin:17-jdkJava Spring Boot + JNI Engine


Client0,20% CPU 84 MB node:18-slimReact + Vite dev server


Monitoring (opcjonalny):


Grafana 0,68% CPU 209 MB


PODSUMOWANIE:

Minimalna konfiguracja (tylko gra):

  • CPU: ~0,8% (server + client)

  • RAM: ~485 MB (401 + 84 MB)

Pełna konfiguracja (z monitoringiem):

  • CPU: ~1,5%

  • RAM: ~733 MB (401 + 84 + 209 + 36 + 3 MB)

Wydajność:

  • Game Server: Najbardziej zasobożerny (Java JVM + C++ engine)

  • Client: Lekki (tylko Vite dev server)

  • Monitoring: Średnio zasobożerny, ale opcjonalny

Na ten moment działa:

  • Multiplayer (wielu graczy)

  • Wiele mobów, AI

  • Poruszanie się, systemy kolizji i wiele typów terenu

  • Bardzo prosty interfejs graficzny z chatem (żeby mieć wizualizację)

  • Proste statystyki

Następnym razem udostępnię serwer – napisana jest już cała konfiguracja auto-deploymentu. Wystarczy wrzucić i uruchomić. Zrobię to w najbliższym czasie.

Później zajmę się rozwijaniem mechaniki gry, punktacją, rozwojem postaci :D

#chwalesie #programowanie

6409c396-a1ab-49c4-8b73-0ad294f0d5ce

Zaloguj się aby komentować

Mija mi pierwszy tydzień roboczy w nowej #pracbaza

Pracy szukałem dzień. Wieczorem wysłałem cv do trzech firm (dwa cv odczytano wg OLX), na kolejny dzień z jednej z nich zadzwoniono i zaprosili mnie na rozmowę. Po 15 minutach wzięli mnie na okres próbny.

Dziś mija mi pierwszy tydzień roboczy.

Pracuję na innych maszynach (laserach na światłowodzie a nie na starszym typie jak do tej pory) I całkiem innym oprogramowaniu.

Od poniedziałku zaczynam pracę na drugą zmianę.

Sam! W tydzień ogarniam to tak, że nie boją się mnie zostawić na calym dziale samego. <--- #chwalesie

Zaloguj się aby komentować

Zaloguj się aby komentować

No w końcu jestem kompletny. Wczoraj zaliczyłem egzamin praktyczny na prawko kat. B

Dziś już trochę ochłonąłem, także mogę się pochwalić


Teraz pozostaje kupić jakąś furę i próbować przetrwać na drodze.


#staryczłowiekimoże #chwalesie #prawojazdy

73e49f9b-fe50-4a08-b083-ea40a717fdb4
8a78218c-69e0-49de-b648-9e8de416ca1d

@PaczamTylko gratulacje, pamietaj o podstawowych zasadach bezpieczenstwa:

  • Na 90km/h jedz max 70

  • Na zielonym odczekaj jeszcze z 5 sekund zanim wrzucisz jedynke

  • Parkuj zawsze na kilka razy, im wiecej aut stoi i czeka az skonczysz to znaczy, ze tym wieksza widownia Cie podziwia

  • W przypadku jazdy w zime predkosc obniz jeszcze o dodatkowe 30km/h

I bedzie dobrze ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)

@PaczamTylko


Dziś już trochę ochłonąłem


Ochłonąłem XDD Dobrze, że póki co fury jeszcze nie ma, to nie trzeba było sprawdzać trzeźwości. Gratki!

@PaczamTylko gratuluję ᕦ( ͡° ͜ʖ ͡°)ᕤ tez to przeżywałem tydzien temu tylko na inna kat.

Co ciekawe jak zdawalem B te 15 lat temu to do dzisiaj pamietam tą euforie, a teraz mialem takie tylko "no zdane to bedzie troche spokoju" xD


Jak to u Ciebie wygladalo?

Zaloguj się aby komentować

Zaloguj się aby komentować

Serdecznie dziękuję koledze @razALgul za paczkę-niespodziankę pełną lokalnych, lubuskich specjałów! 😁 Bardzo poprawiła mi ona dzisiaj humor 🙂 Na pewno będzie konsumowane.

#chwalesie #paczka #hejtotofajnemiejsce

cdaa269c-6b57-4de4-b66c-5a0fde64bd38
191182bc-9c90-40a6-89c0-e974fd0afe18
bori userbar

Zaloguj się aby komentować

Zaloguj się aby komentować

Po kilku modyfikacjach, choineczka gotowa. @pingWIN i śnieżynki też zaczepione.

Wybacz @Rozpierpapierduchacz, że nie ma manatów w czapkach ale nikt nie wymodelował. :(

Także tego

A! I @bojowonastawionaowca z hejto leży pod ( ͡ʘ ͜ʖ ͡ʘ)

#chwalesie #choinka #pingwiny #swieta

410b7f85-229d-482a-bd6f-89cf77ce6dd1

Zaloguj się aby komentować

Dalej pracuje nad grą. Zastanawiałem się jak zrobić dużą otwartą mapę dla wielu graczy. I długo nad tym myślałem. Na początku myślałem o Pythonie, ale szybko okazało się, że optymalizacja mapy w Pythonie jest dość skomplikowana. Nawet użycie Numpy nie dawało zadowalających efektów, zwłaszcza przy dużych, otwartych światach.

Następnie przesiadłem się na Javę, bo to świetne narzędzie z wieloma optymalizacjami. Ale tutaj natrafiłem na problem z operacjami bitowymi, które były kluczowe dla mojej gry. Chciałem, aby dane były kodowane binarnie, co w Javie było nieco trudniejsze do zaimplementowania.

Ostatecznie zdecydowałem się na C++. Ten język daje mi pełną kontrolę nad wydajnością i operacjami bitowymi, co jest kluczowe dla mojej gry z otwartym światem.

Teraz mam już prawie gotowy silnik gry, zrobionych około 200 testów jednostkowych, które potwierdzają, że działa.

W przyszłym tygodniu planuję podzielić się tutaj z wami pierwszą betą, bez tekstur – zamiast animowanych postaci będą się poruszać symbole po kolorowych kwadratach. Będzie można tworzyć proste interakcje. W grze znajdą się także skryptowane lokacje z scenariuszami i questami, a zamiast tradycyjnego systemu walki, będą mini-gry, jak kółko-krzyżyk czy warcaby.

Potem skupię się na narzędziu do edycji mapy i dalszym rozwoju lokacji.


#chwalesie #programowanie

Pisanie własnego engine do gry to jest tytaniczny wysiłek i wymyślanie koła na nowo. Zastanów się czy na pewno tego potrzebujesz. Jestem niemal pewien, że kiedyś już pisałem podobny komentarz tutaj, ale jeśli chcesz tylko stworzyć grę to najprawdopodobniej możesz użyć Unity, Godota, Unreala albo jakiegokolwiek innego engine do tworzenia gier, masa jest takich na GitHubie w przeróżnych językach programowania.

Pisanie swojego własnego silnika ma tylko sens gdy:

  • Twojej gry nie dało by się zrobić w żadnym dostępnym silniku bo ma jakąś wyjątkową mechanikę (np. patrz przypadek gry Noita)

  • Nudzi ci się i chcesz to zrobić dla samego faktu kodowania plus np. potem mogło by wlecieć do portfolio.


Nie chce zniechęcać ale pisząc samemu silnik i to jeszcze w C++ więcej czasu poświęcisz na walkę z tym silnikiem niż faktyczne tworzenie gry. A już samo tworzenie gry w pojedynkę to jest duże i czasochłonne wyzwanie.

optymalizacja mapy w Pythonie jest dość skomplikowana.
Ale tutaj natrafiłem na problem z operacjami bitowymi, które były kluczowe dla mojej gry.
Ostatecznie zdecydowałem się na C++.

Tu się dzieją jakieś straszne rzeczy.

Zaloguj się aby komentować

@PanNiepoprawny kiedys znalazlem na allegro ze jakas firma sprzedawała sklejkę opakowaniową w jakiejś absurdalnie niskiej cenie. Zamowilem tego w opor bo kosztowalo w stylu 4zl za arkusz i chyba sie ktos machnął z ceną bo potem byly po 40 xD W kazdym razie spory zapas leży w gotowosci do projektu, bardzo przyjemna sprawa.

Zaloguj się aby komentować

#hejto K⁎⁎wa poddaje się! Macie mnie za żula(bo jestem nim ale nikomu nie szkodzę) Który ma prawo głosu tutaj. Tak wiem każdy mnie już kojarzy z #alkoholizm #alawar. Przed chwilą obadałem jak tutaj skasować konto. Ale dlaczego to piszę.

Niema sensu tutaj cokolwiek wrzucać jak jest wszystko kasowane] #wykop tak nie robi.

Się zdenerwowałem. #hejto w swoje urodziny zapodaje Ci gest że trzeba coś zmienić bo pokasowałeś nam #chwalesie

Brzmisz jak typowy chlejus, wszyscy w kolo winni a ja super. Przykre to. Ciekawe czy sie ogarniesz czy zachlejesz sie do reszty i znikniesz robiac innym w kolo problemy.

Zaloguj się aby komentować

Zgadnijcie kto zrobi imprezę sylwestrowa na nowym domu?

Zaczynając budowę nie potrafiłem nic więcej niż pomalowie ścian. W ciągu dwóch lat nabyłem tyle umiejętności, zaczynając od sufitów, przez układanie płytek, tynkowanie, kończąc na spawaniu, że chyba jak skończę budować to pójdę na swoją działalność 🤣

#buildbyduck #budujzhejto #budownictwo #chwalesie

429d1554-1b78-46c9-81d3-62df698eb385

@Dzika_kaczka_bez_dzioba Nie żebym.... Ale koperta lepiej wygląda. Pokażę Ci to u mnie. Trochę nabrudzone i nie chciało mi się sprzątać. Jutro ogarnę bo mam urodziny. Jestem ciekaw czemu nie pokazałeś drugiej strony Mowa o docince.

f71e98f8-3dc1-4ab6-a402-d94a2502d6af

Zaloguj się aby komentować

#hejto #hejtostats #moderacja #administracja @bojowonastawionaowca #ankieta

Dzisiaj przeglądałem swoje stare wpisy i co się okazało archiwum danego użytkownika jest do 1000 wpisów (reszta tych starszych nie istnieje) czyli do 50 stron.

Zgłaszam to aby było bez limitu. Uważam że historia danego użytkownika powinna widnieć w 100%

To jest jakiś wkład w hejto #administracja #moderacja nie kasujcie tego. Ludzie zapodają #chwalesie tego później nigdzie indziej nie zobaczysz.

Twórzmy historię.

Zapraszam do ankiety.

45fa8ca1-3af8-4931-a8c3-3217f38bfc39

Użytkowniku hejto chcesz mieć swoje archiwum w 100%?

62 Głosów

@Alawar - zgłaszałem to już wielokrotnie, że API zwraca maksymalnie 50 wpisów na maksymalnie 50 podstronach - właściciele portalu nawet napisali, że się tym zajmą.

Wpisy są dalej w bazie danych bo można sobie je posortować od najstarszych - tu masz przykład zapytania do API gdzie zwraca moje najstarsze wpisy: https://api.hejto.pl/posts?limit=50&period=all&users[]=koszotorobur&orderDir=asc

Jak ktoś ma powyżej 5000 wpisów to już ich wszystkich się nie da zobaczyć bo max liczba jaką się da wyciągnąć to (50 * 50 sortowane asc) + (50 * 50 sortowane desc).

@Alawar @koszotorobur @DEAFCON_ONE i wszyscy zainteresowani - nie kasujemy starych wpisów, one dalej są w bazie danych. Powodem takiego działania API jest w wielkim skrócie - wydajność. @ebe pewnie będzie mógł coś więcej powiedzieć o problemach jakie się pojawiły zarówno przy podawaniu faktycznej liczby wpisów jak i przy paginacji natomiast z tego co ja kojarzę to:
API korzysta z offset-based pagination - wymaga liczenia i pomijania coraz większej liczby wierszy. Duże offsety = coraz bardziej kosztowne zapytania do bazy danych. Ponieważ domyślnie pobieranych jest 20 wpisów na stronę, to aby dotrzeć do strony 50, baza danych musi pominąć 980 rekordów (49 stron × 20 wpisów). Im wyższy numer strony, tym więcej rekordów trzeba „przeskoczyć”, co spowalnia zapytania.

Czy to bug? Może to wyglądać jak błąd albo mylić użytkowników, ale nie jest to bug a przynajmniej w takim kontekście, że coś działa niezgodnie z tym, jak jest stworzone. Ograniczenie do 50 stron to celowy zabieg i jego celem jest ochrona bazy danych przed zapytaniami generującymi duże offsety i powodującymi znaczne spadki wydajności.

Zaloguj się aby komentować

#chwalesie #heheszki #hejtokoksy Ten moment, kiedy widzisz progres siłowy, a dodatkowo do ciężaru nasztandze podnosi ci się maszt. Zgadza się, silownia jest trochę pedalska.

@l100e dobra mordo dołożyłeś ciężaru na 60kg i Cię nosi ( ͡~ ͜ʖ ͡°)


Zgadza się, silownia jest trochę pedalska.

Poczekaj aż Cię ktoś poprosi o asekurację przy przysiadach ( ͡° ͜ʖ ͡°)

@l100e ...silownia jest trochę pedalska.


Stado wspólnie pocących się samców, napinających mięśnie i podpatrujących co robią i jak wyglądają inni.


Trochę?

Zaloguj się aby komentować

Zaloguj się aby komentować

Gdyby ktoś był ciekaw, to tak wygląda komplet Dzieł Zebranych Stefana Grabińskiego ( ͡° ͜ʖ ͡°)


#ksiazkiwhoresbane 'a - tag, pod którym chwale się nowymi nabytkami oraz wrzucam newsy o książkach

Chcesz mnie wesprzeć? Mój Onlyfans ( ͡° ͜ʖ ͡°) ⇒ patronite.pl/ksiazkiWhoresbane

#ksiazki #czytajzhejto #chwalesie #horror #wydawnictwoix #stefangrabinski

56e7c071-9861-43d3-98d7-a4970912814f

@Whoresbane czcionka tytułów jak na jakimś odpicowanym i jednoczesnie nieczytelnym zaproszeniu weselnym xD

ale wyglad okladek oprocz tego na duzy plusik!

Jako wielki fan Lovecrafta niemiłosiernie się wynudziłem przy Grabińskim, kilka opowiadań ciekawych cała reszta monotematyczna, grupowanie ich pod względem typu np. "pociągi, ogień" okropnie męczy i nuży.

Zaloguj się aby komentować

Cześć!


W nawiązaniu do mojego poprzedniego wpisu wrzucam w końcu zdjęcie nagrody


Muszę przyznać, że po powrocie z urlopu spotkała mnie bardzo miła niespodzianka — w paczce znalazły się nie jedna, a dwie książki! Oprócz wybranej przeze mnie „Teorii Pozwól im” Mel Robbins dostałem także „Regułę 5 sekund” tej samej autorki. Totalnie się tego nie spodziewałem i tym bardziej cieszę się z wygranej.


Jeszcze raz ogromne dzięki dla @adsozmelku za zorganizowanie zabawy i super niespodziankę!


#ksiazki #kzp #czytajzhejto #rozdajo #chwalesie

16c1141e-caf9-46c1-8878-64d6ce72e243

Zaloguj się aby komentować

Bawię się w gierkę kodowaną przy pomocy Claude'a. Super zabawa! Od kiedy pojawiło się AI, uwielbiam programować. Stałem się totalnym freakiem.

Przeszedłem przez szkołę programowania, ale wtedy traktowałem to jako środek do celu — budowałem urządzenia elektroniczne i po prostu chciałem, żeby działały. Zbudowałem mnóstwo różnych rzeczy. Zawsze to lubiłem: siedziałem w domu i montowałem różne układy, nawet mikro-frezerkę CNC na silnikach krokowych z drukarki!

Ale do rzeczy. Dziś programowanie stało się moim nałogiem. Nie mogę się od tego oderwać. Łączę duże logiczne bloczki, patrzę, jak dane przepływają między nimi, i jestem zachwycony.

Używam Claude'a w ten sposób, że każę mu pisać moduły. Rozbijam program na najmniejsze, odpowiedzialne jednostki — tak zwane klasy. To, co dzieje się w metodach, zaglądam już rzadziej. Myślę na poziomie klas: one robią to, co chcę. Opisuję relacje między nimi, używając do tego PlantUML, a gdy potrzeba opisu słownego — LaTeXa. Można tak pracować, bo LLM generuje wykresy z języków znaczników.

Nawet nie czytam klas — czytam, co klasy robią. Robię diagramy, opisuję zachowanie, pilnuję dobrej struktury i piszę testy integracyjne. Dzięki temu agent działający na kodzie wie, czy dobrze go modyfikuje. Pyta o ocenę testu, a test integracyjny trzyma program w ryzach. To kluczowe.

Kazałem Claude'owi przepisać silnik gry z Pythona na Javę, bo Java lepiej optymalizuje sytuacje typu CRUD, a to sztandarowy przykład. Może mało osób o tym wie, ale Java bywa szybsza niż C++ dzięki interpreterowi JIT i profilowaniu w czasie wykonania. Java 21 już dziś potrafi tak działać, że interpreter analizuje działanie programu i w trakcie pracy modyfikuje swój własny kod maszynowy. C++ zostaje w tyle, bo on tego nie zrobi. Java zbiera statystyki, może automatycznie cache'ować powtarzające się zapytania, a metody, które są intensywnie używane, kompiluje do postaci natywnej z optymalizacją pod procesor.

I kto jest kozak? Java jest kozak.

A tutaj chciałem tylko zaznaczyć, że w JavaScripcie to można co najwyżej koledze obciągnąć pęto. C zawsze w moim sercu — i pozdrawiam z tego miejsca dziadka asemblera. Jeszcze w BASCOM-ie dla AVR programowałem — taka egzotyka, moi państwo!


#chwalesie #rozkminy

@DexterFromLab oj tak, Java to jest dobra rzecz- przerabiałem C, C++, potem ten wynalazek k⁎⁎wy i szatana aka C#, skryptówek nie liczę, teraz z racji tego gdzie pracuję i co robię klepię w Javie i jest nieporównywalnie łatwiej i szybciej rzeczy robić i każdy, kto to neguje ma zapewne pojęcie o Javie kończące się na "3 BILLIONS DEVICES WORLDWIDE".

Kazałem Claude'owi przepisać silnik gry z Pythona na Javę, bo Java lepiej optymalizuje sytuacje typu CRUD, a to sztandarowy przykład

Halina, mam zawał.

Zaloguj się aby komentować

Trochę #chwalesie i chwalę moją ukochaną.

Ale po kolei.

Moja ukochana to osoba która panicznie boi się pająków - wszystkich i bez wyjątków. Do momentu kiedy mnie poznała zabijała każdego który pojawił się w jej mieszkaniu. Trzeba to zrozumieć choć tak być nie powinno.

Moje tłumaczenie i heroiczne ratowanie stawonogów za pomocą szklanek i kartek papieru (zestaw do łapania i wypuszczania wolno za okno) spowodował taki oto obrazek.

Widoczny w kubku pająk (to jest chyba kątnik - @splash545 proszę o korektę) to nowy mieszkaniec mojego warsztatu. Zostanie ze mną do wiosny, kiedy to wypuszczę go na zewnątrz. Otóż ten pajączek zadekował się w pudełku z flamastrami znajdującym się w gabinecie Różowej. O dziwo Różowa nie spanikowała tylko przełożyła go do kubka (jest chyba w letargu) i zaniosła do mojej kanciapy. Pękam z dumy a stawonóg uszedł z życiem

8 lat edukacji nie poszło na marne. Fajnie ( ͡o ͜ʖ ͡o)

#pajaki #zwiazki

2eccb7d1-b783-4c50-9826-57ea7957f0c0
Yes_Man userbar

@Yes_Man , nie słuchaj @splash545 i @dolitd , pajączek tylko śpi, daj mu kołderkę z chusteczki do nosa i połóż gdzieś w kąciku

@Yes_Man Naziolka boi się pająków i koni. Nie wiem czemu. Próbowałem ją oduczyć, jak się jeszcze kolegowaliśmy, ale nie mam pojęcia czy dalej tak jest, bo więcej mam kontaktu z jej chłopem niż nią.

@Yes_Man mi wylazł jeden jak sprzątałem w mieszkaniu. Chyba nawet podobny, ale moja to panikara i wciągam delikwenta w odkurzacz a później do kosza

Zaloguj się aby komentować