Projekt: Blood of the Undead

Benutzeravatar
marcgfx
Establishment
Beiträge: 2173
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: 2173
Registriert: 18.10.2010, 23:26

Re: Projekt: Blood of the Undead

Beitrag von marcgfx »

Bild
Laufanimationen
Benutzeravatar
marcgfx
Establishment
Beiträge: 2173
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: 5171
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: 140
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: 2173
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: 2173
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: 2173
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: 2173
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: 2173
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: 2173
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: 2173
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: 2173
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.
Antworten