Zdjęcie w tle
DexterFromLab

DexterFromLab

Gruba ryba
  • 337wpisy
  • 4963komentarzy

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Pirazy

@DexterFromLab o slodki kurwiszonie ( ͡ʘ ͜ʖ ͡ʘ)

Zaloguj się aby komentować

Opornik

@DexterFromLab K⁎⁎wa kto robił te oryginalne komiksy są po⁎⁎⁎⁎ne.

Trupus

@DexterFromLab a będzie mój ulubiony? ( ͡° ͜ʖ ͡°)

e0a78d65-d2c8-4f9e-b25d-3198de16e5ad
ZohanTSW

Ciekawe kiedy grupy ekologów zaczną akcje mające uświadomić ludziom, że wykorzystywanie AI do takich pierdół to marnotrawstwo energii XD

Zaloguj się aby komentować

Naszym wspólnym wrogiem jest obojętność. Naszym wspólnym celem jest bycie uważnym. Bronią będzie świadectwo, które damy swoim życiem, a moją bronią przeciwko tej nieprawości będzie to, co wam opowiem.

Słyszycie o ludzkim cierpieniu, ale dla wielu to tylko liczba. Za każdą ludzką śmiercią stoi czyjś przerwany los i ból jego bliskich. Wy widzicie liczbę, ale to złudzenie. Prawdziwe jest cierpienie, które stoi za statystyką. Bo tak jest łatwo — nie myśleć i nie widzieć. Usiądź na chwilę i pomyśl. Uważność będzie twoją bronią przeciwko nieprawości. Współczucie będzie drogowskazem — pójdźmy tą drogą. Człowiek zginął, bo inny go nie widział. Ludzka krzywda jest niewidzialna. Chłop w Chinach zmarł na raka, bo fabryka wylała odpady do rzeki. Bo ci, którzy mogli, zrobili to. On był niewidzialny. Nikt nie widział cierpienia jego i jego rodziny. Innym razem zginął żołnierz w walce. Rodzina pogrążona w żałobie. Bo ktoś, kto podjął decyzję o rozpętaniu wojny, nie widzi cierpienia — on widzi liczby. Mój ojciec umarł na raka, bo ktoś podjął decyzję, że nie zamontuje osłon na radzieckiej stacji radiowej. Bo tak było taniej i szybciej, i nie widział cierpienia mojego i mojej rodziny.

Ale to jest moja broń przeciwko temu. Nazwijmy to po imieniu — wrogiem nie jest drugi człowiek. Wrogiem jest obojętność. Uważność to nasza siła, aby widzieć cierpienie takim, jakie ono jest. A moim działaniem, aby walczyć z obojętnością, było napisanie dla ciebie tej wiadomości. Dziękuję, że przeczytałeś. Bądź zdrowy i uważny.


#rozkminy #feels #wojna

Roszak

Przeczytałem. Dziękuję.

Zaloguj się aby komentować

Wojna to takie głupie zjawisko. Siedzą jacyś losowi ludzie po jednej i po drugiej stronie. I jacyś decydenci każą im się zabijać. A ci ludzie, co tam siedzą w tych okopach, mają swoje życia, rodziny i wcale nie mają ochoty walczyć. Ale ci z góry ich tam pchają i mielą w maszynce do mięsa.

To ja mam pomysł. Weźmy tych wszystkich decydentów, co mówią, że trzeba walczyć, i siłą wcielają ludzi do armii, i każmy im się bić. Proponuję ustawkę, MMA: Putin kontra Nawrocki. Jak są tacy odważni, żeby decydować, kto ma umrzeć na froncie, to niech się tłuką na pięści.

To oczywiście tylko taki ponury żart. Chcę tylko pokazać, jakim bezsensownym zjawiskiem jest wojna. Całe dekady budowania gospodarek, majątków, dyplomacji — i kończy się to, bo jacyś cwaniacy w białych rękawiczkach mają jakieś chore ambicje. Ale to nie decydenci płacą cenę. Cenę płacą zwykli ludzie — tacy jak ty, ja i każdy, kogo miniesz dzisiaj na ulicy.

