[Projekt] Devader

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
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.

Re: [Projekt] Devader

Beitragvon marcgfx » 06.11.2017, 21:29

hab den Post mal auf eine neue Seite geholt.

Bild
Ich bin am testen wie es ausschauen würde mit einem vordefiniertem Untergrund. Weiss nicht ob es mir gefällt, oder ob sich das beisst... Der Sand kommt auch wieder drüber, aber später im Spiel wird der ganze Untergrund sichtbar. Ich könnte mir auch vorstellen den Untergrund mit der Struktur stärker zu verbinden, also vielleicht noch irgendwelchen technischen Konstrukte.

Bild
mir war es jetzt doch noch zu stark gesättigt... ich muss mal was essen :)
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

Re: [Projekt] Devader

Beitragvon marcgfx » 08.11.2017, 20:27

Bild
Es hat mich ganze zwei Tage gekostet um ein elendes Hintergrundbild einzubauen... schrecklich. Probleme gabs beim import in den Framebuffer und ich habs einfach nicht geschnallt woran es lag. Bei einem Fall hats geklappt, beim zweiten nicht und ich bin fast wahnsinnig geworden. Schlussendlich war es eine falsche Zoom-Einstellung die das Bild ganz klein unten rechts (nicht im sichtbereich) platziert hat. Dann gabs aber noch x andere Fehler die zusammen mit dem Zoom Problem den Spass vergrössert haben. Jetzt gibt es einen Hintergrundlayer auf den gewisse Risse entstehen. Dieser Layer ist unter dem Sand und kommt beim hier gezeigten Turmboss dann zum Vorschein.
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

Re: [Projekt] Devader

Beitragvon MasterQ32 » 09.11.2017, 01:21

Sieht schon irgendwie verdammt geil und farbenfroh aus, muss unbedingt mal wieder nen aktuellen Build spielen!
Duct tape is like the force. It has a light side, a dark side, and it holds the world together.
Benutzeravatar
MasterQ32
Felix Queißner
Establishment
 
Beiträge: 958
Registriert: 07.10.2012, 14:56

Re: [Projekt] Devader

Beitragvon marcgfx » 09.11.2017, 01:43

Danke! Ich sollte mal wieder nen aktuellen Build hochladen :D :roll:
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

Re: [Projekt] Devader

Beitragvon marcgfx » 20.11.2017, 17:59

Bild
Bild
Bild
Ein paar aktuelle Screens. Ich habe wieder mal 1000 kleine Sachen gemacht, geschraubt, gedreht, poliert. Das waren die wichtigen Sachen:
- Ich habe alle glow-Effekte von den Schüssen entfernt. Bisher habe ich oft zwei Bilder pro Schuss gezeichnet. Ein normales Schussbild und ein grösseres, leicht transparentes, additives Bild. Ich habe die zwei Bilder jetzt mit einem Ersetzt und etwas Shader code. Via Shader werden hellere Bereiche additiv, andere normal gerendert.
- Gegnerische Schüsse sind jetzt vorwiegend dunkel mit heller Silhouette. So soll es einfacher sein zu erkennen was gut und böse ist. Es gibt noch eine Aussnahme bei den Kurzdistanzattacken von Spinnen.
- Ich habe entdeckt, dass mein Shader kein absolutes Schwarz zuliess. Beim Spielen viel mir das nicht auf, aber ich war immer enttäuscht über die Screenshots und hab gar mein Bildbearbeitungsprogramm beschuldigen wollen... Ich war selber schuld.
- Ich glaube das Problem mit dem Sound in den Griff bekommen zu haben. Ich benutze jetzt einen GainNode (volume) nach einem DynamicCompressorNode (verhindert, dass die Amplitude zu krass ausschlägt). Muss aber noch beobachtet und abgestimmt werden.

Ich schlage mich momentan mit dem Linux Build rum. Dazu habe ich Ubunto auf Virtualbox installiert. Es läuft schrecklich langsam und irgendwie krieg ich es nicht gebacken Dateien auszutauschen.

Ende November will ich eine neue Demo veröffentlichen. Releasetermin ist Ende Januar.
Für die Demo werde ich vermutlich wie beim ersten Mal die 3 Anfangslevel bis zum 3ten Boss veröffentlichen. Jetzt aber mit allen Schwierigkeitsstufen. Highscore wäre auch noch cool. Eventuell muss ich schauen ob ich dafür noch Facebook oder Google Logins ermöglichen soll. Könnte beim Vermarkten helfen...
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

