Projekt: Blood of the Undead

Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Ich habe noch schnell zwei neue Figürchen erstellt: den Riesen und das "Rad".

Mein Plan:
Ich möchte Transformationen für die Basis-Figuren einbauen (man, woman, noble, noblette), im Verhältnis 4:1 + (Gold/Blut). Wenn also zu viele Basis-Figuren vorhanden sind, soll der Spieler – vorausgesetzt, die nötigen Ressourcen sind da – aktiv eingreifen und sie aufwerten können.

So bleibt die Bevölkerung besser kontrollierbar, und es entstehen interessante Entscheidungen im Mid- und Late-Game.

Jetzt brauche ich nur noch interessante Aufgaben für die Figürchen.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Laufanimationen
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Gebäudestückchen können seit gestern ins Wasser fallen.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5175
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Projekt: Blood of the Undead

Beitrag von Schrompf »

Hübsch!

Komm mal zum Stammtisch und zeig :-)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
woodsmoke
Establishment
Beiträge: 142
Registriert: 30.06.2023, 14:05
Wohnort: Ludwigshafen
Kontaktdaten:

Re: Projekt: Blood of the Undead

Beitrag von woodsmoke »

Sehr cool!
Die kleinen Details/Dinge bewirken oft so viel bei Games.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Ich bin dabei unterschiedliche Szenarien einzubauen. Hier der Versuch von "Survival". Alle paar Runden werden neue Gegner am Rand der Map gespawnt, die Stärke und Anzahl der Gegner nimmt dabei zu.

Inzwischen gibt es Pixel-Tod auch für die bewegten Einheiten
Bild

Stammtisch? Wär fein, mal sehen obs klappt...
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Teleportieren war in der Umsetzung ziemlich kompliziert, bzw. hat einige bestehende Probleme aufgezeigt.

Für die Reichweite von Einheiten habe ich bislang einfach einen Kreis/Ellipse gezeichnet, aber dank der Höhenunterschiede auf dem Terrain ist das nicht genau genug. Das Teleportieren hat einen eingeschränkten Wirkungskreis, also musste ich eine neue Kreisfunktion schreiben die sich an das Terrain anpasst. Das führte schlussendlich dazu, dass ich eine Linienfunktion geschrieben habe die sich an das Terrain anpasst, die ich dann für den Kreis verwendet habe. Vermutlich nicht die polygonsparendste Lösung, aber es funktioniert gut genug für jetzt.

Alle Einheitendefinitionen befinden sich in JSON Dateien (mit etwas JS) und ich wollte keine Ausnahmen machen. Damit wäre das Spiel in Zukunft auch Modbar, bzw. die ganzen Einheiten sind eigentlich schon ein Mod.

Eine Beispieldefinition, von der 4-Kopf-Rad-Einheit aka Wheel.

Code: Alles auswählen

wheel:{
        //teleports friendly units
        class:"f",
        cap:-4,
        hp:30,
        move:2,
        vis:16,
        flag:ORGANIC,
        attitude:ATTI_PEACE,
        break:{
            img:vec2(16,16),
            va:0,
            vz:0
        },
        anim:{
            idle:{
                fps:4,
                img:vlist([16,16,16,16,16,17,18,19],16)
            },
            walk:{
                fps:4,
                img:vlist([16,17,18,19],16)
            },
        },
        pitch:[1.4,0.1],
        sound:womanSound,
        action:[
            {
                name:"teleport",
                desc:"move a friendly unit to a new position",
                limit:-1,
                live:1,
                action:(clickStore)=>{
                    //first value should be a friendly unit
                    let unit = clickStore[0];
                    //second value should be a grid
                    let cell = clickStore[1];
                    _em_.createOnBreak("disintegrate", unit);
                    unit.moveTo(cell.gpos);
                    _em_.createOnBreak("disintegrate", unit);
                    return true;
                },
                position:[
                    {friend:1, range:10, cb:(obj)=>obj.s==1 && !obj.fixed && !obj.dead, color:COL_RED },
                    {pos:0, range:10, outline: COL_RED, color: new Color(0,0.6,0)}
                ]
            }
        ],
        upgrade:[ bloodRestore ]
    }