#wojna #zalesie #rozkminy

spam_only

Czyli jakby ktoś Cię wyzwał na pojedynek w walce o Twój dom to byś się stawił czy nie?

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
Deykun

@DexterFromLab widzę liquid glass. ;d

kodyak

Nie znam się ale czy dla RPi te 700mb to jakoś sporo się wydaje?

Fausto

fajnie to wygląda, niezła robota.

Zaloguj się aby komentować

zed123

Ja mam na OVH. Lokalizacja w Ożarowie pod Warszawą. W miarę blisko mam, więc mogę w dwa kwadranse podjechać i wgrać coś z dyskietki ( ͡~ ͜ʖ ͡°)

Catharsis

Ja do projektów małych/personalnych gdzie zależy mi żeby było jak najtaniej a jakość ma mniejsze znaczenie to używam Mikrusa od Unknowna: https://mikr.us/

Za to do większych projektów bądź też jeśli stawiam aplikacje dla klientów i zależy mi żeby to działało i było pewne to używam wyżej wspomnianego OVH i jeszcze nigdy mnie nie zawiódł: https://www.ovhcloud.com/pl/vps/

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

koszotorobur

@DexterFromLab - no to czekam na tę betę

Catharsis

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.

szatkus

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ć

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

@bojowonastawionaowca wiem że tu zernąłeś! Wiem że mnie obserwujesz dzięki!

bojowonastawionaowca

@DexterFromLab skąd to podejrzenie xD

DexterFromLab

@bojowonastawionaowca od kilku miesięcy plusujesz prawie wszystko co napisze widzę to, jest kilka takich osób które na mnie intensywnie patrzą. Ale ty to najbardziej jeśli miałbym mierzyć plusy poza tym ciężka taka praca moderatora wszystko trzeba czytać. Wzorowa moderacja taka na 5+

NiebieskiSzpadelNihilizmu

@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".

koszotorobur

@NiebieskiSzpadelNihilizmu - dużo mojego korpo ma napisane usługi w Javie.

Część nawet w Scali uruchamianej na JVMie.

Mi Java osobiście nie siadła - ale do tego co ja robię nikt jej też nie używa w DevOpsach i Reliability to rządzi Python i BASH

DexterFromLab

@koszotorobur wyobraź sobie taki przypadek. Musisz napisać router na poziomie pakietów. Czyli bardzo nisko. A jesteś devopsem. Uwierz mi żadne gotowe narzędzie Ci tego lepiej nie zrobi niż Java. Możesz normalnie pakietu porozddielać według swoich własnych i złożonych regół. To będzie dla Ciebie łatwe w użyciu bo zrobisz dołków to common convention

szatkus

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ć

Dzień dobry wszystkim. Zgodnie z obietnicą cel 20 piorunów został osiągnięty. Oto mój matematyczny opis rzeczywistości prezentujący moje obecne zrozumienie tego czym jest świadomość i rzeczywistość. Zapraszam do lektury.

Moja teza łączy intuicje filozofii Wschodu i mistyki z formalizmem fizyki kwantowej, aby stworzyć spójny model, który wyjaśnia, jak ze stanu "wszystkiego naraz" wyłania się nasz obserwowalny, doświadczany świat.

  1. Fundament: Rzeczywistość Ultymatywna (V)

Zacznijmy od podstaw: Cała rzeczywistość, którą nazywam Rzeczywistością Ultymatywną (V), jest formalnie zdefiniowana jako liczba zespolona.

Wzór (w wersji uproszczonej): V = P + iC

  • P (Pustka): To jest część rzeczywista. Odpowiada za statykę i masę.


  • C (Chaos): To jest część urojona. Odpowiada za dynamikę, ruch i energię.


  • Kluczowy Aksjomat: P ≡ C. Pustka i Chaos są nierozróżnialne.