Re: [Projekt] Devader

Beitragvon MasterQ32 » 21.11.2017, 00:19

Hey, gut zu hören, dass es vorangeht!

Es läuft schrecklich langsam und irgendwie krieg ich es nicht gebacken Dateien auszutauschen.

Versuchs mit SSH-Dämon auf der VM und SCP auf Windows (WinSCP o.ä.), das funktioniert immer prima bei mir
Duct tape is like the force. It has a light side, a dark side, and it holds the world together.
Benutzeravatar
MasterQ32
Felix Queißner
Establishment
 
Beiträge: 958
Registriert: 07.10.2012, 14:56

Re: [Projekt] Devader

Beitragvon marcgfx » 23.11.2017, 15:08

Danke! Ich hab dennoch eine bessere Lösung gefunden. Es lag noch ein alter Laptop rum, flugs Ubuntu installiert. Bis auf ein bisschen rumspacken (wollte nicht mehr starten nach einem ersten Update) hats ganz gut geklappt. Habe Devader auch schon zum laufen gebracht, es lief mit ganzen 20fps... die GPU war massiv überfordert. Naja vielleicht kann ich das Gerät ja nutzen um die Performance nochmal zu verbessern.

Ich mühe mich mit komischen Sachen ab unter Ubuntu. Ich habe .desktop files angelegt um NWjs starten zu können, bekomme aber fehlermeldungen und danach sind die .desktop Dateien versteckt. Echt mühsam. Ich versuch mal einen Build auf Steam hochzuladen, man muss es halt leider vom Terminal aus starten (ich noob zumindest). Obwohl... mal sehen, bei Steam muss man das Start-Programm angeben. Wird spannend.
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

Re: [Projekt] Devader

Beitragvon marcgfx » 24.11.2017, 19:36

Manchmal könnte ich in die Wand hauen wegen meiner gewählten Tech. Ich hab schon so vieles verbessert und dennoch läuft es nicht wirklich gut auf meinen Laptops. Der Linux-Laptop ist eigentlich gar nicht so schlecht, mein MacBook ist 4 Jährig. Beide etwa gleich gut/schlect. 20fps reichen lustigerweise aus zum spielen, die Steuerung reagiert leider nicht so gut wie sie sollte. Ich habe 4 Layer im Spiel: Hintergrund, Splatter, Objekte, Sturm. Bis auf die Objekte kann ich alle einzeln Ein/Ausschalten. Wenn alles bis auf die Objekte ausgeschaltet sind, habe ich um die 40-50fps. Ich muss noch ausgiebiger testen. Es spielt sich besser, sieht einfach nicht so schön aus. Ist sowas überhaupt vertretbar? ...
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

Re: [Projekt] Devader

Beitragvon scheichs » 25.11.2017, 13:05

Alter des Laptops sagt wenig aus. Es kommt ja auf die Specs an. Aber generell gesagt: Ich habe damals (vor 3 jahren?) Cyberlympics unter Firefox ausprobiert und war mässig beeindruckt. Später hatte ich nochmal unter Chrome getestet und es machte wirklich Spass. Warum? Wegen der Framerate! Dasselbe gilt auch für Devader. Unter 60FPS (EDIT: Vsynced!) würde ich nicht gehen wollen. Dazu muss es auf voller Qualität laufen. Diesen Anspruch musst du haben! Das muss an allen Ecken und Enden knallen!
Ich vermute auch, dass Du Dich mit deiner Dev-Env da selber limitierst. Ich würde Dir empfehlen auf Unity (bevorzugt wegen 2D) oder Unreal zu portieren. Das dauert vermutlich genausolang wie weitere Versuche zu optimieren. Dann stehen Dir auch von den Releasewegen viel mehr Türen offen (Konsolen!!!). Du hast jetzt soviel Arbeit da rein investiert (speziell auch von den Gegnern). Schau dass Du Dich da auch belohnst dafür.
scheichs
Establishment
 
Beiträge: 215
Registriert: 28.07.2010, 20:18

Re: [Projekt] Devader

Beitragvon marcgfx » 25.11.2017, 15:28

