Dieses Forum nutzt Cookies
Dieses Forum nutzt Cookies um Anmeldeinformationen (keine Passwörter) zu speichern. Dabei werden diese Informationen als kleine Textdateien auf deinem Endgerät abgelegt. Sie können nur durch dieses Forum ausgelesen werden und stellen kein Sicherheitsrisiko dar. Neben deinem letzten Login wird auch abgespeichert, welche Themen du bereits gelesen hast.

Zudem wird ein Cookie angelegt, in dem abgespeichert wird, ob du diesen Hinweis gelesen hast. Damit wird er nicht jedes mal angezeigt.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
BogonAI: Wenn die KI anfängt zu trollen
Verfasser Nachricht
Knogle
Gleisarbeiter
*

Beiträge: 5
Registriert seit: Apr 2015
Beitrag #1
BogonAI: Wenn die KI anfängt zu trollen
Hallo Freunde,

Wer kennt es nicht, aus den alten Zeiten, wenn die KI einem eine Ressource wegschnappen will, baut man einfach was hin.
Wenn die Züge zu produktiv sind, baut man ein Depot ans Kopfende es Bahnhofs, und lässt eine Lok mit dem Zug zusammenstoßen.

Oder die gegnerischen Fahrzeuge welche mal wieder zu zahlreich unterwegs sind blockiert man mit einem Zug, und lässt die mit einem 2. Zug reihenweise zerstören.

Ich habe mir als Spaßprojekt es einfach mal vorgennommen und ausprobiert, eine KI zu schaffen die genau dieses Verhalten der menschlichen Spieler, mal selber umsetzt. Den Spieß also mal umdreht.

Ist nichts ernstgemeintes, aber vielleicht "just another AI..."


Viele Grüße, rechne mit einem Release in kommender Zeit Lächeln

Ein kleiner Auszug.

Code:
function SabotageCompetitor() {
        // 1) Irgendeinen Gegner auswählen
        local companies = AICompanyList();
        local target_companies = [];
        foreach (company_id in companies) {
            if (company_id != AIOwnCompany.GetCompanyID()) {
                target_companies.append(company_id);
            }
        }
        if (target_companies.len() == 0) {
            // Keine Gegner vorhanden, nichts zu tun
            return;
        }
        
        local victim = target_companies[AIUtility.RandomRange(0, target_companies.len())];

        // 2) Finde eine Stadt, in der der Gegner aktiv ist
        local towns = AITownList();
        if (towns.len() == 0) return;
        local random_town = towns[AIUtility.RandomRange(0, towns.len())];

        // 3) Versuche z. B. in der Nähe der Stadt Gleise zu bauen, die den Gegner blockieren
         // Wir versuchen rund um dieses Feld ein paar Gleiskacheln zu setzen,
        // um den Gegner zu ärgern.

        local tile_list = AIRail.GetNearbyTiles(pos, 6);
        // tile_list enthält Kacheln rund um pos in einem Radius von 6 Feldern (nur Beispiel).
        
        // Baue Gleise auf einigen zufälligen Feldern in diesem Umkreis
        foreach (tile in tile_list) {
            // Prüfe, ob wir hier bauen können
            if (AIRail.CanBuildRail(tile, RAILTYPE_RAIL, AIMap.GetTileSlope(tile), 0)) {
                // Versuche zu bauen (Bridges/Tunnel ignorieren wir hier)
                // Hier nur 0x0-Layout (gerade Kachel)
                try {
                    AIRail.BuildRail(tile, RAILTYPE_RAIL, AIMap.GetTileSlope(tile), 0);
                } catch (e) {
                    AILog.Warning("Konnte Gleis nicht bauen: " + e);
                }
            }
        }

        // 4) Depots bauen, um evtl. gegnerische Züge zu crashen, wenn sie sich verbinden
        //    Dazu brauchen wir ein Gleis-Layout, das in den Schienen des Gegners mündet.
        this.RandomlyPlaceDepots(tile_list);

        // 5) Ähnlich kann man Straßen bauen, um gegnerische Fahrzeuge zu behindern.
        //    Ggf. Depots mitten auf Straßen, etc.
        //    Hier nur ein Dummy:
        this.RandomlyPlaceRoads(pos, 4);
    }
(Dieser Beitrag wurde zuletzt bearbeitet: 19.03.2025 18:29 von Knogle.)
19.03.2025 18:28
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Roman
Forum-Team
*****

Beiträge: 941
Registriert seit: Jan 2004
Beitrag #2
RE: BogonAI: Wenn die KI anfängt zu trollen
Lustige Idee! großes Grinsen Ich finde ja solche Spielereien immer ganz interessant, speziell wenn sie eine besondere Herausforderung bieten. Bin gespannt, wie gut das funktioniert und ob man dem in allen Fällen effektiv zuvorkommen kann!

Die Liste an Sabotagemöglichkeiten ist lang... Zwinkern

[Bild: titels.png]
20.03.2025 10:08
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Warum einfach, wenn's auch . Sgt. Pepper 4 3.158 21.02.2006 16:23
Letzter Beitrag: Bernhard

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste