![Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht](misc/logos/logo.png) |
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 |
nemored
![](images/avatars/18585278245ddb8b9d8710.png)
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 25.03.2016, 17:47 Titel: |
|
|
Ich habe mir den Quellcode noch kaum (also fast gar nicht) angesehen, aber ich könnte mir vorstellen, dass schon eine kleine Übermacht in einem Teilgebiet deutliche Kampfvorteile besitzt. Da prügeln ja mehrere Pixel gemeinsam auf einen einzelnen Gegner ein, wodurch der schnell zu Boden geht und in der vorherigen Zeit kaum Schaden anrichten kann. Für das Gesamtschlachtfeld heißt das dann, dass aus einer kleinen Übermacht durch effektivere Gegner-Eliminierung schnell eine größere wird und aus der dann eine noch größere. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 26.03.2016, 01:30 Titel: |
|
|
Schnism hat Folgendes geschrieben: | Ich habe mir das nun 20 minuten angeschaut. | Hat irgendwie was meditatives, nicht wahr?
Zitat: | "Knappe" Ausgänge scheint es in der reinen Zufallsberechnung nicht zu geben?? Woran liegt das? | Das liegt daran, daß die Anfangsstärke der Armeen ebenfalls zufällig ist (für beide Seiten getrennt). Wenn beide Armeen am Anfang gleich groß sind, bleiben auch bei 2 x 10000 Kriegern selten mehr als 100 übrig.
@nemored: Stimmt. Den gleichen Effekt hat es auch, wenn ich die beiden Armeen mit Waffen von unterschiedlicher Reichweite ausstatte, beispielsweise die eine mit Schwertern (1m Reichweite) und die andere mit Hellebarden (2m Reichweite). Da gewinnen immer die Hellebarden. Dafür ist zum Ausgleich die Latenzzeit gedacht, so daß man mit dem Schwert jede Sekunde einmal zuschlagen kann, mit der schwerfälligeren Hellebarde nur alle 2 Sekunden. Bin mal gespannt, wie sich das in der Praxis auswirkt.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 02.04.2016, 11:20 Titel: |
|
|
Hallo allerseits!
Ich denke, es ist wieder mal Zeit für einen kleinen Zwischenbericht.
Quellcode
.exe
Wie man sieht, habe ich das Konzept ein wenig geändert: Alles, was den Krieger als handelndes Objekt betrifft, habe ich in den (die? das?) UDT verlagert, einschließlich des Arrays krieger(). Die Logik, daß das Array der UTDs seinerseits Bestandteil des UDT ist, ist zwar etwas gewöhnungsbedürftig, aber es funktioniert und erleichtert die Handhabung ungemein.
Das Hauptprogramm ist quasi der Vorgesetzte, der die Befehle gibt, Kommunikationskanal in beide Richtungen ist die Function "befehl".
Ebenfalls neu ist ein Array von Tabellen mit Offsetwerten für konzentrische Kreise, die zu Beginn des Programms berechnet werden, mithilfe derer das Objekt seine Umgebung in einem bestimmten Umkreis durchsuchen kann.
Falls jemand eine einfachere Möglichkeit kennt, dynamische Arrays zu verschachteln: Bitte melden!
Die Demo ist diesmal nicht besonders spektakulär, jeder Krieger bekommt "nur" den Befehl, 100m vorzurücken.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Schnism
![](images/avatars/669524975416d101427814.gif)
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 02.04.2016, 17:58 Titel: |
|
|
Da steig ich aus .. kann nicht folgen
Trotzdem: weitermachen ![happy](images/smiles/icon_happy.gif) _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 02.04.2016, 18:22 Titel: |
|
|
Keine Sorge. Die Benutzung und das Einbinden in andere Programme -auch QB- wird nachher ganz einfach. Versprochen.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Schnism
![](images/avatars/669524975416d101427814.gif)
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 11.04.2016, 15:23 Titel: |
|
|
Mal Schubs ![lächeln](images/smiles/icon_smile.gif) _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 12.04.2016, 07:34 Titel: |
|
|
Ja, ja, ja.....!
Das Problem des Festlaufens einzelner Kriegergruppen habe ich nun endlich gelöst (der Teufel steckt im Detail). Jetzt muß ich die richtige Balance von Angriffs- und Verteidigungswirkung der einzelnen Waffen finden. Ist 'ne echte Fleißarbeit.
Hier als kleine Demo eine Gruppe von 500 Musketieren (Reichweite 400m, Schussfolge 20s) gegen 1600 Hellebardenträger (Reichweite 2m, Schlag-/Stoßfolge 2s).
Quellcode
.exe
Wie man sieht, ist der Schlachtausgang stark von den Dimensionen des Schlachtfeldes abhängig.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Schnism
![](images/avatars/669524975416d101427814.gif)
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 12.04.2016, 11:21 Titel: |
|
|
Sau gut.. das mag ich das sieht gut aus.
Ist denn jeder Schuss ein Treffer? Das ist mit damaligen Waffen auf 400 Meter doch eher... unmöglich.
Im Wilden Westen schon mit den besseren Waffen kamen sie auf 250 Meter
Musketen maximal bis 300 Schritt. (ein Schritt waren damals glaube ich bis 80 cm)
setz mal 200 Meter an. _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Elor
Anmeldungsdatum: 12.07.2013 Beiträge: 205 Wohnort: Konstanz
|
Verfasst am: 12.04.2016, 13:01 Titel: |
|
|
Also wenn ich euch wäre dann würde ich doch mal einen Aufruf starten und zwar dahingehend wer Lust hat sich am der Entwicklung zu beteiligen. Ich selber kenne das Spiel nur vom Hören sagen, hab aber mal nachgelesen um was es da geht, der Krieg steht da ja nicht im Vordergrund. Ich hab ja schon erwähnt das ich keine Erfahrung mit Spielen und deren Programmierung hab, deshalb wäre ich kein guter Projektpartner. Es muss doch aber noch Leute mit Spiele Programmiererfahrung geben der z.B. mal das Menüsystem entwerfen kann, oder die Grafik mit einer definierten Schnittstelle auf die das Kampfsystem zugreifen kann.
grindstone hat Folgendes geschrieben: |
Keine Sorge. Die Benutzung und das Einbinden in andere Programme -auch QB- wird nachher ganz einfach. Versprochen.
|
Hm... Operatoren, Properties, SUB und Function in UDT in Qbasic/QuickBASIC ? Ich hab jetzt Grad kein zugriff auf QB/QuickB Hilfesysteme aber ich glaube da hast du dir ein ganz großes Stück Arbeit vorgenommen . |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
nemored
![](images/avatars/18585278245ddb8b9d8710.png)
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 12.04.2016, 14:25 Titel: |
|
|
Was mir gerade so bei den Tests auffällt ist, dass sich der Kampf immer sehr links- bzw. rechtslastig zu entwickeln scheint - links sammeln sich die überlebenden grünen und rechts die überlebenden weißen (die dann natürlich anschließend nach links laufen, um die grünen anzugreifen). Ob das an der Startverteilung oder am Gegnersuch-Algorithmus liegt oder etwas anderem, habe ich noch nicht geschaut. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 13.04.2016, 10:46 Titel: |
|
|
Schnism hat Folgendes geschrieben: | Sau gut.. das mag ich grinsen das sieht gut aus. | Ja, ich kann da auch stundenlang zusehen. Vielleicht sollte man das ausgliedern und als animiertes Mandala anbieten...
Zitat: | Ist denn jeder Schuss ein Treffer? | Bis jetzt ja, aber das ist natürlich (noch) nicht richtig. Die Waffenwirkung hat ja zwei Komponenten: Erstens, ob der Schuss/Schlag/Stoß überhaupt eine Wirkung hat oder danebengeht bzw. abgewehrt wird, und zweitens, wenn er trifft, wie stark die Verwundung dann ist. Das Erste ist eher von der Kampfkraft (=Ausbildung, Motivation) abhängig, das Zweite eher vom Zufall.
Und dann müsste eigentlich für jede denkbare Kombination von Angriffs- und Verteidigungswaffe ein eigenes Stärkeverhältnis festgelegt werden. Das wäre ein enormer Programmieraufwand, und ich weiß auch nicht, ob meine Kenntnisse über spätmittelalterliche Waffentechnik ausreichen, um da wirklich realistische Werte hinzukriegen.
Das Ganze ist doch etwas komplexer, als ich anfangs angenommen hatte. Aber der Mensch wächst ja bekanntlich an seinen Aufgaben.
@Elor:
Am Anfang dieses Threads kannst du nachlesen, daß es hier eigentlich darum geht, eine recht umfangreiche Wirtschaftssimulation im beschränkten Speicher von QB unterzubringen. Und die Sektion "Krieg" ist ein eher unbedeutender Teil dieses Programms, aber er passt nun mal nicht in den Speicher. Also hatte ich mir als (eine mögliche) Lösung ausgedacht, daraus ein eigenständiges Programm (.exe) zu machen, das vom QB - Hauptprogramm per SHELL - Befehl aufgerufen wird und nach Beendigung die Kontrolle wieder zurückgibt. Die erforderlichen Daten werden - so meine derzeitige Planung - in einer gesonderten Datei übergeben. QB selbst hat also mit den ganzen "modernen" Programmiertechniken gar nichts zu tun.
Vielleicht sollte man die Schlachtensimulation ganz offiziell zum Projekt erheben. Die Aufrufzahlen für diesen Thread sind zwar schon recht beachtlich, aber mit einem aussagekräftigen Titel könnte man sicherlich einen noch größeren Kreis von Interessierten ansprechen.
@nemored:
Der Hang, zu einer Seite zu laufen, dürfte mit der Startaufstellung zu tun haben. Die geht in Blickrichtung zum Feind jeweils von links nach rechts und von hinten nach vorne, so daß eine angefangene Reihe immer auf den linken Seite steht. Und da dort die eigene Kampfkraft größer ist als die des Feindes, ist es nur logisch, daß die Krieger auf dieser Seite weiter vorstoßen.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Zuletzt bearbeitet von grindstone am 13.04.2016, 13:00, insgesamt einmal bearbeitet |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Elor
Anmeldungsdatum: 12.07.2013 Beiträge: 205 Wohnort: Konstanz
|
Verfasst am: 13.04.2016, 12:52 Titel: |
|
|
Manchmal komm ich mir vor wie ein Unruhestifter, dass ist aber nicht meine Absicht. Ich weiß schon um was es hier geht, ich kann ja lesen . Nur, macht es Sinn, ein und das selbe Programm auf zwei verschiedene Programmiersprachen zu verteilen?
Zitat: |
Vielleicht sollte ich die Schlachtensimulation ganz offiziell als Projekt vorstellen. Die Aufrufzahlen für diesen Thread sind zwar schon recht beachtlich, aber mit einem aussagekräftigen Titel könnte man sicherlich einen noch größeren Kreis von Interessierten ansprechen.
|
Halte ich für eine gute Idee, denn der aktuelle Thread Titel lässt ja nicht gerade darauf schließen, dass hier eine Wirtschaftssimulation entwickelt wird.
Ab jetzt werde ich mich hier im Forum mit Kommentaren raus halten! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 13.04.2016, 13:13 Titel: |
|
|
Elor hat Folgendes geschrieben: | Manchmal komm ich mir vor wie ein Unruhestifter, dass ist aber nicht meine Absicht | Falls das als Kritik rübergekommen sein sollte, bitte ich um Entschuldigung, das war ganz und gar nicht so gemeint, ich wollte lediglich meinen Gedankengang erläutern.
Zitat: | Nur, macht es Sinn, ein und das selbe Programm auf zwei verschiedene Programmiersprachen zu verteilen? | Eigentlich nicht, aber Schnism möchte nun mal sein QB behalten, was ich ein Stück weit verstehen kann. Und was schadet es, ein Modul zu programmieren, das sich in die verschiedensten Anwendungen einbinden lässt?
Zitat: | Ab jetzt werde ich mich hier im Forum mit Kommentaren raus halten! | Tu das nicht! Jeder Kommentar ist willkommen!
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Schnism
![](images/avatars/669524975416d101427814.gif)
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 13.04.2016, 13:37 Titel: |
|
|
Elor hat Folgendes geschrieben: |
Ab jetzt werde ich mich hier im Forum mit Kommentaren raus halten! |
Erst damit wirst du zum Unruhestifter Du bleibst: Fertig!
Elor. .. wenn ich anfangen würde, grindstone seine Arbeit zu kommentieren (denn das kann ich.. ideenreich, art und weisen und dergleichen. Bei mir hapert es ausschliesslich an einer strukturierten Umsetzung ! )
hätte er keine Freude mehr am Projekt ..deshalb lass ich ihn auch machen und frage nur kleinigkeiten ab. Das Gros der Fragen kommt, wenn das Ding fertig ist
Hab den Titel mal geändert.. _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 14.04.2016, 09:12 Titel: |
|
|
Zitat: | Das Gros der Fragen kommt, wenn das Ding fertig ist | Au ha! Da kann ich mich ja auf was gefasst machen!
Zitat: | Hab den Titel mal geändert | Gute Idee. Was hältst du als Initiator davon, das hier als richtiges Projekt weiterzuführen?
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Schnism
![](images/avatars/669524975416d101427814.gif)
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 14.04.2016, 09:39 Titel: |
|
|
Den "Krieg" oder das gesamte Programm?
KAISER gibt es ja so oft als Clone oder Rebuild.
Mir geht es dabei immer um die Erweiterbarkeit.
Oft in Spielen habe ich so viele Ideen die man einbauen könnte, daher möchte ich ja eigentlich ein entspannt veränderliches Game.
Stell es ruhig ein. Im Grunde habe ich den Code und den Inhalt auswendig gelernt in den letzten Jahrzehnten, was im grunde bedeutet, auch ich "kupfere" nur ab. ![lächeln](images/smiles/icon_smile.gif) _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 14.04.2016, 10:26 Titel: |
|
|
Ich dachte dabei erst mal nur an das Schlachtenmodul, also "Krieg". Das dürfte für den Anfang genug Arbeit sein.
Wenn das dann irgendwann funktionier(en soll)t(e), kann man das Projekt ja erweitern, vielleicht auch die anderen Programmteile in solche Module packen und eventuell -ich spinne mal ein wenig in die Zukunft- ein universelles Baukastensystem für Simulationsspiele erstellen.
Zitat: | Stell es ruhig ein. | Gut, dann werde ich mal alles vorbereiten. Unter welcher Lizenz soll das Projekt laufen? Und was ist mit deinem QB - Quelltext? Darf der mit auf die Projektseite, und wenn ja, unter welcher Lizenz?
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Schnism
![](images/avatars/669524975416d101427814.gif)
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 14.04.2016, 20:21 Titel: |
|
|
Du kannst ja Fragen stellen..
Auf die Schnelle: FreeBASIC-Portal-Standardlizenz oder die GPL ..
Du kannst den gesamten Code gerne dazu tun. Wer weiss, ob da überhaupt mehr als 3 Leute durchsteigen (ich kenne meine GOTO Zeilensprünge auswendig ) _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 15.04.2016, 10:40 Titel: |
|
|
Zitat: | Du kannst ja Fragen stellen.. | Da ich nicht der alleinige Urheber bin, muß ich das fragen. Wäre LGPL auch in Ordnung? (ist mir sympathischer)
Zitat: | Wer weiss, ob da überhaupt mehr als 3 Leute durchsteigen | Na ja, zur Not kann es immer noch als abschreckendes Beispiel dienen. Und immerhin: Es funktioniert ja!
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Schnism
![](images/avatars/669524975416d101427814.gif)
Anmeldungsdatum: 13.10.2004 Beiträge: 58 Wohnort: Schweiz
|
Verfasst am: 15.04.2016, 19:39 Titel: |
|
|
Zitat: | Wäre LGPL auch in Ordnung? (ist mir sympathischer) |
Tu, was du denkst, was für alle das Beste ist. _________________ "...nichts ist so schlimm wie mein programmcode!" |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
|
|
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.
|
|