Danke für deinen Input scheichs, womöglich hast du recht. Nur ich glaube das Portieren wäre nicht so eine einfache Geschichte, wissen tue ich das nicht. Vermutlich fange ich besser bei null an mit einem neuen Projekt. Meine Tech ist schon arg limitierend, aber es ist halt was ich habe. Ziel ist es in zwei Monaten das Ding rauszuhauen, sonst wird es zu nem Endlosprojekt. Aufregen werde ich mich genug in der Zeit, hoffentlich gibts auch ein paar Jubelschreie :lol:

Ich rede mir manchmal gut zu und sage: Es gibt erfolgreiche Projekte die eine fixe Framerate von 30 haben (nuclear throne).

Interessant an meinem jetztigen Problem ist allerdings, dass ich mit der GPU kämpfe. Der Einfachheit halber hat es noch ein paar Branches im Shader, eventuell könnten die ein Teil vom Problem sein.
Ich schäme mich etwas für den code :P aber kann es ja mal posten. Warscheinlich lacht ihr euch einen ab :D
Code: Ansicht erweitern :: Alles auswählen
//bg_1

precision mediump float;
uniform vec2 u_resolution;
uniform float u_time;

uniform float u_sandtime;
uniform float u_sandscale;
uniform float u_sandopacity;
uniform float u_sandoffset;
uniform vec4 u_sandpos;
uniform vec4 u_sandbump;
uniform vec4 u_sandcol;

uniform vec4 u_enva;
uniform vec4 u_envm;

varying vec2 v_tex;
varying vec2 v_coord;
varying vec2 v_size;
varying float v_mode;
varying vec2 v_pos;

uniform vec2 u_imagesize;
uniform sampler2D u_image;
uniform sampler2D u_fb;

vec3 rgb2hsv(vec3 c) {
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
float d = q.x - min(q.w, q.y);
float e = 1.0e-10;
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
}
vec3 hsv2rgb(vec3 c) {
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
}

void main(void) {
//mode bestimmt wie ein poly gezeichnet wird
float stp = step(0.0,v_mode);
float mode = mix(-(v_mode+1.0), v_mode, stp);
vec2 pos = v_coord + v_tex * v_size;

//hässlicher branch
if(mode>53000.0) {
//sand code, wird ausgeführt wenn der framebuffer aufs canvas gezeichnet wird
float dune = 0.0;
float base = 1.0;
if (u_sandopacity != 0.0) {

float opacity = abs(u_sandopacity);
float time = u_sandtime;
float offset = u_sandoffset;
float choice = sign(u_sandopacity) * 0.5 + 0.5;
vec4 tpos = mix(u_sandbump, u_sandpos, choice);

dune = (0.4 + 0.4*texture2D(u_image, (tpos.ba + mod((pos-time*0.0037)*tpos.rg*2.288*u_sandscale,tpos.rg))/u_imagesize).r)
* (offset + opacity*texture2D(u_image, (tpos.ba + mod((pos-time*0.0227)*tpos.rg*4.8*u_sandscale,tpos.rg))/u_imagesize).r
//* (texture2D(u_image, (tpos.ba + mod((pos+time*0.00061)*tpos.rg*0.2*u_sandscale,tpos.rg))/u_imagesize).r*2.0)-0.25)
* (texture2D(u_image, (tpos.ba + mod((pos+time*0.01187)*tpos.rg*1.31*u_sandscale,tpos.rg))/u_imagesize).r*1.5)-0.25)
+ texture2D(u_image, (tpos.ba + mod((pos-time*0.12327)*tpos.rg*11.8*u_sandscale,tpos.rg))/u_imagesize).r*0.06;

//dune *= v_tex.x;
base = mix(max(0.0, 1.0-dune), 1.0-dune, choice);
}

vec4 c = texture2D(u_fb, pos);
c = c*base + dune*u_sandcol;
if(u_envm.r>0.0) c.rgb = c.rgb * u_envm.rgb + u_enva.rgb;

gl_FragColor = c;
}
else
{
//code für splatter effekte die auf den hintergrund gezeichnet werden (unter sand)
vec4 c = texture2D(u_image, pos);

float dec = floor(mode);
mode = fract(mode);
float smode = fract(mode*10.0);
float sat = mix( u_envm.a, u_enva.a, stp);
float nmode = 1.0-smode;

//0.9<mode additive blending
c.a *= (mode>0.9) ? nmode : 1.0;
//0.8<mode<=0.9 saturation
sat *= (mode>0.8 && mode<=0.9) ? smode : 1.0;
//0.6<mode<=0.7 make red
c.rgb = (mode>0.6 && mode<=0.7) ? c.rgb*nmode + vec3(min(c.r+c.g+c.b,1.0)*smode* c.a, 0.0, 0.0) : c.rgb;
//0.4<mode<=0.5 brightness
c.rgb *= (mode>0.4 && mode<=0.5) ? (1.0+c.a*9.0)*max(smode-0.1,0.0) : 1.0;

float cen = mod(dec,1000.0);
float d = (dec/1000.0);
float alpha = floor(d)/50.0;
if(alpha>0.0){
c.rgba *= alpha;
}

float condition = float(cen>=500.0);
float l = min(min(c.r,c.g),c.b);
vec3 lvec = vec3(l,l,l);
vec3 lcol = c.rgb-lvec;

float m = mix(1.0,c.r-l,condition);
vec3 ref = mix(lcol,vec3(1.0,0.0,0.0),condition);

vec3 hsv = rgb2hsv(ref);
float hue = fract(cen/100.0);
hsv.x += hue;
//hsv.z *= huez; //könnte auch zum abdunkeln verwendet werden
hsv.y*=sat;

//abdunkeln, 5 stufen 500 weiss - 900 schwarz
float dark = mod(cen,500.0);
float gray = 1.25-(dark/400.00);
vec3 tmp = mix(hsv2rgb(hsv),vec3(gray,gray,gray),(1.0-mod(hue*33.0,1.0))*condition);

tmp *= mix(1.0,gray,float(cen>=100.0));
c.rgb = vec3(l,l,l) + tmp*m;

gl_FragColor = c;
}
}
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