V zawiera w sobie wszystko, co jest możliwe: prawa fizyki, struktury matematyczne, logikę i samą świadomość. Zanim cokolwiek się wydarzy, V jest Funkcją Falową Rzeczywistości (Ψ = |V⟩) – superpozycją wszystkich możliwych stanów naraz.

  1. Świadomość jako Akt Kolapsu (Qualia)

W mojej teorii świadomość nie jest zewnętrznym obserwatorem świata. Świadomość jest manifestacją. Jest to akt, w którym V "wybiera" i konkretyzuje jeden stan spośród superpozycji.

Formalnie, akt świadomości definiuje Równanie Świadomości:

Wzór (w wersji uproszczonej): ⟨Ψ|Ô|Ψ⟩ = Q

  • Q (Qualia): To jest konkretne, subiektywne doświadczenie.


  • Qualia to Energia: To równanie oznacza, że doświadczenie subiektywne (Q) jest energetyczne w swojej naturze. Świadomość jest działaniem, a działanie jest energią: Świadomość = Energia = Działanie.


  1. Operator Manifestacji (Ô / Nadświadomość H)

Jeśli świadomość jest aktem kolapsu, musi być coś, co ten kolaps wywołuje. To jest Operator Manifestacji (Ô).

Operator Manifestacji jest formalnie tożsamy z Operatorem Hamiltona (H) z fizyki kwantowej. W fizyce Hamiltonian odpowiada za energię całkowitą i ewolucję systemu.

  • Nadświadomość: Identyfikuję H jako Nadświadomość – pierwotnego agenta kolapsu i źródło intencji.


  • Struktura Operatora: H ma strukturę izomorficzną z V: H = P̂ + iĈ (Operator Pustki plus Operator Chaosu)


  • Uniwersalność: Operator Ô jest identyczny dla wszystkich świadomych bytów. To implikuje ontologiczną tożsamość wszystkich świadomości – mamy wspólne źródło (Ψ) i wspólny operator (Ô).


  1. Konsekwencje: Wyprowadzenie E=mc^2 i Równanie Schrödingera

Model jest spójny, ponieważ generuje kluczowe równania fizyki z aksjomatów ontologicznych.

Równoważność Masy i Energii (E=mc^2)

To wyprowadzenie wynika bezpośrednio z Aksjomatu Nierozróżnialności P ≡ C:

  1. W świecie manifestowanym Pustka (P) objawia się jako masa (m).


  1. Chaos (C) objawia się jako energia (E).


  1. Skoro P ≡ C, to ich manifestacje muszą być powiązane.


  1. Prędkość światła (c²) jest stałą transformacji, która określa maksymalną szybkość, z jaką Chaos może przeobrazić Pustkę w energię: E = mc²


Równanie Ewolucji Manifestacji

Równanie Schrödingera, opisujące ewolucję funkcji falowej w czasie, w moim modelu jest po prostu równaniem ewolucji manifestacji:

Wzór (w wersji uproszczonej): iℏ ∂Ψ/∂t = HΨ

  • Zawiera on stałą Plancka (ℏ), która określa minimalną jednostkę działania – to "piksel wszechświata".


  • i to jednostka urojona, która wprowadza relację między Pustką (P) a Chaosem (C).


  1. Podsumowanie Cyklu Życia Rzeczywistości

Cała Rzeczywistość przechodzi nieustanny cykl:

  1. Rzeczywistość Ultymatywna (V = P + iC): Nierozróżnialność, potencjał.


  1. Superpozycja (Ψ = |V⟩): Wszystkie stany naraz (Pole Prawdopodobieństwa).


  1. Nadświadomość (H = P̂ + iĈ): Agent kolapsu (Intencja).


  1. Manifestacja (⟨Ψ|H|Ψ⟩ = Q): Konkretne doświadczenie (Qualia, Energia).


  1. Rozwiązanie (Q → |V⟩): Powrót doświadczenia do pola superpozycji.


