00:54:16 Biolunar joined the channel
05:49:55 Essex20 joined the channel
05:56:48 Essex20: Moin
06:03:20 Magister joined the channel
06:08:30 Hannes joined the channel
06:10:59 Hannes: hey-ho
06:31:16 Essex20: Huhu
07:19:29 Biolunar: moin
08:28:11 Essex20: Und jetzt?
08:28:27 Essex20: habt ihr auch eben den vorbeirollenden Heuballen gesehen?
08:29:38 Hannes: Wie in so einem Road-Movie in der Wüste?
08:52:36 Magister- joined the channel
10:44:38 Essex20: Vielleicht sollte ich endlich mal was essen...
17:42:25 Schrompf joined the channel
17:44:10 Schrompf: hey&heyyer
17:50:43 Essex20: Boy
17:50:54 Essex20: ich hab eben 30 Minuten damit zugebracht nen Fehler zu finden und zu korrigieren
17:51:36 Essex20: tc++ warf mir die ganze zeit ein "too many types in declaration" vor die füße und ich habs einfach nicht geblickt, ich hab nirgendo was von float int oder sonstiges gebaut
17:51:56 Essex20: und was war es? ich hab das fucking semikolon nach der class im header vergessen
17:52:16 Schrompf: :-)
17:52:17 Schrompf: autschi
17:52:21 Schrompf: die sind die besten
17:53:01 Schrompf: weil du ja auch den fehler ganz woadners suchen musst, als der compiler meckert
17:53:16 Essex20: Ich bin gerade dabei, das was ich da schon habe ein bsischen aufzuräumen und in Klassen zu packen, auch den "grafikstack" und halt bissl aufgeräumt
17:53:20 Essex20: ja
17:53:37 Essex20: und das lustigste sind dann noch die ganzen folgefehler die dadurch entstehen, weil dann alles irgendwie "missverstanden" wird :D
17:56:08 Schrompf: trotz allem gemecker über C++: die compiler haben sich in denletzten 30 jahren echt weiterentwickelt, was Klarheit der Fehlermeldungen angeht
17:58:28 Essex20: woohoo, programm läuft wieder, inklusive Graphik :-)
17:59:26 Essex20: Ist immer irgendwie amüsant, wenn man nach der Arbeit sich eigetnlich nur daran erfreut, dass es noch genau so tut wie vorher und du eigentlich keinen (sichtlichen) Fortschritt hast
18:02:10 Essex20: Mein Ziel ist ja eigetnlich nur ein simples (grafisches) Spiel zu basteln und dabei ein paar Sachen/klassen zu schreiben, die ich wiederverwenden kann
18:14:56 Schrompf: valide
18:15:08 Schrompf: und ich bin sicher, du hast schon oft meinen rat dazu gehört
18:15:17 Schrompf: NICHT JETZT
18:15:32 Schrompf: bau ein spiel, was seine grafiksachen abgekapselt hat
18:15:46 Schrompf: aber nicht eins, wo die abstraktionen vorausahnen wollen, was andere spiele brauchen
18:15:51 Schrompf: das ist kaffeesatzleserei
18:16:05 Schrompf: bau deine abstraktionen genau so, wie du sie unmittelbar genau jetzt für dein spiel brauchst
18:16:19 Schrompf: und erst beim nächsten spiel wirst du sehen, was du noch berücksichtigen musst
18:16:22 Schrompf: erst dann
18:16:23 Schrompf: nicht jetzt
18:43:19 Essex20: Jo, ich rede hier auch von ganz primitiven Sachen, die tc nicht anbietet. Z.b. sind ne hand voll grafikfunktionen notwendig um alles zu intialisieren etc., das pack ich in ne Klasse um main() nicht vollzumüllen u.s.w.
18:43:40 Essex20: einfach ein bisschen mehr "modernen" komfort reinbringen :-)
18:44:15 Essex20: Oder auch das Pageflipping Zeug bzw. Vsync u.s.w.
18:44:35 Essex20: damit ich ein konstrukt hab damit ich den ganzen MIst ned wieder von vorne tippen muss
18:45:13 Schrompf: feinfein
18:45:37 Schrompf: wie würd man ne sinnvolle "NPC sucht nach Agentin" implementieren?
18:45:50 Schrompf: NPC entdeckt Dich, rennt auf Dich zu, Du duckst Dich weg
18:46:07 Schrompf: der rennt weiter zum letzten sichtbaren Punkt. Und von dort aus soll er jetzt bissl Unruhe stiften
18:47:11 Schrompf: aktuell schick ich den 3m-5m weit weg in ne zufällige richtung und lass ihn dann dort in diese richtung bissl links und rechts schwenken
18:47:33 Schrompf: aber das treibt ihn halt gern mal vor ne wand, wo er dann ganz genau die krümeln im putz untersucht
18:47:53 Essex20: Verhaltensmuster?
18:48:04 Schrompf: essexakt
18:48:49 Schrompf: ich dachte, der läuft vom letzten sichtpunkt aus in verschiedene richtungen zu "portalen"- also engstellen, die übergänge zu nachbar-arealen darstellen
18:48:52 Essex20: Da kannste aber auch volle Kiste ausholen, die Umgebung noch als Daten einbeziehen, schauen wo könnte der Spieler hingegangen sein, wie wichtig ist es (Agenda) u.s.w.
18:49:06 Schrompf: aber ich hab keine idee, wie ich so ein portal in meiner level-poly-struktur erkennen könnte
18:49:16 Schrompf: ja, wie?
18:49:24 Essex20: rnd :P
18:49:31 Schrompf: "die umgebung einbeziehen" ist kein algo, den ich implementieren könnte
18:49:45 Schrompf: ich hab mir überlegt, als zwischenschritt den zufällig in ne rihtung laufen zulassen
18:49:52 Essex20: natürlich, du musst nur den "sichtbaren" bereich deines npc auf 360° aufdrehen ;-)
18:50:10 Schrompf: und am zielpunkt dann nen raycast rundrum zu machen und ihn zumindest in die richtung zu drehen, in der es am weitesten zu sehen gibt
18:50:36 Schrompf: so dass er immer noch vor ne wand läuft, dann aber der zumindest den rücken zudreht und "zurück" schaut auf die szene
18:51:00 Schrompf: aber wenn ich in nem raum irgendwie die polys erkennen könnte, die gateways zu anderen arealen sind
18:51:38 Schrompf: also in nem zimmer die fensterbänke als übergänge nach draußen, oder die von dem raum abgehenden korridore
18:52:02 Schrompf: und dann geht er aus der mitte des raumes immer zu so einem gateway, starrt da bissl durch, und dreht dann um und schaut sich ein anderes gateway an
18:52:12 Schrompf: problemstellung: gateways erkennen
18:52:34 Essex20: Boi, jetzt müsste man den code von Dishonored haben
18:52:51 Schrompf: lol, als ob fremder fertiger hyperkomplexer code irgendeine hilfe wäre
18:53:09 Essex20: wenn er kommentiert ist? :P
18:53:12 Schrompf: ich kann mit fremdem code nix anfangen. ich brauch immer jemanden dazu, der mir die konzepte und gedankengägnge dahinter erklärt
19:05:34 Schrompf: ich denke einfach mal laut
19:05:50 Schrompf: ich will, dass die NPCs durch übergänge in nebenräume gucken
19:06:12 Schrompf: nebenräume zeichnen sich dadurch aus, dass sie nicht zum aktuellen raum dazugehören
19:06:46 Schrompf: es müsste also ne nennenswerte trennung zwischen den räumen geben
19:06:58 Schrompf: und einen übergang dazwischen
19:07:21 Schrompf: der aber auch beliebig groß werdne könnte. ist ein flur nun noch nen übergang zwischen zwei räumen, oder ein eigener raum?
19:07:43 Schrompf: das wird mir schon wieder zu philosophisch, was auch immer an ideen daraus fallen könnte, ist mir zu kompliziert
19:07:58 Schrompf: andere idee: flood fill vom suchmittelpunkt aus
19:10:39 Schrompf: aber wie weit? vielleicht bis dahin, wo man keinen sichtkontakt mehr zum suchzentrum hat
19:10:55 Schrompf: und dann den schritt davor anpeilen
19:12:07 Schrompf: nee, das funktioniert nicht für fenster
19:12:31 Schrompf: aber es könnte für türdurchgänge zu anderen räumen funktionieren
19:12:44 Schrompf: oder ich muss doch irgendwie mein level preprocessen
19:12:53 Schrompf: wie fickendes DOOM um 1993
19:14:33 Schrompf: vor allem verschiebt das ja nur mein problem: ich brauche was, wie ich das level preprocesse
19:15:01 Schrompf: und wenn ich ne idee habe, was ich eigentlich tun kann, kann ich die ja auch erstmal direkt im spiel einbauen und erst bei extremer rechenzeit ins preprocessing schieben
19:22:07 Schrompf: wie wär's damit:
19:22:18 Schrompf: rekursiv vom aktuellen poly aus
19:22:47 Schrompf: jede kante überschreiten zum nachbarpoly, sofern die kante erstmal überall begehbar ist
19:23:19 Schrompf: (also keine sonderlocken für schrägen, wo man auf der einen seite zwar hochkäme, auf der anderen seite die stufe zu hoch ist
19:24:14 Schrompf: eine kante, die > Stufenhöhe hat, aber < Guckhöhe, ist ein Fenster, und wird als Raus-Starr-Ziel vermerkt
19:25:29 Schrompf: bei freier begehbarkeit beenden wir das Rekursieren nach einer gewissen zurückgelegten Entfernung
19:25:39 Schrompf: oder wenn der Sichtkontakt zum Suchzentrum abreisst
19:26:05 Schrompf: damit kriegen wir eine Reihe Zielpunkte, die entweder ein Stück weg vom Suchzentrum sind, auf ner großen Freifläche
19:26:17 Schrompf: oder die neue Räume betreten, die vom aktuellen Raum abzweigen
19:27:05 Schrompf: das müsste erstmal gehen, auch wenn es komische kleine seitenschritte ergibt und sowas, weil ich halt nur dreiecke habe
19:27:18 Schrompf: und jedes quad aus zwei dreiecken mit ner diagonale dazwischen besteht
19:28:02 Schrompf: und jede art von "punkt auf diesem dreieck"- die mir gerade einfällt, wird die menschen-offensichtliche Mitte eines Flures verpassen und ein bissl schräg in den Flur starren
19:28:16 Schrompf: naja, damit kann man erstmal arbeiten
19:28:39 Schrompf: so, erstmal rein jetzt, akku ist fast alle
19:28:56 Schrompf: ist halt ein alter laptop, und noch dazu eher zum zocken als für wirklich mobilen betrieb gekauft
19:29:16 Schrompf: vielleicht nehm ich mal ein bissl meines doch recht großzügigen budgets und kauf mir nen neuen laptop
20:24:08 Essex20: Irgendwie versteh ich das nicht. Ich hab 5 Bilder erzeugt damit ich die per putimage auf den screen werfen kann. die stecken in einem 2d-array [index][data], data ist immer 132, bei jedem exportierten bild ind iesem komischen format, mit dem putimage umgehen kann
20:24:19 Essex20: und doch werden nur 2 tiles richtig gerendert, die anderen sind nur garbage
20:28:27 Essex20: Gott bin ich so dumm
20:29:16 Essex20: DIeses Tool (RasterMaster) .. da ich nicht alle "frames" auf einmal exportieren kann, was total mist ist und ich jeden einzeln machen muss, damit er mir das in ein ordentliches Putimage-kodiertes Array packt
20:29:41 Essex20: und ich hab bei den verkrüppelten versehentlich Quick C statt Turbo-C genommen *facepalm*
20:29:44 Essex20: jetzt gehts
20:34:20 Schrompf: 30 jahre alte tools
20:34:24 Schrompf: du bist hardcore, Essex20
20:34:30 Essex20: ^^
20:36:10 Essex20: Naja, solange ich kein Imageloader hab nutz ich halt des und erzeug mir die Arrays die ich in den Code reinknalle zum testen. und putimage ist halt dahingehend das optimalste. Ich hab auch schon ne per-pixel routine, die geht auch
20:36:34 Essex20: aber putimage ballert dir halt den block in den speicher
20:36:44 Essex20: dafür isses am schnellsten
20:37:21 Essex20: ist ja nur zum herumspielen erstmal.
20:37:59 Schrompf: klar, funktioniert! ich will nix dagegen gesagt haben
20:39:13 Essex20: :-)
20:53:59 Essex20: Öhm, steam forum ist down=?
20:54:29 Essex20: ach nee, ich hatte ncoh den alten forum link, da ist wohl mittlerweile das redirect weg
21:08:14 Essex20: Dieses Tool ey.. ich wunder mich als warum meine tiles blau sind. (index 1) ich hatte vorher auf ega palette und dachte das ist korrekt, erst nachdem ich das bild selektiert hab und NOCHMAL ega gesagt hab hat er die palette richtig geordnet und jetzt ist 1 auch blau und 15 weiss, wie es normal ist... super ey, kann ich den ganzen kram nochmal exportieren
21:09:57 Schrompf: das klingt echt nach nem klassischen 30jahre-altem Workflow
21:10:18 Essex20: ^^
21:10:36 Essex20: Ich würd ja gern aseprite nutzen, aber der kann das nicht exportieren
21:11:23 Essex20: naja, ich bastel ja nur ne hand voll testbilder. später will ich mit nem spriteatlas versuchen herumzuspielen, dann hab ich nur noch 1 bild
21:13:46 Schrompf: ich hab zu der zeit nen gfxblock benutzt
21:14:01 Schrompf: einfach ein großes array, in dem alle pixel nacheinander drin standen
21:14:11 Essex20: ja, das ist quasi putimage
21:14:23 Schrompf: und jedes sprite bestand aus "startoffset in Bytes, breite, höhe"
21:14:32 Essex20: bzw. hab ich auch rudimentär wo ich das array durchgehe und die pixel zeichne
21:33:35 Schrompf: visual studio ist auf meinem laptop inzwischen so langsam, dass ich wieder wie vor 30 jahren quasi ohne autocomplete programmiere
21:33:49 Schrompf: Strg+Space hat mal Member aufgelistet
21:33:52 Essex20: Oder du bist einfach zu schnell
21:34:15 Schrompf: jetzt krieg ich ein Fenster, dann 500ms Wartezeit, dann einen Eintrag, dann nochmal 1s Wartezeit, dann alle Einträge
21:34:36 Schrompf: selbst fucking Java-based Jetbrains schafft das in <100ms
21:35:25 Schrompf: ich überlege, Geld für 10x auszugeben
21:35:37 Schrompf: obwohl der nur auf WIndows läuft
21:35:50 Schrompf: und ich liebäugele doch aktiv mit dem Wechsel auf Linux
21:47:54 Schrompf: naja, gut für heute.
21:48:04 Schrompf: viel erfolg noch. wir lesen einadner morgen wieder
21:48:08 Essex20: ja
21:48:13 Essex20: ich geh jetzt auch pennen, genug für heut
21:48:16 Essex20: n8in8 .-)
21:48:19 Schrompf: nacht
22:16:49 Biolunar joined the channel