Alle Aktionen müssen über die Konfiguration + Script gelöst werden können. Damit das Teleportieren geht, muss zuerst ein Subjekt ausgewählt werden und danach ein Ziel.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
War doch nicht immer korrekt mit meinen Ringberechnungen, irgendwie mehr Sonderfälle als mir lieb ist... aber es schaut jetzt ganz gut aus.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Es wird noch absurder?
Die "Spinne" kann den Boden mit Netzen bedecken die den Gegner verlangsamen sollen (noch ungetestet).
Der "Käfer" oben rechts soll als Transporter fungieren, ist noch nicht implementiert.
Creepy Feature-Creep!
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Ich kann jetzt einen Callback über beliebige Polygone auf meinem Grid ausführen. Die Idee: Grosse Gegnerangriffe werden mit einer Warnung an den Spieler angekündigt. Der Spieler kann/muss in den Pausen darauf reagieren. Das kann sein die Einheiten in Sicherheit bringen, oder den Auslöser der Attacke umbringen. Am liebsten würde ich noch die Damage-Zahl irgendwie anzeigen.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
schon mal nicht so schlecht als Test. Im Spiel wird sich so ein Bereich mit grosser Sicherheit nicht bewegen :)
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Ich kann jetzt ein Gebiet angreifen. Es zeigt mir den Schaden und wie viel Zeit bleibt an. Beim Auslösen des Schadens wird im Moment ein Default-Effekt ausgelöst. Es funktioniert, ausschauen tuts noch nicht so toll. Schön wäre es wenn der Schaden optional über eine Funktion gesteuert werden könnte, so dass z.B. ein Verlauf entsteht.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
War am Ende gar nicht so kompliziert. Ich muss einfach immer zwei Zeitschritte checken (den Letzten und den Aktuellen) um zu wissen ob ich den Effekt/Schaden auf einem gewissen Feld bereits gemacht habe.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2674
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Projekt: Blood of the Undead

Beitrag von Jonathan »

Sieht sehr dramatisch aus :)

Allerdings bin ich kein so großer Fan der Linien, ich finde den ersten Effekt mit nur dem drehenden Stern am besten. Vielleicht weil die Linien nicht genau über den Tiles liegen?
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Danke :)
Die Linien hat meine Freundin auch schon unschön gefunden. Der Gedanke war die Gefahr klar zu kennzeichnen, aber ich werde es mal ohne versuchen. Es passt schon nicht gut zum Rest.

Habe bemerkt, dass jede Einheit immer beschädigt wird die sich im Gefahrenfeld befindet. Das ist nun korrigiert und anscheinend ist es auch möglich durch das Feuer unbeschadet hindurchzulaufen. Vermutlich ist das noch Framerateabhängig, ansonsten fänd ich das eigentlich ziemlich cool.
Bild
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bin wieder mal am hadern mit dem Spielprinzip. Da ich mich im Kreis drehe und das nichts bringt, habe ich jetzt "Transporter" eingebaut. Es ist sogar jede Einheit ein Transporter, zum Test ganz praktisch.
Bild
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Der Transporter kann den Ausladebefehl erhalten bevor die Einheiten eingestiegen sind. Einzeln ausladen gibt es im moment nicht, dafür bräuchte es wieder eine UI Erweiterung.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Die Umwandlung ist geglückt! Wieder mal mit Boids gespielt, wieder mal finde ich es äusserst schwer gute Parameter zu finden.
scheichs
Establishment
Beiträge: 934
Registriert: 28.07.2010, 20:18

Re: Projekt: Blood of the Undead

Beitrag von scheichs »

Hehe. Geil! Aber ich habe immer noch massiv Probleme die Einheiten vorm Hintergrund/anderen Einheiten zu erkennen. Kannst Du vllt auch halbtransparente Outlines? Oder testweise mal alle Einheiten, die nicht aktiviert sind, mit einer schwarzen Outline machen?
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Kann ich als Option hinzufügen. Wie findest du das? (evtl. Bild in anderem Fenster öffnen, ist ein Fullscreen-Shot)
Bild
NytroX
Establishment
Beiträge: 410
Registriert: 03.10.2003, 12:47