Re: [Projekt] Devader

Beitragvon scheichs » 26.11.2017, 11:57

Ich bin zwar jetzt kein Shadergott, aber der da birgt allein vom Branchen wohl schon einiges an Optimierungspotenzial. Würde ich auf jeden Fall mal in seperate Shader aufdrösseln.
scheichs
Establishment
 
Beiträge: 215
Registriert: 28.07.2010, 20:18

Re: [Projekt] Devader

Beitragvon marcgfx » 26.11.2017, 15:12

Also zwei Shader sollten definitiv daraus entstehen, ob ich sonst noch was rausholen kann weiss ich nicht. Die ternary Operatoren sollten eigentlich schnell sein. Da ich mit alpha blending arbeite, ist es so weit ich verstehe nicht möglich in mehreren passes zu rendern um den depth buffer zu nutzen. Mein Verständnis davon ist sehr beschränkt.
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

Re: [Projekt] Devader

Beitragvon scheichs » 26.11.2017, 18:23

marcgfx hat geschrieben:Die ternary Operatoren sollten eigentlich schnell sein.


EDIT: Ja Du hast recht.
scheichs
Establishment
 
Beiträge: 215
Registriert: 28.07.2010, 20:18

Re: [Projekt] Devader

Beitragvon marcgfx » 27.11.2017, 17:14

Danke scheichs. Ich weiss zwar nicht was du ursprünglich geschrieben hast, aber danke dass du dir dafür die Zeit genommen hast. Mir wär lieber ich hätte nicht "recht" und könnte was optimieren. Wenn jemand noch was doofes sieht :D, ich wäre echt froh drum.
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

Re: [Projekt] Devader

Beitragvon marcgfx » 27.11.2017, 18:55

Bild
Ich weiss nicht ob sich jemand dran erinnert, in der ZFX-Action Version war das Gefährt eine Art Panzer. Den gibt es immer noch, ich habs heute per Zufall gefunden und wieder zum laufen gebracht. Eigentlich sollte ich an der Demo feilen... Ich denke die Panzerversion würde sich gut als Belohnung für das durchspielen auf Schwer oder sowas eignen. Eventuell sollte ich mir noch ein paar andere alternative Vehicle einfallen lassen. Eilt aber nicht ;)
Benutzeravatar
marcgfx
Establishment
 
Beiträge: 1046
Registriert: 18.10.2010, 23:26

VorherigeNächste

Zurück zu Vorstellungsbereich

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron