IRC Logs for #zfx


2021-04-02

07:50:36 Schrompf joined the channel
08:29:47 xq: IceMichael: könnte auch einfach ein wordplay auf "arbeiten bei kosmos" sein ;)
10:20:50 IceMichael: ja, aber nicht in der Reihenfolge, wie du es geschrieben hast
10:20:55 IceMichael: moin
10:33:30 Schrompf: ihr seid komisch. und begrüßt
11:02:53 IceMichael: Schrompf, danke danke, gleichso! Ebenfalls!
11:03:18 IceMichael: Wie tönt es bei deinem Dungeon gerade zurück, wenn es hineinschallt?
11:09:43 Schrompf: so wie wenn du in die leere rufst.
11:10:02 Schrompf: bis dann die oberflächen aus den asynchronen jobs herausgerollt kommen
11:10:45 Schrompf: ehrlich gesagt dauert das platzieren der texturen in einem der texturatlanten länger als das asynchrone berechnen von mesh und textur, aber das wird ja noch komplizierter
11:13:29 IceMichael: hm, bin als 3D-n00b nicht ganz sicher, ob ich folge. Also Mesh versteh ich, das ist ja deine Wölbung. Aber was meinst du jetzt mit "Textur" ggü. Texturplatzierung? Texturkoordinaten kenn ich, die muss man ja brav setzen. Und was machst du an der Textur selbst?
11:13:42 Schrompf: ich generiere sie
11:14:05 IceMichael: ach so. Und was ist da die Basis und wovon hängt ab, wie sie wird?
11:14:05 Schrompf: da gibt's kein bild, was ich da drauf patsche, sondern mesh und die diversen texturen werden unikat berechnet
11:14:27 IceMichael: ah, in verschiedenen Skalierungen überlagert oder wie?
11:14:35 IceMichael: oder machst du je nach Winkel ne andere wie ich das von Terrains kenne?
11:14:56 IceMichael: (andere = anderes Verhältnis von geblendeten Texturen)
11:15:03 Schrompf: aktuell sind sie einfarbig :-) und die normal map ist halt world space normals, die die krümmung der oberfläche mimikt
11:15:06 Schrompf: aber nachher
11:15:14 Schrompf: wenn dann die wahre größe daher kommt
11:15:27 Schrompf: und die sonne wieder scheint
11:15:30 Schrompf: (aus meinem popo)
11:15:51 IceMichael: (solang noch Urlaub ist)
11:16:26 Schrompf: urlaub? die mythische kreatur, die nur kinderlose besucht?
11:16:49 Schrompf: hab ich dich schonmal "trottel" gescholten, weil du dir freiwillig ein kind verursacht hast?
11:16:55 Schrompf: heute noch nicht, glaube ich
11:17:10 IceMichael: hehe, du hast mir die Schelte schon mal großzügig angeboten
11:17:13 Schrompf: das klang jetzt bissl arg böse. war als spaß gemeint
11:17:18 IceMichael: alles gut
11:17:29 IceMichael: ich mach gerade viel Unsinn. Das mit dem Teamleiter ist vermutlich auch ein Schuss ins eigene Knie
11:17:53 IceMichael: und dass ich so viel Zeit in eine aussichtslose Software stecke und mir dafür noch über Patterns zur Performanceerhöhung Gedanken mache, ist genau so sinnlos
11:18:06 IceMichael: keine Ahnung, wann ich dem entwachse und mal was Sinnvolles mache... vermutlich nie
11:18:09 Schrompf: nuja, das ist ja zumindest befriedigend
11:18:19 Schrompf: muss doch nicht alles geld abwerfen. pff
11:18:20 IceMichael: halbwegs
11:18:38 IceMichael: statt 53s dauert es jetzt nur noch 2s im worst case. Aber eigentlich hätt ich ja gern ein Sofort-Ergebnis gehabt... das wär geil gewesen
11:18:40 IceMichael: na ja, besser als nüsch
11:18:55 Schrompf: klar wärs geil, wenn da mal was abhebt, aber seien wir doch ehrlich: bei 7 milliarden menschen gibt's immer jemanden, der das schon gemacht hat und noch dazu viel besser
11:18:58 Schrompf: von daher: pff
11:18:59 IceMichael: neee, Geld nicht unbedingt. Wenn ich damit einige Menschen glücklich mache, ist das sogar noch besser
11:19:00 Schrompf: feuer frei
11:19:08 Schrompf: geld macht einen selbst glücklich
11:19:23 IceMichael: ja, aber es ist nicht das einzig Sinnstiftende, mein ich
11:19:36 IceMichael: wenn du ein geiles Spiel machst und das 100 Leuten Spaß bringt, dann ist das mega
11:19:50 IceMichael: auch wenn es kostenlos ist
11:20:41 IceMichael: das war früher eigentlich immer meine Motivation Spiele zu bauen. Ich hab was gebastelt, ein Kumpel hat es gespielt, ist in die Fallen getappt, die ich gebaut hab, hat seine Monster weiterentwickelt (war ein Pokemon-Klon) usw. und ich hab einfach nur zugeschaut
11:20:46 IceMichael: das war sehr erfüllend
11:21:11 Schrompf: jo, heutzutage ist das ein bissl distanzierter
11:21:19 Schrompf: geht immer noch, wenn du die leute dazu nötigst, das zu zocken
11:21:49 IceMichael: na ja, muss man wohl in Kauf nehmen. Aber der Spielezug ist bei mir abgefahren. Ich hab mir zu viel andren Kram aufgeladen
11:21:53 Schrompf: aber eigentlich willst du mehr leute erreichen. und dann bist du auf deren feedback angewiesen, und die müssen das neueste Assassins Creed beiseite legen, um dein spiel zu spielen... schwierig
11:21:53 IceMichael: bald allen voran besagter Nöpps :)
11:22:17 IceMichael: ja, oder sie haben AC durchgespielt und suchen was Neues und probieren deins dann einfach mal
11:22:30 IceMichael: ich hab jetzt z.B. schon lange nichts mehr gespielt bis auf Schach oder Siedler online
11:22:58 IceMichael: ich find auch nicht, dass es so viele megatolle Spiele gibt... so was wie Age of Empires 2 in neu und genau so cool hab ich in den letzten Jahren nicht gesehen
11:23:12 IceMichael: ich hab auch keine Ahnung, klar. Vermutlich ist Anno am nächsten dran? ist trotzdem was andres
11:23:43 IceMichael: also ich seh es nicht so, dass alles, was man anpackt, schon einer besser gemacht hat. Und selbst wenn: wenn es dann auf Chinesisch oder Indisch ist, nützt das ja eh nix
11:24:05 Schrompf: ich will mit meinem dungeon primär das feindetail generieren. die wände sind 2m-quadrate, das level hab ich im code gebaut für's erste. und jetzt will ich, dass da geile kantige felswände anstatt 2m einfarbfläche sind, und der boden ist dieser felsen mit sand bedeckt ist, wo nur hier und da noch der felsen rausguckt
11:24:43 Schrompf: und *eigentlich* sollte das erstmal recht trivial werden. ein paar ebenen simplex noise, blend to streichgelb für den sand, irgendwie so
11:24:53 IceMichael: klingt geil
11:24:58 Schrompf: wenn es nicht so hundeanstrengend wäre, überhaupt erstmal nen sauberen mesh hinzukriegen
11:26:18 IceMichael: ich hab kA davon, gibt es da keine Mechanismen, womit man das vernünftig machen kann?
11:26:40 Schrompf: für die meshes? weiß nicht. normalerweise sorgt der künstler dafür, dass der mesh gültig ist
11:26:57 Schrompf: vielleicht sollte ich einfach meinen testdungeon überarbeiten, um die sinnlosen grenzfälle erstmal loszuwerden
11:26:59 IceMichael: ah ja gut... dann ist es das ja vll, dass man den in Blender irgendwie baut oder was man so nutzt
11:27:05 Schrompf: genau
11:27:07 IceMichael: du baust ja quasi nen Generator?
11:27:54 Schrompf: und das end-end-final-ganzamende-ziel ist ja, dass du im blender oder sonstwo die groben umrisse deines levels baust und der generator dann das alles fließend durchackert, so dass es wie wiese, gras, fels, weg, bachbett, baum aussieht
11:28:00 IceMichael: hmmm... geht vermutlich zu weit oder in ne komische Richtung, aber kann man da nicht irgendwas Organisches nutzen? Nach dem Motto, man versucht vereinfacht zu simulieren, wie solche Höhlen historisch eh entstanden sind?
11:28:09 IceMichael: oh, klingt geil
11:28:11 Schrompf: ja, genau das
11:28:16 IceMichael: die Grafiker schreien dann bestimmt nach nem Plugin
11:28:20 Schrompf: bzw. im kleinen maßstab.
11:28:30 Schrompf: ja, ganz am ende wird's das als plugin für maya geben
11:28:47 IceMichael: sehr nice
11:29:09 Schrompf: bzw. ganz am ende wird's ne lib, die du in dein spiel reinlinkst, und die generiert on the fly die oberflächen nach deinen vorgaben, immer genau in der auflösung und detailliertheit, die man für die aktuelle kameraposition gerade braucht
11:40:53 Schrompf: Und ich brauch irgendwie einen neuen Maßstab. 2m Kantenlänge pro Tile sind irgendwie genau zu wenig für ein DungeonMaster-Gefühl
12:00:46 Magister joined the channel
13:00:24 efjam88 joined the channel
13:00:30 efjam88: sers
13:02:19 efjam88: hab mal wieder n bug-anliegen
13:04:10 efjam88: beim versuch die socket-header einzubinden kommen zig redefinition-fehler
13:05:19 efjam88: ich dachte mit ner #define WIN32_LEAN_AND_MEAN-zeile komm ich weiter, aber klappt nicht
13:06:45 Schrompf: wie lautet der erste der redefinition-fehler in seiner gesamten länge?
13:07:09 efjam88: C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\ws2def.h(238,25): error C2011: 'sockaddr': 'struct' type redefinition
13:07:09 efjam88: 1
13:08:37 efjam88: bzw : #define AF_IPX AF_NS // IPX protocols: IPX, SPX, etc.
13:08:42 efjam88: ups ne
13:08:54 efjam88: 1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\ws2def.h(103,1): warning C4005: 'AF_IPX': macro redefinition
13:11:15 efjam88: ist aber nicht nur auf ws2def.h begrenzt
13:15:51 efjam88: https://pastebin.com/QEaZZPc2
13:16:30 Schrompf: benutzt du precompiled header? probier mal nen global rebuild
13:16:50 Schrompf: ansonsten: hast du vielleicht irgendne netzwerk-lib inkludiert, die ihre eigenen defs mitbringt?
13:17:16 efjam88: ws2_32.lib halt
13:20:49 Biolunar: Ist das vielleicht ein Problem der Inklusionsreihenfolge?
13:20:57 efjam88: mom
13:21:22 Biolunar: Microsoft header sind halt Schrott ;)
13:21:32 efjam88: =)
13:21:34 efjam88: #include
13:21:34 efjam88: #include
13:21:46 efjam88: kommen als erstes
13:23:08 Biolunar: Hast du noch windows.h includiert?
13:24:06 efjam88: mom
13:29:55 efjam88: ich glaub mit nem "#define WIN32_LEAN_AND_MEAN
13:29:55 efjam88: " hab ich s hinbekommen
13:30:16 efjam88: vielen dank
13:31:33 Schrompf: WIN32_LEAN_AND_MEAN vor den #include hilft. aber dafür? hm. komisch. nuja, schön dass du's raus hast
13:31:46 efjam88: =9
13:31:48 efjam88: =)
13:33:37 efjam88: ich hab mich bisher mit tcp versucht
13:33:48 Biolunar: Das sollte aber nicht nötig sein? Erst winsock, dann windows includen sollte gehen
13:34:21 Schrompf: keine ahnung, frag die MSDN
13:34:38 efjam88: nun möchte ich es mit udp vesuchen
13:35:06 efjam88: hat hier wer erfahrung mit?
13:35:25 Schrompf: nur mittelbar, über libs.
13:35:49 Schrompf: das ist aber komplett was anderes, nöch? udp ist "in den wald rufen", tcp ist "einschreiben mit rückschein"
13:36:02 efjam88: lol
13:36:11 efjam88: macht den anschein
13:36:16 Schrompf: wollt dich nur warnen :-)
13:36:32 efjam88: soweit hab ichs auch schon begriffen
13:37:20 efjam88: in tcp hat man "accept" das fällt weg richtig?
13:38:40 Biolunar: Kein listen und accept mehr
13:38:56 efjam88: ok,danke
13:38:57 Biolunar: Einfach sendto und recvfrom
13:39:38 efjam88: und da reicht sockaddr* ?
13:40:19 Biolunar: Du brauchst schon noch eine gültige Adresse in Form von sockaddr_in oder sockaddr_in6
13:40:28 efjam88: ahja
13:41:20 Biolunar: Weiß nicht wie es unter Windows ist, aber unter Linux darf man auch bei UDP noch connecten, damit man es sich spart immer die Adresse mit anzugeben
13:42:06 efjam88: aber "select" macht noch sinn oder?
13:42:52 Biolunar: Das kommt doch auf deine Anwendung an
13:42:58 efjam88: ok
13:43:16 efjam88: ich will erfahrung mit games sammeln
13:44:01 efjam88: also muss ich wenn sich wer einloggt checken ob er über sockaddr schon drinn ist?
13:44:59 efjam88: sry wenn ich so blöd frage
13:46:05 Biolunar: Wenn du mit UDP per recvfrom Daten liest, erfährst du dort auch immer von wem (sprich die Adresse) die Daten kommen.
13:46:21 efjam88: ok
13:46:58 efjam88: was ich noch ned gerafft hab ist: anhand der ip kann man user ned eindeutig erkennen oder?
13:47:07 efjam88: zb wenn wer hinter einem router ist
13:47:30 efjam88: klar der server kann portforwarding benutzebn
13:47:56 efjam88: bei tcp hatte dann ich meine socketverbindung
13:48:30 efjam88: (sry wortverdreher drin)
13:48:37 Biolunar: Keine Ahnung was das NAT mit den Adressen macht, sorry
13:48:58 efjam88: hmm
13:58:53 Schrompf: nein, anhand der ip kannst du die user nicht auseinadnerhalten
13:58:55 Schrompf: nicht zwangsweise
13:59:07 efjam88: ok
13:59:36 Schrompf: Eberhard schickt Theresa ein UDP-Paket. Dazu muss Eberhard erstmal Theresas Adresse kennen, und sie muss öffentlich erreichbar sein
14:00:00 efjam88: ja
14:00:26 efjam88: aber was wenn Theresa wohnt in nem mehrfamilien haus?
14:00:27 Schrompf: Eberhard schickt, das geht bei ihm ausm Computer raus, ins DSL-Modem rein, das an der Stelle die Absenderadresse durch die öffentliche IP dvon Eberhard ersetzt und sich das merkt
14:00:32 Schrompf: stop
14:00:35 Schrompf: lass mich mal reden
14:00:40 efjam88: sry
14:01:11 Schrompf: bei theresa kommt jetzt ein paket von eberhard an, aber als absender steht da nicht mehr "mein heimcomputer im arbeitszimmer" drin, sondern "eberhärter straße 13"
14:01:47 Schrompf: und theresa baut jetzt ne antwort und schickt die zurück. aber halt an die eberhärter straße 13, weil sie das als absender sieht
14:02:19 Schrompf: dieses paket klopft jetzt wieder von außen an den router an, und der weiß von vorhin noch, dass da eberhart ein paket an theresa geshcickt hat. das hier wird also jetzt die antwort sein
14:02:29 Schrompf: und damit routet der router das paket an eberharts zockrechner.
14:02:40 Schrompf: obwohl nirgendwo in der adresse eberhards zockrechner drinsteht
14:02:49 Schrompf: war das anschaulich?
14:02:53 efjam88: ziehmlich
14:03:09 Schrompf: weil das passiert. und zwar mehrfach. du hast ja keine eigene IP mehr als privatanwender
14:03:21 Schrompf: sondern du wirst mit hundert anderen zu einer IPv4 zusammengeworfen
14:03:32 efjam88: das sagt mir was
14:04:05 Schrompf: und dort hast du also nochmal so einen router. der kriegt das paket mit dem absender "eberhärter straße 13" für theresa und merkt sich, dass es von der eberhärter straße kam.
14:04:20 efjam88: ok
14:04:43 Schrompf: wenn theresa das kriegt, dann steht da als absender nur noch "dieser router, der hundert flachpfeiffen zu einer IP zusammenfasst", aber es ist egal
14:04:48 Hannes joined the channel
14:05:02 Schrompf: denn die kette funktioniert immer in jede richtung, egal wieviele zwischenstationen es gibt
14:05:10 Schrompf: und wie gesagt gibt es heutzutage einige.
14:05:17 efjam88: ok
14:05:20 efjam88: mom
14:05:25 Schrompf: das geht so lange, wie Theresa OHNE zwischenstation erreichbar ist
14:05:49 Schrompf: denn wenn eberhart an theresa schreibt, dann gab es da vorher keine pakete, anhand derer so eine zwischenstation wissen könnte, wer genau erreicht werden soll
14:05:55 Hannes: ho-hi-hey
14:05:58 Schrompf: hi
14:06:10 Hannes: holt die autos raus
14:06:18 Hannes: es ist car-freitag
14:06:38 Schrompf: deswegen haben die meisten sevrer heutzutage immer noch ne echte IPv4. nur die privatanwender halt nicht
14:06:51 efjam88: gut
14:07:04 Schrompf: richtig kompliziert wird es jetzt, wenn beide endpunkte privathanseln sind
14:07:34 Schrompf: das, was ich hier beschrieben habe, läuft unter dem Begriff "Network Address Translation". also NAT
14:07:44 efjam88: ahja
14:07:56 Schrompf: und wenn zwei privatnasen zusammen zocken wollen, ohne das es einen zentralserver gibt, den beide von außen direkt erreichen können
14:08:04 Schrompf: dann braucht es einen vorgang namens NAT Punchthrough
14:08:27 efjam88: danke soweit
14:08:37 Schrompf: ok, dann hör ich hier mal auf zu erklären
14:08:43 Schrompf: und häng stattdessen die wäsche auf
14:08:49 efjam88: =9
14:08:50 efjam88: =9
14:08:53 efjam88: =)
14:08:59 Schrompf: übrigens, Hannes: der war richtig gut. fies flach, aber so mag ich meine scherze
14:47:21 IceMichael: huch, wo hat Hannes denn was geschrieben
14:50:44 Schrompf: holt die autos raus
14:50:44 Schrompf: es ist car-freitag
14:56:29 IceMichael: hervorragend :)
15:01:58 efjam88: ich beschäftige mich noch etwas mit udp, bin dann mal weg
15:02:30 efjam88: chö
18:50:20 Hannes joined the channel
18:50:42 Hannes: hey-ho
18:50:52 Hannes: ich zock ne runde age 2
18:53:47 Schrompf: ff
18:53:57 Schrompf: ich ringe immer noch mit meiner runden unterteilung
18:55:06 Schrompf: es muss irgendwas so simples sein. ich kann es anfassen. ich kann mir ne zeichnung von machen. ich hab's meiner frau erklärt und sie hat sich prompt vorstellen können, wie es funktioniert
18:55:22 Schrompf: ich finde nur nicht die richtige kombination aus vektor-operationen, um es auch zu berechnen
18:55:32 Schrompf: es muss irgendwas furchtbar simples sein
19:43:33 Schrompf: ES GEHT! IHR VERDAMMTEN PENNERINNEN UND PENNER. ES GEHT
19:43:47 Hannes: screenshot?
19:43:49 Schrompf: http://www.splitterwelten.info/privat/dungeon_rund.png
19:44:34 Schrompf: äh moment, noch nicht ganz
19:44:59 Schrompf: die senkrechte wand rechts von dem knubbel müsste erst ein bissl rauswölben und dann unten ein bissl reinwölben
19:45:20 Schrompf: vielleicht isses nur beleuchtung. ich guck morgen und geh jetzt erstmal mit den jungx buddeln
19:45:48 Hannes: sieht cool aus
19:46:57 Schrompf: ist jetzt endlich ne kontinuierliche basis für irgendwelche noise-unebenheiten
19:47:09 Schrompf: sprich: rausstülpen und reindrücken je nach felsform
21:04:10 Hannes: n8