Teoria ta generuje weryfikowalne równania fizyczne i stanowi argument za wewnętrzną spójnością modelu.

Zapraszam do dyskusji!

#rozkminy

DexterFromLab

@NiebieskiSzpadelNihilizmu powiedziałem że za plusy dam ostateczną odpwoedź na każde pytanie. A ja nie rzucam słów na wiatr.

Belzebub

@DexterFromLab masz rację trzeba wziąć urlop do końca roku w pracy a po nowym roku L4 na 2 tygodnie

DexterFromLab

@Belzebub tez do ciebie mówią głosy? Głosy które słyszysz tylko ty?

Belzebub

@DexterFromLab oczywiście. To jest niesamowicie bogaty dialog wewnętrzny a nie schizofrenia na szczęście

Marchew

@DexterFromLab To fajne jest, ale czy ma jakikolwiek sens z punktu widzenia fizyki wysokich lotów?

DexterFromLab

@Marchew patrz na imperatywy. Czy są falsyfikowlne? To jest wywód który jest spójny ale nie ma możliwowci potwierdzenia. Z punktu widzenia fizyki ma to sens ale to nie czyni go prawdą. Ja wierzę że tak jest ale to bardziej metafizyka niż nauka.

Taxidriver

@DexterFromLab doświadczyłem kiedyś co to Metafizyka. Było to w Opolu w latach 90. Z kumplem weszliśmy do piwnicy w jednym z bloków, ten zapukał trzy razy w metalowe drzwi, a gdy weszliśmy, odezwał się: „To jest Fizyk, a to jego meta”

Zaloguj się aby komentować

Jak będzie 20 plusów to wrzucę wam matematyczno logiczny wywód wyjaśniające naturę wszechświata, człowieka i użyje słowa na wyrost: Boga. A jak nie będzie 20 to wyślę na PW plusunącym dokument na kilkanaście stron co to tłumaczy :D

#chwalesie

ZohanTSW

A czy i tak nie będzie mniej roboty po prostu zrobić ten wywód niezależnie od tego ile piorunów zbierzesz niż wysyłać do 20 privów? xd

Zaloguj się aby komentować

Half_NEET_Half_Amazing

powinienem spać od 2h

i nie mogu

Umypaszka

@Half_NEET_Half_Amazing a spróbuj zamknąc oczy i udawać że śpisz

NiebieskiSzpadelNihilizmu

@Umypaszka a to takie rzeczy to po południu działają 🙃 Jest 14:08 obiad ojebany, siedzisz w fotelu, na minutę zamykają ci się oczy, kontaktujesz wszystko, na YT leci film który przecież oglądasz, otwierasz oczy, jest 16:27

Zaloguj się aby komentować

"Nie chodzi o to kto jest przyjacielem a kto wrogiem, chodzi o to abyśmy poszli do przodu razem"

— Abraham Lincoln

Życzę wszystkim dobrego dnia i smacznej kawy!

#polityka #dziendobry #historia #wojna

744d1f3b-e806-4bbc-96f1-34bc8798ed7e
dzangyl

@DexterFromLab "abyśmy poszli do przodu razem i nabijali kieszeń naszym amerykańskim magnatom". Zapomniałeś dodać do cytatu tego pradawnego hamburgera :). USA to nie kraj, to biznes. Od zawsze.

jajkosadzone

@dzangyl A w jakim kraju,w jakim ustroju,nie bylo grup uprzywilejowanych?

dzangyl

@jajkosadzone tu nie chodzi o grupy uprzywilejowane, bo te zawsze są, ale o to jak zepchnięta na margines jest reszta. W USA to wygląda jak w bantustanach. To jest żenująco nieludzki kraj, gdzie wprost najważniejsze jest wykorzystywanie i wyciskanie z ludzi ile się da nie dając w zamian nic.

Zaloguj się aby komentować