|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 29.02.2016, 12:34 Titel: |
|
|
Zitat: | Infanteristen mit Musketen | Gut, an Schusswaffen für die Fußtruppen hatte ich bis jetzt noch gar nicht gedacht, aber kein Problem: Eine geladene Muskete erweitert den Aktionsradius des Infanteristen auf ca. 100m, bei einer ungeladenen Muskete beträgt er 2m (Bajonett). Außerdem wäre dann eine zusätzliche Variable für die Art der Bewaffnung erforderlich -eine Muskete hat schließlich eine andere Wirkung als beispielsweise eine Hellebarde- und eine weitere für die Ladezeit.
Milizionäre haben entsprechend einen konstanten Aktionsradius von ca. 2m. Da es sich bei diesen (so meine Vorstellung) um zum Militärdienst gepresste Bauern handelt, schlecht ausgebildet und mit einer Motivation, die gegen Null geht, werden sie die Priorität eher auf die Erhaltung des eigenen Lebens setzen als auf die Bekämpfung des Feindes.
Zitat: | Was ich an deinen Code immer wieder vermisse ist die Spielerunterscheidung. | Aber es kämpfen doch immer nur 2 Armeen gleichzeitig gegeneinander, oder nicht? Eine Schlacht mit 3 oder mehr Kriegsparteien (gleichzeitig und jeder gegen jeden) wäre auch machbar, aber das entspricht doch eher nicht der Realität.
In diesem Modul kämpft eine Armee mit der Kennzeichnung "0" gegen eine andere Armee mit der Kennzeichnung "1" (Variable zugehoerigkeit). Zu welchen Kriegsherrn die Armeen dabei gehören, ist innerhalb des Moduls ohne Bedeutung.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Schnism
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 29.02.2016, 14:16 Titel: |
|
|
grindstone hat Folgendes geschrieben: | Aber es kämpfen doch immer nur 2 Armeen gleichzeitig gegeneinander, oder nicht? |
Das ist so. Aber es kann spieler 4 gegen spieler 6 spielen.
spieler 5 gegen spieler 2
Entsprechend muss doch 0 und 1 dem jeweiligen spieler zugeordnet werden?
Auch im Endresultat muss man doch wissen, wem die Gewinner oder Verliererarmee gehört
Oder wo vermisse ich da etwas? _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4648 Wohnort: ~/
|
Verfasst am: 29.02.2016, 15:30 Titel: |
|
|
Du kannst den Kriegsablauf soweit auslagern, dass zunächst einfach einmal zwei Armeen gegeneinander kämpfen, in der Regel ein Angreifer und ein Verteidiger (weil normalerweise einer der beiden versucht, sich Land des Gegners einzuverleiben). Dieser Programmteil (Unterprogramm) bekommt dann die Informationen geliefert, welche Armee mit wie vielen Truppen welcher Sorte am Kampf beteiligt ist, und am Ende der Kampfberechnung gibt er zurück, wer gewonnen hat und wer wie viele Truppen welcher Sorte übrig behält. Welche Truppen die unbeteiligten Spieler 3-6 besitzen, muss dann in diesem Programmteil nicht berücksichtigt werden.
Das Hauptprogramm ruft z. B. auf
Code: | angriff(spieler(4), spieler(6)) |
und meint damit, dass Spieler 4 den Spieler 6 angreift; im Unterprogramm nimmst es aber entgegen
Code: | SUB angriff(angreifer, verteidiger) |
womit die Daten von Spieler 4 in der Variablen 'angreifer' gespeichert werden und die Daten von Spieler 6 in der Variablen 'verteidiger'. (Mit Zuordnungen 0 und 1 ist es natürlich im Ablauf noch deutlich praktischer, braucht dann aber etwas Vorarbeit.)
Dem Unterprogramm ist damit egal, ob der Aufruf über 'angriff(spieler(4), spieler(6))' oder 'angriff(spieler(3), spieler(1))' oder sonst etwas lief - es weiß nur, welche Konstellation beim Angreifer herrscht und welche beim Verteidiger. Ich gehe bei diesem Vorschlag davon aus, dass 'spieler(x)' bereits sämtliche relevante Informationen über Spieler X enthält (siehe TYPE).
Mit einer FUNCTION statt einer SUB könnte man dann auch noch zurückgeben, ob das Gebiet erobert wurde oder verteidigt werden konnte.
Allerdings gab es beim Kaiser-Spiel noch die Möglichkeit, einen verbündeten angrenzenden Fürsten um Hilfe zu bitten, der dann (vielleicht) beim Angriff oder bei der Verteidigung geholfen hat. Ich kann mich jedoch nicht genau erinnern, wie das im Detail ablief. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 29.02.2016, 19:04 Titel: |
|
|
@nemored:
Danke, ich hätte es nicht besser erklären können!
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Schnism
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 01.03.2016, 11:37 Titel: |
|
|
ich "glaube", das habe ich verstanden ..
nemored hat Folgendes geschrieben: |
Allerdings gab es beim Kaiser-Spiel noch die Möglichkeit, einen verbündeten angrenzenden Fürsten um Hilfe zu bitten, der dann (vielleicht) beim Angriff oder bei der Verteidigung geholfen hat. Ich kann mich jedoch nicht genau erinnern, wie das im Detail ablief. |
Mein Original hatte diese Option nicht. Aber eine spätere hatte diese. Dort wurden die Landesgrenzen auch klar definiert und auch die "Durchmarscherlaubnis", wenn man kein direkt angrenzendes Land angreifen wollte, musste gegeben sein.
Der befreundete Fürst hat dann in Form bestehender Truppen ausgeholfen.
Diese Option ginge mir aber zu weit. _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 01.03.2016, 12:54 Titel: |
|
|
Ich habe gerade die UDTs, so wie ich sie mir gedacht hatte, fertiggestellt und mal kurz angetestet, ob die geplante Zuordnung wenigstens im Prinzip funktioniert. Ist noch ziemlich rudimentär, aber das, was da ist, macht genau was es soll. Code: | Type tPersonen
anzahl As Integer
kampfkraft As UByte
motivation As UByte
End Type
Type tHeer
milizen As tPersonen
infanteristen As tPersonen
kavalleristen As tPersonen
artilleristen As tPersonen
pferde As UInteger
schwerter As UInteger
hellebarden As UInteger
spiesse As UInteger
kanonen As UInteger
musketen As UInteger
pistolen As UInteger
lanzen As UInteger
End Type
Type tFeldherr
name_ As String
rang As UByte
kriegskasse As Integer
heer As tHeer
End Type
Dim As tFeldherr spieler(1)
Type tKrieger
zugehoerigkeit : 1 As UInteger '1 Bit: Freund = 0 / Feind = 1
typ : 2 As UInteger '2 Bits: Milizionär, Infanterist, Kavallerist oder Geschütz
'Bewaffnung --> je 1 Bit: 1 = Waffe vorhanden / 0 = Waffe nicht vorhanden
Schwert : 1 As UInteger
Hellebarde : 1 As UInteger
Spiess : 1 As UInteger
Muskete : 1 As UInteger
Pistole : 1 As UInteger
Lanze : 1 As UInteger
posx As Single 'x - Position auf dem Schlachtfeld
posy As Single 'y - Position auf dem Schlachtfeld
kampfkraft As UByte 'von 0 - 255
motivation As UByte 'bei Infanterie und Kavallerie von 0 - 255
ladezustand As UByte 'bei Artillerie, Muskete und Pistole in %
verwundung As UByte 'in %
End Type
Enum
miliz = 0
infanterie
kavallerie
artillerie
End Enum
'testarmeen erstellen
With spieler(0)
.name_ = "Feldherr 0"
.rang = 2
.kriegskasse = 150000
With .heer
With .milizen
.anzahl = 3
.kampfkraft = 50
.motivation = 10
End With
With .infanteristen
.anzahl = 100
.kampfkraft = 200
.motivation = 200
End With
With .kavalleristen
.anzahl = 100
.kampfkraft = 200
.motivation = 200
End With
With .artilleristen
.anzahl = 100
.kampfkraft = 200
.motivation = 200
End With
.pferde = 50
.schwerter = 200
.hellebarden = 60
.spiesse = 20
.kanonen = 0
.musketen = 120
.pistolen = 150
.lanzen = 200
End With
End With
With spieler(1)
.name_ = "Feldherr 1"
.rang = 2
.kriegskasse = 150000
With .heer
With .milizen
.anzahl = 3
.kampfkraft = 50
.motivation = 20
End With
With .infanteristen
.anzahl = 100
.kampfkraft = 200
.motivation = 200
End With
With .kavalleristen
.anzahl = 100
.kampfkraft = 200
.motivation = 200
End With
With .artilleristen
.anzahl = 100
.kampfkraft = 200
.motivation = 200
End With
.pferde = 50
.schwerter = 1
.hellebarden = 0
.spiesse = 1
.kanonen = 0
.musketen = 120
.pistolen = 150
.lanzen = 200
End With
End With
'krieger für die schlacht erstellen
ReDim As tKrieger krieger(0)
Dim As Integer maxanzahl, k
k = 0
For x As Integer = 0 To 1
'milizionäre
With spieler(x).heer
For y As Integer = 1 To .milizen.anzahl
If .schwerter + .hellebarden + .spiesse = 0 Then
Exit For
EndIf
k += 1
ReDim Preserve krieger(k)
krieger(k).zugehoerigkeit = x
krieger(k).typ = miliz
krieger(k).kampfkraft = .milizen.kampfkraft
krieger(k).motivation = .milizen.motivation
If .schwerter Then
krieger(k).schwert = 1
.schwerter -= 1
ElseIf .hellebarden Then
krieger(k).hellebarde = 1
.hellebarden -= 1
ElseIf .spiesse Then
krieger(k).spiess = 1
.spiesse -= 1
EndIf
Next
End With
Next
? UBound(krieger)
For x As Integer = 1 To UBound(krieger)
? x;" ";krieger(x).schwert;" ";krieger(x).hellebarde;" ";krieger(x).spiess;" ";krieger(x).motivation;" ";krieger(x).kampfkraft
Next
Sleep |
@Schnism:
Fall nicht vom Stuhl, ich kann das alles erklären! (Aber später)
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Zuletzt bearbeitet von grindstone am 02.03.2016, 01:24, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Schnism
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 01.03.2016, 20:07 Titel: |
|
|
IRRER IVAN!
Ausserdem kann das nicht tun, was es soll .. du hast nen Fehler drin:
Zitat: | ? x;" ";krieger(x).schwert;" ";krieger(x).hellebarde;" ";krieger(x).spiess;" ";krieger(x).motivation;" ";krieger(x).kampkraft |
Ok.. und was genau soll dieses Ding machen?
Die entsprechenden Soldatentypen mit den zugehörigen Waffen ausstatten? _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 02.03.2016, 11:50 Titel: |
|
|
Schnism hat Folgendes geschrieben: | du hast nen Fehler drin: | Wie man's nimmt. Dank fleißiger Benutzung von Copy & Paste bei der Programmerstellung steckt der Schreibfehler in allen Variablen (insgesamt 3mal), und dadurch funktioniert es wieder. Aber du hast Recht, ich habe den Fehler inzwischen korrigiert.
Zitat: | Ok.. und was genau soll dieses Ding machen?
Die entsprechenden Soldatentypen mit den zugehörigen Waffen ausstatten? | Genau. Das hier ist -wie gesagt- nur ein allererster Testlauf. Der nächste Schritt ist dann das Aufstellen der Kämpfer auf dem Schlachtfeld, und danach kommt die eigentliche Schlacht.
Aber ich hatte dir ja versprochen, daß du das Programm als Modul in dein QBasic - Programm einbinden kannst. Zur Demonstration habe ich das compilierte Programm einmal hochgeladen. Du kannst es dir herunterladen und mit diesem kleinen QBasic - Programm Code: | CLS
PRINT "bisheriges QBasic - Programm..."
PRINT
SHELL "C:\spiel\kr1.exe"
PRINT
PRINT "...Fortsetzung des QBasic - Programms"
| aufrufen und laufen lassen (den Pfad mußt du natürlich entsprechend anpassen).
Und dann habe ich noch zwei Fragen:
1) Du sagst, das Spiel ist für bis zu 6 Spieler. Sind das alles menschliche Spieler, oder übernimmt der Computer die restlichen 5? Oder einen? Tritt der Computer überhaupt als Mitspieler auf?
2) Wie groß ist bei dem Spiel, wie du es bisher benutzt hast, (ungefähr) die maximale Zahl der Soldaten auf dem Schlachtfeld (alles zusammen, von beiden Spielern)?
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Zuletzt bearbeitet von grindstone am 04.03.2016, 23:48, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Schnism
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 02.03.2016, 19:13 Titel: |
|
|
grindstone hat Folgendes geschrieben: |
Und dann habe ich noch zwei Fragen:
1) Du sagst, das Spiel ist für bis zu 6 Spieler. Sind das alles menschliche Spieler, oder übernimmt der Computer die restlichen 5? Oder einen? Tritt der Computer überhaupt als Mitspieler auf?
Bis dato kein Computer. Alles "ich" .. Spieler 1: ich, Spieler 2: ich ...
2) Wie groß ist bei dem Spiel, wie du es bisher benutzt hast, (ungefähr) die maximale Zahl der Soldaten auf dem Schlachtfeld (alles zusammen, von beiden Spielern)?
Es gibt bis dato keine Grenze an Soldaten. Die Grenze wird alleine durch das Geld bestimmt. Rekrutierung: teuer, Training: wucher. Sold: so lala. Da es bei mir (noch?) nicht möglich ist, Soldaten zu entlassen und damit Taler zu sparen, muss man sich überlegen, wieviele man hat und wieviel Sold man zahlen kann.
Gruß
grindstone |
Entgegen meiner Überzeugung, das euch das alles nichts angeht, was ich seit 30 Jahren im Herzen trage, hier das gesamte Spiel.
Und ich will KEIN! gemecker hören ..
KLICK _________________ "...nichts ist so schlimm wie mein programmcode!"
Zuletzt bearbeitet von Schnism am 03.03.2016, 13:02, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 955 Wohnort: Austria
|
|
Nach oben |
|
|
Schnism
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 03.03.2016, 13:02 Titel: |
|
|
St_W hat Folgendes geschrieben: | Schnism hat Folgendes geschrieben: | KLICK |
Der Server verlangt Benutzername + Passwort. |
Stimmt. hatte ein Ordner zu viel im Link und es als ftp Link gesetzt.. muss http sein..
Nun geht es.
@ Stone:
Du kannst die verteilung der Bewaffnung eigentlich rausnehmen, da ja nur "Bewaffnete" Soldaten in den Krieg ziehen können.
Man kann nur, wenn bewaffnung da ist, rekrutieren und somit sind das schon "fertige Soldaten" .. _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 04.03.2016, 23:47 Titel: |
|
|
Schnism hat Folgendes geschrieben: | Du kannst die verteilung der Bewaffnung eigentlich rausnehmen... | Im Gegenteil! Durch die flexible Bewaffnung bekommt der Spieler als Feldherr die Möglichkeit, die Fähigkeiten seiner Armee den aktuellen Erfordernissen anzupassen.
Ein Spiess beispielsweise, eine 6m lange, angespitzte Holzstange, ist eine billige und effektive Defensivwaffe gegen Kavallerieangriffe, während er gegen Fußtruppen und zum Angriff praktisch nutzlos ist.
Eine Hellebarde ist teurer, kann aber für alle Zwecke eingesetzt werden. Sie hat eine größere Reichweite als ein Schwert, ist aber schwerfälliger in der Handhabung.
Ein Schwert hingegen ist gegen einen Reiter mit Lanze im Nachteil.
Eine Muskete als teuerste Infanteriewaffe ist auf große Entfernungen gegen alle Ziele einsetzbar, solange sie geladen ist. Eine ungeladene Muskete (mit Bajonett) ist gegen alle Hiebwaffen im Nachteil usw.
Daraus und aus der ganz bewusst geschaffenen Möglichkeit, jeden Soldaten mit mehreren Waffen auszustatten, ergibt sich eine große Zahl möglicher Kombinationen, mit der ein geschickter Feldherr auch mit einer zahlenmässig unterlegenen Armee einen Krieg gewinnen kann. Deshalb auch meine Frage nach dem Computer als Gegner. Man hätte ihm dann nämlich -zumindest in einem gewissen Umfang- künstliche Intelligenz verleihen müssen. Aber das können wir ja erst einmal außen vor lassen.
Aktuell arbeite ich an der Aufstellung auf dem Schlachtfeld und der Bewegung der einzelnen Objekte.
Zitat: | Und ich will KEIN! gemecker hören .. lachen | Wir meckern NIEMALS! Wir geben nur wertvolle Ratschläge, wie man es hätte besser machen können.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 05.03.2016, 11:38 Titel: |
|
|
2. Entwicklungsschritt: Platzierung der Objekte auf dem Schlachtfeld und (sehr) einfache Bewegung. Kontrolldarstellung auf einem Grafikscreen.
Die Objekte bewegen sich mit einer zufällig generierten individuellen Geschwindigkeit, die um 2% variiert.
Quellcode
lauffähige .exe - Datei
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Schnism
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 05.03.2016, 14:28 Titel: |
|
|
Und dazu willst du eine Kollisionsabfrage machen? Wobei das unsinn "wäre" .. keiner würde am anderen vorbeirennen.
D.h. eigentlich würden sie zueinander laufen/rennen/reiten und vom rand wird in die mitte geschossen ..
Hier ist (noch?) keine Unterscheidung der unterschiedlichen Einheiten drin.. korrekt? _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 06.03.2016, 02:24 Titel: |
|
|
Zitat: | Und dazu willst du eine Kollisionsabfrage machen? | Gemach, gemach, so weit sind wir noch nicht. Das war zunächst einmal eine einfache eindimensionale Bewegung. Der nächste Schritt ist eine Erweiterung der Bewegung auf zwei Dimensionen mit Erkennen der Schlachtfeldgrenzen. Das funktioniert mittlerweile.
Als nächstes soll das Objekt nun die Fähigkeit bekommen, seine Umgebung zu erkennen: Freund/Feind, mit Entfernung und Richtung. Das erfordert den Umgang sowohl mit Polar- als auch mit kartesischen Koordinaten.
Vielleicht sollte ich mein Konzept einmal etwas näher erläutern: Während in dem Programmstück, das du gepostet hattest, immer ganze Abteilungen gegeneinander antreten und neben Mannschaftsstärke und Kampfkraft im wesentlichen der Zufallsgenerator über Sieg oder Niederlage entscheidet, ist bei mir jedes Objekt (sprich: jeder Soldat) eine selbständig handelnde Einheit, die aufgrund der zur Verfügung stehenden Informationen (eigene und gegnerische Bewaffnung, Bedrohungslage, Erfolgsaussichten bei Angriff oder Verteidigung usw.) unter Berücksichtigung der weiter oben aufgestellten Regeln entscheidet, was sie als nächstes tut.
Programmtechnisch sieht das so aus, daß in einer zufällig generierten Reihenfolge jedes Element des Arrays krieger() einmal aufgerufen wird und dann besagte Entscheidung trifft und entsprechend handelt (Vorrücken, Angriff oder Rückzug). Ein eventuell angegriffenes Objekt verteidigt sich entsprechend seiner Möglichkeiten, jeder Kampf ist also, unabhängig von der Gesamtzahl der Krieger, immer nur eine Situation Mann gegen Mann, davon aber ganz viele (Deshalb auch meine Frage nach der maximal zu erwartenden Anzahl von Soldaten, da ich natürlich auch bei einem modernen PC die verfügbare Prozessorleistung im Auge behalten muß). Das wird solange wiederholt, bis entweder der Tag vorbei oder die Schlacht entschieden ist.
Soweit meine Grundidee von einer "echten" Simulation. Und ehrlich gesagt: Ich bin selber gespannt, was am Ende dabei herauskommt.
Gruß
grindstone
Ach ja: Zitat: | Hier ist (noch?) keine Unterscheidung der unterschiedlichen Einheiten drin.. korrekt? | Richtig! Da es hier nur um die Bewegung als solche geht, habe ich der Einfachheit halber ausschließlich Milizen generiert. _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Schnism
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 06.03.2016, 09:00 Titel: |
|
|
grindstone hat Folgendes geschrieben: |
Soweit meine Grundidee von einer "echten" Simulation |
Hier allein kommen wir in den Part: unendliche Variationen.
Grund: Taktik! Die sollten wir aussen vor lassen.
Ich empfinde deine Variante (also rein für mich .. ) schon "am ziel vorbeigeschossen"
Ich mache da weiter mit.. aber je weiter du separierst, desto weiter bin ich von dem Ganzen entfernt
Achja: der Zufall ist der Begleiter des Lebens. Vorallem im Chaos eines Krieges. Dort gibt es keine "klaren Variablen" .. alles unterliegt dem zufälligen Ereignis. (Ein Stein auf dem Boden bringt einen Soldaten zum stolpern, wobei sich ein Schuss löst und ins eigene Munitionslager triffft, dass daraufhin explodiert und trotz überlegenheit aber keiner Minution ist der Krieg dann verloren)
Deshalb mag ich den Zufall ja so andernfalls wäre es reine Berechnung.
Wähle den Zufall als Ausgleich für die Taktik ? Er MUSS rein. Erinnere dich an David und Goliath. _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4648 Wohnort: ~/
|
Verfasst am: 06.03.2016, 11:29 Titel: |
|
|
Der Zufall wird auch bei einer "echten Simulation" immer mit eingebaut werden; jedoch kannst du dann mit einer guten Taktik (ggf. auch mit geringerer Truppenzahl) mehr erreichen als der Gegner.
Ein Einwurf meinerseits: Kaiser ist im Original kein Kriegssimulationsspiel; auch wenn man seine Vorherrschaft durch Kriegszüge stärken kann - bzw. den größten Konkurrenten zu schwächen versuchen kann - haben sie in meinen Spielen eine recht untergeordnete Rolle gespielt. Obwohl, manchmal habe ich ziemlich kriegerisch gespielt und vier oder fünf Angriffe in einem einzigen Spiel gemacht.
Das heißt nicht, dass man in der "Neufassung" nicht mehr Wert darauf legen dürfte; aber der Spielcharakter ändert sich dann halt. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 06.03.2016, 16:29 Titel: |
|
|
Das ist in meiner knapp gehaltenen Beschreibung vielleicht etwas missverständlich rübergekommen: Natürlich habe ich nicht vor, ohne Zufälle zu arbeiten. Der Zufallsgenerator soll an geeigneter Stelle die Unwägbarkeiten des realen Lebens simulieren, beispielsweise dadurch, daß die Kampfkraft oder die Fortbewegungsgeschwindigkeit eines Objektes bei jedem Aufruf um etwa 5% variiert.
Obwohl -da alle Objekte aufeinander reagieren- meiner Einschätzung nach schon die zufällige Reihenfolge des Aufrufs ausreichen müsste, um das gewünschte Chaos zu erzeugen: Schon bei einer Anzahl von 100 Objekten gibt es hier knapp 10^158 Möglichkeiten, und das bei jedem Durchgang neu.
Schnism hat Folgendes geschrieben: | Taktik! Die sollten wir aussen vor lassen. | Warum? Das macht die Sache doch erst richtig interessant. Wobei ich dir soweit zustimme, daß es sinnvolle Vorgabewerte geben sollte, so daß man Parameter einstellen kann, aber nicht muss.
nemored hat Folgendes geschrieben: | Kaiser ist im Original kein Kriegssimulationsspiel | Das Modul, das hier gerade entsteht, ist auch nur Teil (bzw. soll es noch werden) einer insgesamt recht beeindruckenden Wirtschaftssimulation. Dabei habe ich im Hinterkopf, daß es sich vielleicht einmal als Teil eines Baukastensystems auch in andere Programme einbinden oder mit einem passenden Frontend (brauche ich zum Testen sowieso) alleine spielen lässt.
"Kaiser" kenne ich nicht, aber ich habe seinerzeit recht intensiv "Defender of the Crown" gespielt, das scheint ja etwas ähnliches zu sein.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4648 Wohnort: ~/
|
Verfasst am: 06.03.2016, 18:58 Titel: |
|
|
Dummerweise kenne ich "Defender of the Crown" nicht aber es scheint mir doch ein deutlich anderes Spielprinzip zu sein. Bei "Kaiser" geht es letztendlich darum, genug Gunst zu sammeln, um zum neuen Kaiser gewählt zu werden - das geschieht in erster Linie durch den Kauf neuer Ländereien, die Sicherung der Nahrungsversorgung (Gesundheit und Zufriedenheit der Bevölkerung regelt den Bevölkerungszuwachs) und Einkommenssicherung (Erträge aus Mühlen und Verkauf überschüssigen Korns sowie Steuern). Gewinnen kann man auch ganz ohne Krieg zu führen. Natürlich ist es trotzdem hilfreich, eine Armee zu unterhalten, wegen der bösen Nachbarn und so - aber mit einer hohen Bevölkerung hat man auch einiges an Milizen, und wenn man nur die Heimat verteidigen will, braucht man nicht mehr allzu viel Zusatzheer.
Ich würde "Kaiser" nicht gerade als Vorläufer der "Total War"-Reihe bezeichnen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 06.03.2016, 22:14 Titel: |
|
|
Dann ist "Kaiser" wohl eher wie "Die Fugger". Das habe ich auch gespielt, allerdings nicht ganz so häufig. In "Defender of the Crown" geht es darum, zur Zeit von Richard Löwenherz "böse" Normannen aus England zu verjagen.
Na gut, dann werde ich mal weiter daran arbeiten, meinen Kriegern hier zielgerichtetes Laufen beizubringen.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|