[Projekt] Devader
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.
Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.
This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.
Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.
This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Re: [Projekt] Devader
Ein paar Kollegen von mir habe das Spiel "Senalux" gemacht. Hat sich für sie leider nicht gelohnt, aber ich finds cool. Eine kleine Homage habe ich ihnen bei einer Messe mal versprochen, ich bin dabei das Versprechen einzulösen.
[youtube]Z1uKSQ5PAr0[/youtube]
Ich habe jetzt die Spiegelmechanik eingebaut, ist noch auf max 5 Umlenkungen limitiert. Muss die Endlosschlaufen noch verhindern ;)
Idee war diese Umlenker zu haben und einen Boss der Laser schiesst. Mit etwas Knobelgeschick kann man den Laser zurückschicken und den Boss zerstören. Aber... ich bin nicht so von der Idee überzeugt. Jetzt habe ich mal einen Schritt gemacht, mal sehen ob mir was gescheides einfällt.
[youtube]Z1uKSQ5PAr0[/youtube]
Ich habe jetzt die Spiegelmechanik eingebaut, ist noch auf max 5 Umlenkungen limitiert. Muss die Endlosschlaufen noch verhindern ;)
Idee war diese Umlenker zu haben und einen Boss der Laser schiesst. Mit etwas Knobelgeschick kann man den Laser zurückschicken und den Boss zerstören. Aber... ich bin nicht so von der Idee überzeugt. Jetzt habe ich mal einen Schritt gemacht, mal sehen ob mir was gescheides einfällt.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Die neuen Graphiken haben meinen Texture-Atlas zum überlaufen gebracht. 4126x4096 statt maximal erwünschte 4096x4096. Also habe ich mich wieder an den "packer" gesetzt und einen Bug ausgemerzt (< statt <=). Schon ist der Atlas auf 4092x4096 geschrumpft. Im Bild ist violet/weiss das neue und grün das alte, man sieht hier schön wie ich unglaubliche 30 Pixel rausgeholt habe. Es gibt noch einige offensichtliche Kandidaten die eine Verbesserung vertragen könnten. Anscheinend gehe ich mit dem unteren Rand sehr schlecht um und vor allem am Anfang gibt es grössere Löcher.
Meine Visualisierung ist leider nicht so toll, da mir mein altes Photoshop abgeschmiert ist (out of memory, konnte aber noch einen Screenshot machen). Weiss auch nicht wieso ich das manchmal immer noch brauche obwohl ich eine neue Version lizenziert habe :roll: ... Der Text ist glaub auch schrecklich, aber ich sollte schon lange pennen.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Das mit den Kristallen, Umlenken und Lasern sieht cool aus!
Re: [Projekt] Devader
@scheichs: Danke!
Hab wieder etwas am Boss rumgebastelt. Da mir immer noch nicht klar ist, was der Reiz genau sein soll habe ich mit der Optik gespielt -> 4104x4096 pixel. Ich muss wohl doch noch mehr rausholen.
Hab wieder etwas am Boss rumgebastelt. Da mir immer noch nicht klar ist, was der Reiz genau sein soll habe ich mit der Optik gespielt -> 4104x4096 pixel. Ich muss wohl doch noch mehr rausholen.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Im moment könnte der Boss zu einer Denkaufgabe werden... es ist mal was ganz anderes. Hier ist der Boss schon ziemlich fortgeschritten/vieles zerstört und es wird zu einfach. Mal sehen, warscheinlich werden ihn am Ende alle hassen :lol:
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Ich find den Look vom neuen Boss super erfrischend! Besonders toll ist die Räumlichkeit. Kriegt man direkt Alien-Invasions-Assoziationen.
Re: [Projekt] Devader
@scheichs: freut mich zu hören, dass es gefällt!
Bin noch dabei es spielerisch interessant zu machen, das mit den Schüssen ist noch nicht so toll. Es braucht aber etwas um den Spieler etwas zu nerven, zumindest auf höheren Schwierigkeitsgraden, oder wenn der Boss "böse" wird.
Bin noch dabei es spielerisch interessant zu machen, das mit den Schüssen ist noch nicht so toll. Es braucht aber etwas um den Spieler etwas zu nerven, zumindest auf höheren Schwierigkeitsgraden, oder wenn der Boss "böse" wird.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Ich tu mich mal wieder schwer mit einem neuen Boss. Die Idee vom Boss: 4 stationäre Elemente in den Ecken die ein fixes Schussmuster produzieren. Der Spieler kann durch das fixe Schussmuster Geschütztürme platzieren die nicht getroffen werden. Das wäre zu einfach, also folgt ein Tentakelvieh dem Spieler. Es macht Schaden durch Kontakt. Das Tentakelvieh geht auch auf Geschütztürme los, falls der Spieler zu weit weg ist. Bis jetzt find ichs ultra langweilig... muss mal einkaufen gehen, evtl. fällt mir was ein.
Zuletzt geändert von marcgfx am 28.11.2018, 13:20, insgesamt 1-mal geändert.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Der Kühlschrank ist noch immer leer. Evtl. könnte sowas eine Idee sein? Wenn der Boss genug Schaden genommen hat verbinden sich die Elemente... Spielerisch interessanter ist es deswegen noch nicht. Mal sehen.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Optisch passt es mir schon besser, spielerisch ist es noch nicht so der Hammer. Wenn der Spieler einen gewissen Schaden angerichtet hat, verbinden sich die Eck-Spinnen mit dem flauschigem Tentakelvieh.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Habe das hier gestern schnell auf imgur gepostet und einer wünschte sich Abdrücke von den Füssen.
https://imgur.com/gallery/zq0GjXQ
https://imgur.com/gallery/zq0GjXQ
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Chromanoid
- Moderator
- Beiträge: 4263
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: [Projekt] Devader
Sieht cool aus finde ich. Kannst Du das in eine Textur backen oder sind das einzelne Decals? Spuren vom Spieler wären dann auch noch nett :) der könnte mit seinem Strahl vielleicht Spuren der Gegner verwischen. Vielleicht kannst Du ja irgendwie das Alter der Spuren in einem Kanal vermerken (falls du backst) und sie langsam verblassen lassen. Sieht bestimmt auch cool aus, wenn man am Anfang ist und sich die Monster "heimlich" an die Kristalle schleichen. Dann muss man nur den Spuren folgen.
Re: [Projekt] Devader
Es wird alles au eine Splatter-Textur gezeichnet die mit der Zeit verblasst. Im moment kann ich aber nur dazu-zeichnen, spezifisch löschen geht nicht. Es gibt eine versteckte Panzerversion des Devaders, der Spuren hinterlässt aber die Hover-version macht das nicht. Ich glaube das würde zu schnell zu viel Spuren erzeugen, aber vielleicht sollte ich es mal probieren.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Auch wenn ich mich wiederhole: Das mit den Spuren sieht super geil aus!
- Chromanoid
- Moderator
- Beiträge: 4263
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: [Projekt] Devader
@marcgfx vielleicht kannst Du ja beim "Hover"-Spielermodell einfach die Spuren ganz zart kreisförmig weglöschen/alpha erhöhen. Das hat auch so schön symbolischen Charakter :) Es sollten dann ruhig alle Viecher Spuren machen. Wenn einem dann langweilig ist und gerade keine Action am laufen ist, kann man mit seiner Figur rumfliegen und Spuren verwischen ^^
Re: [Projekt] Devader
Mit dem richtigen Splatter siehts dann schon cooler aus. Die Beine machen Spuren und auch der Körper hinterlässt etwas Farbe. Da so viel geschieht, ist es nicht offensichtlich aber das Resultat passt mir jetzt :)
@scheichs: Danke für die Wiederholung, ist immer noch Motivierend :)
@Chromanoid: Ist noch eine lustige idee, aber ich hab grad keine Ahnung wie ich negativ zeichnen soll... Ich müsste wohl dafür einen weiteren Renderpass und subtractives Blending machen?
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Dezember war kein guter Dev-Monat, dennoch gabs ein paar Sachen. Ich schraube immer noch an den Bossen rum, habe mir da schon ziemlich was angetan :roll:
Wirklich viel gibts wie gesagt nicht zu zeigen. Habe hier was halb-patzig angefangen, der Hintergedanke war ein Dyson-Sphere was überhaupt nicht ersichtlich ist.
Eben habe ich meine Laser mit den Schüssen kombiniert, auch eine Art von Bullet-Pattern :)
Immerhin habe ich eine Verbesserungen erstellt. Bislang wurden alle Objekte einzeln beim Aufstarten aus der DB geladen. Das wurde mit immer mehr Einheiten immer langsamer, bis es anfing zu nerven.
Die Unit-Files sind im JSON Format. Code muss ich im JSON als String gespeichert halten, für die Sonderzeichen habe ich mir Ersatz-Tokens gebaut. Ohne Editor sehr unangenehm zu lesen.
Jedenfalls war der Prozess bislang so:
Name der Einheit an Server -> DB abfragen -> Resultat mit eval in code umwandeln -> code/script im Objekt convertieren und ebenfalls mit eval aktivieren.
Neu werden alle Einheiten in einer JS Datei gespeichert ~30k Zeilen. Es muss nichts mehr mit eval aktiviert werden, da code nicht mehr als string gespeichert wird -> viel schneller als zuvor. Will ich eine Einheit dennoch aus der DB laden muss ich den Namen der Einheit mit $ prefixen und ich bekomme die frische Version geliefert.
Wirklich viel gibts wie gesagt nicht zu zeigen. Habe hier was halb-patzig angefangen, der Hintergedanke war ein Dyson-Sphere was überhaupt nicht ersichtlich ist.
Die Unit-Files sind im JSON Format. Code muss ich im JSON als String gespeichert halten, für die Sonderzeichen habe ich mir Ersatz-Tokens gebaut. Ohne Editor sehr unangenehm zu lesen.
Code: Alles auswählen
[23670,1543406768,"HexCorn",{base:{ad:0.3,bdmg:0,bounce:0.1,killdelay:[2,0],aim:-2,aip:2,arad:20,ainame:undefined,ani:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],anitime:0.04,img:{url:'/group/tick',rot:-2,x:-100,y:-74,w:0,h:0,m:23,c:'r'},minicol:{r:0,g:0,b:0},omode:0.41,pxlsize:2,randHue:[900,0],code:'var _ = PARAM._;<br>var data = PARAM.data;<br><br>if(_.z){<br> if(_.z<=200) _.alpha = 1;<br> else _.alpha = 1-Math.min(1,(_.z-200)/400);<br>}<br><br>if(!data.grow){<br> data.grow = 1;<br> data.chase = 1;<br> <br> _.custom = {sub:[]};<br> //_.origin = -100;<br> //_.sub[0]._.scale = _.scale*0.3;<br> //console.log(`create centipeed`);<br> var ao = _.a.c;<br> var r = _.r;<br> var dif = _g_hex_.difficulty;<br> var lerp = 15;<br> //_.ad = 0.8-0.2*dif;<br> <br> var count = 6;<br> var pdata = {pnum:_.pnum};<br> for(var i=0;i<count;i++){<br> var a = (i+0.5)*_pi2_/count;<br> var ma = ao + a;<br> var face = Math.radPos(ma + _pi_);<br> <br> var body = _o_.create(`HexCornBody`,<br> _.x-Math.qcos(ma)*r,<br> _.y-Math.qsin(ma)*r,<br> face,<br> pdata);<br> <br> var b_ = body._;<br> b_.z = _.z;<br> b_.vz = _.vz;<br> b_.ad = _.ad;<br> <br> /*if(face != b_.a.c){<br> debugger;<br> }*/<br> <br> var scalef = (0.6+Math.qrand()*0.4);<br> b_.scale /*= b_.sub[0]._.scale */= _.scale * scalef;<br> b_.r = b_.rb *= scalef; <br> b_.origin = _.id;<br> var len = 60;<br> b_.custom={<br> target:_.id,<br> grow: len,<br> growm: len,<br> growa: a,<br> growc: 0,<br> pull: 0,<br> lerp: lerp,<br> pdata: pdata<br> }<br> _.custom.sub.push(b_);<br> }<br> <br> var angle = _pi2_/8, as = _pi2_/4;<br> var w2 = _g_.width()*0.5;<br> var r = w2*1.4;<br> for(var i=0;i<4;i++, angle+=as){<br> //HexCornered<br> var cornered = _o_.create(`HexCornered`,<br> w2-Math.qcos(angle)*r,<br> w2-Math.qsin(angle)*r,<br> 0,<br> pdata);<br> cornered._.origin = _.id;<br> }<br> console.log(`create corn`);<br> data.change = -1000;<br>}<br><br>var ma = _.a.c;<br>_e_.paintLine(_redimg_, 0, 0, -1, 100000, 0.95, _.x, _.y*yFactor, _.x+Math.qcos(ma)*100, _.y+Math.qsin(ma)*100, 5, 1);<br><br>if(_.z>0) return;<br><br>//check sub, require 3 to live<br>var salive = 0;<br>var sub = _.custom.sub;<br>for(var i=sub.length-1;i>=0;i--){<br> if(sub[i].alive==1) salive++;<br> else sub.splice(i,1);<br>}<br>if(salive<2){<br> _.mobj.kill();<br>}<br><br>var h = _.h, percent = h.c/h.p;<br>var v = 250-percent*150;<br>var target = _g_.getObject(data.targetId);<br>if(target aANDdaANDd target._.name == _g_hex_.vehicleName aANDdaANDd (percent<0.5 || salive<5)){<br> v = -v;<br> data.chase = -1;<br>}else{<br> data.chase = 1;<br>}<br><br>window._circleai_(PARAM, v);',ep:3000,ei:200,h:200,s:0,sp:0,sr:0,ss:0,ex:{ex0:{alpha:[0.3,0.2],alphaEnd:[0.1,0.2],hue:900,img:{url:'/explosion/dust1',x:-58,y:-50,w:0,h:0,m:12,c:'c'},scaleEnd:[0.7,0.7],scaleStart:[0.5,0.7],step:[0.06,0],zindex:100,name:'Explosion'}},height:100,m:100,r:20,scaleMax:1.5,scaleMin:1.5,keymode:"jeep",name:'Base',splatter:{splatter0:{adjustY:1,alpha:[0.7,0.3],hue:0,img:{url:'/environ/splatter',x:-50,y:-50,w:0,h:0,m:8,c:'r'},mode:[0.41,0],scale:[1.5,0.5],name:'Splatter',timeout:120}},vr:0.1,vim:-300,vip:300},description:undefined,name:'HexCorn'}]
Name der Einheit an Server -> DB abfragen -> Resultat mit eval in code umwandeln -> code/script im Objekt convertieren und ebenfalls mit eval aktivieren.
Neu werden alle Einheiten in einer JS Datei gespeichert ~30k Zeilen. Es muss nichts mehr mit eval aktiviert werden, da code nicht mehr als string gespeichert wird -> viel schneller als zuvor. Will ich eine Einheit dennoch aus der DB laden muss ich den Namen der Einheit mit $ prefixen und ich bekomme die frische Version geliefert.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Joa... der Dezember... lief bei mir auch fast nichts nach der Action. Hast immerhin ein bisschen was geschafft bekommen. Morgen geht Kindergarten wieder los. Hoffe dann krieg ich auch wieder was auf die Kette.
Re: [Projekt] Devader
Der Januar fängt ganz gut an, hoffe bei dir läufts auch scheichs ;) . Heute war ich fleissig!
Weiss noch nicht genau was das wird. Jeder Schuss ist an einem Faden befestigt. Berührt ein Spieler den Faden richtet sich der Schuss auf den Kontaktpunkt aus.
Ich wollte wieder eine grössere bewegte Struktur erstellen. Angefangen habe ich mit einem Grid voll dieser eckigen Dinger. Sie bewegen sich zufällig im Grid, später sollen sich Gruppen bewegen und irgendwas aggressives sollte auch dabei sein. Zumindst ist das Plan A.
Plan B... evtl einfach nur gut zum kaputt machen? Ist eigentlich ganz witzig :D
Weiss noch nicht genau was das wird. Jeder Schuss ist an einem Faden befestigt. Berührt ein Spieler den Faden richtet sich der Schuss auf den Kontaktpunkt aus.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Hab mich grad für den Nordic Game Discovery Contest angemeldet, da nächste Woche in Zürich das Ludicious stattfindet. Eine Voraussscheidung findet dort statt, soweit ich verstanden habe. Falls ich reinkomme, kann ich vermutlich auch ausstellen...
Ansonsten;
Ansonsten;
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Habs leider nicht in den Contest geschafft. Jetzt habe ich mehr Zeit an der Messe rumzulungern und Talks zu sehen.
Vor ein paar Tagen wurde dieser Boss erschaffen, ist überhaupt nicht was ich ursprünglich geplant hatte, ist als Gegner ganz gut geworden denke ich. Mal sehen ob ich das in ein paar Tagen/Wochen immer noch finde.
Aktuell arbeite ich an einem weiteren neuen Boss (danach stehen noch zwei an...).
Um zu testen wie er sich bewegen soll, habe ich das Vieh den Cursor verfolgen lassen. Das gefiel mir so gut, dass ich beschlossen habe das beizuhalten. Der Spieler wird den Boss kontrollieren den er zerstören soll, könnte interessant sein? Mit Maus gehts schon ganz gut, Gamepad muss ich noch testen.
Überlappt sich das Vieh selber werden diese Segmente zu Schussquellen, d.h. wenn der Spieler das Vieh "schlecht" steuert gibt es mehr Schüsse. Die Idee funktioniert zumindest schon mal, aber es fehlt der Feinschliff.
Das Kotzgrün im Hintergrund werde ich noch ändern, beim Testen hat es mich nicht gestört.
Vor ein paar Tagen wurde dieser Boss erschaffen, ist überhaupt nicht was ich ursprünglich geplant hatte, ist als Gegner ganz gut geworden denke ich. Mal sehen ob ich das in ein paar Tagen/Wochen immer noch finde.
Um zu testen wie er sich bewegen soll, habe ich das Vieh den Cursor verfolgen lassen. Das gefiel mir so gut, dass ich beschlossen habe das beizuhalten. Der Spieler wird den Boss kontrollieren den er zerstören soll, könnte interessant sein? Mit Maus gehts schon ganz gut, Gamepad muss ich noch testen.
Zuletzt geändert von marcgfx am 30.01.2019, 22:42, insgesamt 1-mal geändert.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Zuletzt geändert von xq am 30.01.2019, 22:04, insgesamt 1-mal geändert.
Grund: Ich war mal so frei und hab dir das mit dem Videotag korrigiert ;)
Grund: Ich war mal so frei und hab dir das mit dem Videotag korrigiert ;)
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Heute war ein guter Tag. Mittags aufgestanden und dann 4 Stunden schlitteln. Dachte schon das heute wohl eher wenig passiert. Ungeduscht direkt zwei Probleme angegangen und 2h später beide gelöst. Das erste war ein altbekanntes Problem. Mein 4096x4096 Texturatlas war mal wieder zu voll. Als Neuerung habe ich jetzt eine Lückenerkennung eingebaut, die ich sofort mit den grösstmöglichen Bildern auffülle. Jetzt habe ich wieder erstaunlich viel neuen Platz dazugewonnen.
Mehr oder weniger gleichzeitig habe ich mich noch mit Dithering befasst. Ich wollte das hier in etwa einbauen:
https://digitalrune.github.io/DigitalRu ... 40ab1e.htm
Daran war ich schon gestern gescheitert aus folgenden Gründen: In WebGL kann man zwar eine Matrix const definieren, aber man kann sie nur mit Konstanten abfragen... also für mich komplett nutzlos. Bei der Google Dev Gruppe nachgefragt und als Vorschlag kam das dithering aus einer Textur auszulesen. Keine schlechte Idee, aber ein weiterer Texture-Look-Up war mir nicht so geheuer. Deshalb habe ich mir die Bayer Matrix genauer angeschaut: https://en.wikipedia.org/wiki/Ordered_dithering
Es gibt dort eine Beschreibung eines Algos, aber ich muss zugeben da bin ich etwas schwach im Verständnis. Ich habe mir die Matrizen etwas genauer angeschaut und versucht Muster darin zu erkennen, was mir glaub gelungen ist. Jedenfalls habe ich etwas ähnliches Produzieren können:
Mehr oder weniger gleichzeitig habe ich mich noch mit Dithering befasst. Ich wollte das hier in etwa einbauen:
https://digitalrune.github.io/DigitalRu ... 40ab1e.htm
Daran war ich schon gestern gescheitert aus folgenden Gründen: In WebGL kann man zwar eine Matrix const definieren, aber man kann sie nur mit Konstanten abfragen... also für mich komplett nutzlos. Bei der Google Dev Gruppe nachgefragt und als Vorschlag kam das dithering aus einer Textur auszulesen. Keine schlechte Idee, aber ein weiterer Texture-Look-Up war mir nicht so geheuer. Deshalb habe ich mir die Bayer Matrix genauer angeschaut: https://en.wikipedia.org/wiki/Ordered_dithering
Es gibt dort eine Beschreibung eines Algos, aber ich muss zugeben da bin ich etwas schwach im Verständnis. Ich habe mir die Matrizen etwas genauer angeschaut und versucht Muster darin zu erkennen, was mir glaub gelungen ist. Jedenfalls habe ich etwas ähnliches Produzieren können:
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Krishty
- Establishment
- Beiträge: 8268
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: [Projekt] Devader
Hat WebGL kein Alpha-to-Coverage? Das ist nämlich genau das gleiche …
Re: [Projekt] Devader
Das sagt mir nichts, hört sich spannend an. Wenn ich es nicht selbst implementieren muss wärs ja noch besser :)
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Es scheint sowas zu geben, aber ich verstehe nicht wie ich das nutzen soll.
gl.enable(gl.SAMPLE_COVERAGE);
gl.enable(gl.SAMPLE_ALPHA_TO_COVERAGE);
ctx.sampleCoverage(0.5, false);
Macht gar nichts, aber aktuell habe ich den Depth-Test ausgeschaltet und meine Polygone haben keinen z-Wert im Vertex Shader. Ich muss wohl ein bisschen umbauen um überhaupt was zu sehen. Muss ich aber sowieso, damit meine Variante Sinn macht.
Jedenfalls danke für den Hinweis Krishty, habe ich wieder was zum knobeln.
gl.enable(gl.SAMPLE_COVERAGE);
gl.enable(gl.SAMPLE_ALPHA_TO_COVERAGE);
ctx.sampleCoverage(0.5, false);
Macht gar nichts, aber aktuell habe ich den Depth-Test ausgeschaltet und meine Polygone haben keinen z-Wert im Vertex Shader. Ich muss wohl ein bisschen umbauen um überhaupt was zu sehen. Muss ich aber sowieso, damit meine Variante Sinn macht.
Jedenfalls danke für den Hinweis Krishty, habe ich wieder was zum knobeln.
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
- Krishty
- Establishment
- Beiträge: 8268
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: [Projekt] Devader
Okay; viel Glück! Zumindest in DirectX tut es ziemlich genau, was du haben möchtest – siehe linke Seite des Screenshots hier. (Dort gibt es nur deshalb mehr Abstufungen als in deinem Link, weil Multisampling im Spiel ist.)
- xq
- Establishment
- Beiträge: 1582
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: [Projekt] Devader
Du musst (jedenfalls bei OpenGL) eigentlich nur GL_ALPHA_TO_COVERAGE enablen, dann sieht das ganze bei mir sofort so aus:
Soweit ich das verstehe, brauchst du dafür keinen Depth-Test. Im Endeffekt ist A2C ja nen "Ersatz" für Alpha-Blending durch Multisampling bzw. DitheringMacht gar nichts, aber aktuell habe ich den Depth-Test ausgeschaltet und meine Polygone haben keinen z-Wert im Vertex Shader.
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in Zig und nervt Leute damit.
Programmiert viel in Zig und nervt Leute damit.
Re: [Projekt] Devader
Danke für den Link Krishty!
Danke fürs ausprobieren MasterQ32. Ich habs noch einmal versucht und es passiert schon was, es gibt color-banding und alles wird dunkler. Muss es noch genauer analysieren...
Danke fürs ausprobieren MasterQ32. Ich habs noch einmal versucht und es passiert schon was, es gibt color-banding und alles wird dunkler. Muss es noch genauer analysieren...
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space
Re: [Projekt] Devader
Ich bewege mich weiterhin auf wackligen Beinen (oder Terrain). Kann es sein das man gewisse Einstellungen nur einmal machen kann? Bzw eine Funktion aufrufen muss um die Änderungen auszuführen.
Wenn ich folgende Anweisungen erst vor dem Rendern aufrufe, bekomme ich ein anderes Resultat als wenn ich es beim initialisieren des WebGL contexts mache. Macht für mich momentan noch keinen Sinn. Die Werte stimmen in beiden Fällen, aber irgendwas ist anders...
gl.enable(gl.BLEND);
gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);//premultiplied alpha
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
gl.disable(gl.DEPTH_TEST);
Ich nehme an die Blend-Funktion stimmt nicht. Ba ich werds mir wohl ein anderes Mal wieder anschauen, vermutlich bin ich zu dumm einen einfachen Fehler zu erkennen. Macht null Sinn, was ich hier erzähle :)
Wenn ich folgende Anweisungen erst vor dem Rendern aufrufe, bekomme ich ein anderes Resultat als wenn ich es beim initialisieren des WebGL contexts mache. Macht für mich momentan noch keinen Sinn. Die Werte stimmen in beiden Fällen, aber irgendwas ist anders...
gl.enable(gl.BLEND);
gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);//premultiplied alpha
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
gl.disable(gl.DEPTH_TEST);
Ich nehme an die Blend-Funktion stimmt nicht. Ba ich werds mir wohl ein anderes Mal wieder anschauen, vermutlich bin ich zu dumm einen einfachen Fehler zu erkennen. Macht null Sinn, was ich hier erzähle :)
Discord: https://discord.gg/AWhsvN3 für Devader: http://devader.space