Re: Projekt: Blood of the Undead

Beitrag von NytroX »

Wow, mit Konturen sieht es voll gut aus, gibt auch irgendwie insgesamt nochmal ein neues Feeling. Und erhöht die Übersicht. Nice.
Achso: dein Link scheint noch eine relativ alte Version zu sein, da sind noch so einige Bugs auch drin.
Machst du da irgendwann ein Update oder soll das mehr oder weniger nur eine Demo bleiben?
scheichs
Establishment
Beiträge: 934
Registriert: 28.07.2010, 20:18

Re: Projekt: Blood of the Undead

Beitrag von scheichs »

Ja, finds auch deutlich übersichtlicher. Der Look ändert sich zwar, die Figuren wirken jetzt etwas pummeliger/griffiger, finde es aber auch so ganz cool. Den Dropshadow hatse auch etwas stärker gemacht gell?
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Ich muss mich selbst noch daran gewöhnen, fand es vorher schöner. Aber es ist so schwer zu urteilen, da ich schon so lange was anderes gewohnt bin. Es wird auf alle Fälle mal so drin bleiben.

Der Schatten ist jetzt auch massiv dunkler, da alles jetzt 5 mal gerendert wird. ich hab mir schon überlegt ob ich die Umrisse vorberechnen sollte aber das wird nicht ohne Schwierigkeiten machbar sein.

Ich habe schon länger keine neue Version hochgeladen, da ich nie mehr auf einem Stand war der mir spielerisch gefiel.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Der weisse Kreis ist die Reichweite bisher. Beziehe ich das Terrain ein, ergibt sich ein anderes Bild. Ich wollte der Höhe einen strategischen Wert geben, ansonsten ist das unebene Terrain eigentlich ohne Sinn und Zweck. Aber ist sowas für einen Spieler verständlich, bzw. wie soll ich das nur gut visualisieren.

Ich tüftel schon viel zu lange an dieser Idee. Ich habe einen eigenen Algorithmus entwickelt um zu erkennen ob ein Ziel erreichbar ist. Ich habe erst danach Bresenham und Supercover ausprobiert. Hat alles nicht so wirklich befriedigende Ergebnisse ergeben. Das hier ist eigentlich auch nur eine Visualisierung der Idee. Ich überprüfe einen Kreis um die Einheit und verbinde vom Zentrum aus mit Bresenham.

Bild
Hier kann man auch sehen dass es nicht so gut funktioniert. Innerhalb vom weissen Kreis sollte alles was auf gleicher Ebene ist zumindest erreichbar sein, sofern nicht im Weg ist.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Ok... also es war gar nicht so falsch wie ich gedacht habe. Der Offset von der Bogenschützin ist irreführend. Sie steht schon eine Ebene tiefer. Ist jetzt korrigiert und das visuelle Debugging habe ich erweitert.
Bild
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Genug für heute, aber vielleicht ist das so brauchbar.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
In der Konfiguration ist es möglich eine minimal Distanz einzustellen für einen Angriff. So kann das Katapult eine gewisse Distanz für den Angriff nicht unterschreiten. Wie stark die Höhe/das Terrain die Reichweite beeinflusst ist ebenfalls einstellbar.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2674
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Projekt: Blood of the Undead

Beitrag von Jonathan »

marcgfx hat geschrieben: 26.05.2025, 01:47 Bild
Genug für heute, aber vielleicht ist das so brauchbar.
Witzig, als ich den Post 2 vorher gelesen habe, wollte ich spontan vorschlagen, statt dem Kreis einfach direkt die Tiles zu umranden, nur um dann festzustellen, dass du die selbe Idee hattest und schon umgesetzt hast :D
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
marcgfx
Establishment
Beiträge: 2184
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Den Kreis benutze ich weiterhin für gewisse Einheiten/Waffen. Nicht alle Projektile/Angriffe sind vom Terrain beeinflusst. Jetzt sollte es auch mit der Liniendicke einigermassen gut passen. Hauptschwierigkeit ist festzustellen welches Gebiet erreichbar ist, mal sehen ob es so funktioniert. Ausschauen tut es zumindest wie ich mir das vorgestellt habe.
Antworten