Ich habe ja in den letzten Jahren mehrere Projekte mit Pascal gemacht und musste da auch erstmal wieder umdenken. Hier jetzt gefühlt 1000 Mal richtig gemacht und dann, wenn ich müde oder nicht ganz bei der Sache bin, schleicht es sich doch wieder ein.
Level-/Karteneditor für Historyline 1914-18
-
-
if (Field.Part = 0x0C)
Sowas beanstanden die Compiler nicht, ist mir vor allem anfangs bei c++ passiert.
Basic arbeitet überall mit = , da muss man sich erstmal umgewöhnen.
Änderungen schreibe ich aber auch oft am Funktions Anfang oder da wo Änderungen waren. Oft auch so das ich es über Suchbegriffe schnell finde während der Überarbeitung.
Korrektur: nicht alle oder alte Kompiler beanstanden das nicht - ich hab gcc 13.2 und clang 17.0.6 genutzt - beide haben es gemeldet
Clang: https://gcc.godbolt.org/z/GTKbcEPc5
GCC: https://gcc.godbolt.org/z/db3dT5PeK (mit -Wall)
MSVC: https://gcc.godbolt.org/z/hKKsn5Pvz (mit -Wall)
Warning level eben immer schön hoch und Warnungen nicht ignorieren -
Was hältst Du denn von der Idee, das HQ, Depot und Fabrik mit einem Klick komplett fertig auf die Karte setzen zu können? Also nicht immer die vier/sechs Teile einzeln auswählen zu müssen. Man wählt zum Beispiel den jeweiligen Eingang aus und klickt dann z.B. rechts auf die Karte an die gewünschte Stelle. Statt nur dem Feld Eingang würden dann direkt alle benötigten Felder gesetzt.
-
Danke Dragonsphere, es funktioniert perfekt! Habe Type II ausgewählt und alle Kanonen jeglicher Größe feuern aus allen Rohren Hast Du super gemacht
Es gibt dann sogar das übliche Verhalten des Gegners, das eigene HQ mit Charrons und Renaults schützen zu wollen.
Danke, schön das es gut funktioniert!
Ich habe gestern Abend auch noch einen Versuch gemacht:
Die Karte TROLL habe ich mal zur Einzelspielerkarte umkonfiguriert und vier mal mit den verschiedenen .COM Dateien dem Spiel hinzugefügt.
Dnn in vier DOSBox-Instanzen das Spiel geöfnet und parallel die Karten laufen lassen. Ich habe den Computer Frankreich spielen lassen und mich einfach gar nicht bewegt oder angegriffen, so konnte ich genau sehen, ob er etwas grundsätzlich anders macht.
Dabei zeigte sich, dass bei Type I und Type II das Vorgehen/die Bewegungen identisch sind, aber unterschiedliche Einheiten gebaut werden, wodurch sich der spätere Spielverlauf natürlich ändert. Bei Type III sind die ersten Züge auch dieselben wie bei den ersten beiden Typen, aber ab einem Punkt (Runde 5) weichen dann die Bewegungen zunehmend ab. Bei Type IV geht er von Anfang an ganz andere Wege und deutlich defensiver vor. Da Type IV die 22.COM ist, macht er also genau das, was du vermutet hast tbc21
Mit Type IV zieht er z.B. auch den beschädifgten Charron zur Reparatur zurück, nachdem er damit den Bunker zerstört hat. Bei den anderen COM-Typen wird der Bunker mit Kavallerie angegriffen und diese stumpf verheizt.
Spannend fand ich auch, was der Computer nacheinander so gebaut hat:
Type I: Kavallerie, Eliteinfanterie, Voisin Bomber, leichte Ari, zwei Infanterieeinheiten.
Type II: stat. FLAK, leichte Ari, Eliteinfanterie und normale Infanterie, leichte Ari, stat. FLAK.
Type III: stat. FLAK, Kavallerie, schwere Ari, Kavallerie, Kavallerie und Infanterie
Type IV: Infanterie, mittlere Ari, mittlere Ari, Eliteinfanterie, mittlere Ari.
Da ich keine Flugzeuge hatte und ja auch nicht gebaut habe, ist die Baupolitik von Typ II eine ziemliche Ressourcenvergeudung. Auch bei III macht die FLAK keinen Sinn, aber die Mischung aus schneller Kavallerie und schwerer Ari bringt ja doch eine sinnvolle Dynamik. Auch I und IV mit einer Mischung aus Artillerie / Bomber und viel Infanterie fand ich da durchaus sinnvoll.
Dragonsphere Vielen Dank für deine super Arbeit beim Editor.
-
Eine Ammerkung zum Thema Obergrenze maximal möglicher Terrainfelder: Ich habe eine Karte getestet, die hier bereits am Limit war. Als ich dann mit Pionieren angefangen habe zu graben,
gab es plötzlich auch Grafikfehler. Logisch, weil auf der Karte zuvor keine Schützengräben vorhanden waren. Bitte bedenken und Pioniere entweder weglassen oder den Puffer so groß lassen, dass diese alle möglichen Gräben erzeugen können.
-
Was hältst Du denn von der Idee, das HQ, Depot und Fabrik mit einem Klick komplett fertig auf die Karte setzen zu können? Also nicht immer die vier/sechs Teile einzeln auswählen zu müssen. Man wählt zum Beispiel den jeweiligen Eingang aus und klickt dann z.B. rechts auf die Karte an die gewünschte Stelle. Statt nur dem Feld Eingang würden dann direkt alle benötigten Felder gesetzt.
Ich finde das gut, dass man es einzeln setzen kann, so kann man interessante neue HQs bauen wie z.B. mit Bunker drauf oder Berg dran. Ich will deine Idee nicht torpedieren, vielleicht geht ja beides
-
Gedacht war es so: jeweiligen Eingang auswählen, Linksklick auf Karte = Eingang setzten, Rechtsklick auf Karte = komplettes Gebäude.
-
Gedacht war es so: jeweiligen Eingang auswählen, Linksklick auf Karte = Eingang setzten, Rechtsklick auf Karte = komplettes Gebäude.
Ich denke mal das wird nur über eine Auswahl gehen die programmiert werden müßte.Die fragt ob nur der Eingang oder das ganze, jeweilige, Gebäude gesetzt werden soll.
Bin kein Programmierer aber da es ja 4 Gebäude gibt wäre es mit einem Rechtsklick allein nicht getan.(Das 4te Gebäude ist das halbfertige Depot)
-
if (Field.Part = 0x0C)
Sowas beanstanden die Compiler nicht, ist mir vor allem anfangs bei c++ passiert.
Basic arbeitet überall mit = , da muss man sich erstmal umgewöhnen.
Änderungen schreibe ich aber auch oft am Funktions Anfang oder da wo Änderungen waren. Oft auch so das ich es über Suchbegriffe schnell finde während der Überarbeitung.
Also Cobol-Entwickler muss ich mir das auch immer wieder sagen, dass es in anderen Programmiersprachen eine Zuweisung ist und für Vergleiche nicht taugt... Bin da beim wieder Einstieg in Java auch paar mal drüber gestolpert (obwohl man da mitteile auch nicht mehr mit == arbeiten sollte).
Einfach die Argumente vertauschen, denn bei if (0x0C = Field.Part) sollte der Compiler dann wohl meckern, während ihn if (0x0C == Field.Part) zufriedenstellt.
-
Gedacht war es so: jeweiligen Eingang auswählen, Linksklick auf Karte = Eingang setzten, Rechtsklick auf Karte = komplettes Gebäude.
Ich denke mal das wird nur über eine Auswahl gehen die programmiert werden müßte.Die fragt ob nur der Eingang oder das ganze, jeweilige, Gebäude gesetzt werden soll.
Bin kein Programmierer aber da es ja 4 Gebäude gibt wäre es mit einem Rechtsklick allein nicht getan.(Das 4te Gebäude ist das halbfertige Depot)
Ich glaube, dass es einfacher ist, als man denkt: Es gibt neun Gebäude (2 HQ, 3 Fabriken und 4 Depots). Jedes dieser ist durch seinen Eingang eindeutig identifizierbar. Sobald dieser ausgewählt ist, steht fest, was es werden soll.
-
Gedacht war es so: jeweiligen Eingang auswählen, Linksklick auf Karte = Eingang setzten, Rechtsklick auf Karte = komplettes Gebäude.
Ich denke mal das wird nur über eine Auswahl gehen die programmiert werden müßte.Die fragt ob nur der Eingang oder das ganze, jeweilige, Gebäude gesetzt werden soll.
Bin kein Programmierer aber da es ja 4 Gebäude gibt wäre es mit einem Rechtsklick allein nicht getan.(Das 4te Gebäude ist das halbfertige Depot)
Ich glaube, dass es einfacher ist, als man denkt: Es gibt neun Gebäude (2 HQ, 3 Fabriken und 4 Depots). Jedes dieser ist durch seinen Eingang eindeutig identifizierbar. Sobald dieser ausgewählt ist, steht fest, was es werden soll.
Das ist kein Problem, werde ich bei nächster Gelegenheit einbauen
Es sind auch nur drei zu zeichnende Gebäude bzw. vier mit dem unfertigen Depot, denn bis auf den Eingang sind ja alle HQs, Fabriken und Depots identisch.
Die Logik wäre also z.B.
Code
Alles anzeigenif ((selected_tile == 0x01) || (selected_tile == 0x02)) //HQ Eingang { //...zeichne HQ-Gebäude auf die Felder darunter Change_Mapdata(x,y,selected_tile,0xFF); Change_Mapdata(x-1,y+(x%2),0x05,0xFF); Change_Mapdata(x,y+1,0x03,0xFF); Change_Mapdata(x+1,y+(x%2),0x07,0xFF); Change_Mapdata(x-1,y+(x%2)+1,0x06,0xFF); Change_Mapdata(x,y+2,0x04,0xFF); Change_Mapdata(x+1,y+(x%2)+1,0x08,0xFF); }
Das x modulo 2 wegen des Versatzes der Hex-Felder....
-
Hey Dragonsphere,
habe noch mal viel ausprobiert.
Gameplay:
Es gibt öfters Probleme, wenn man Gebäude nur teilweise baut, also z.B. ein Depot ohne Eingang.
In dieses konnte ich dann trotzdem reinschauen und auch Einheiten rausbewegen.
Komischerweise war es dann mit Einheiten gefüllt, die ich dort gar nicht rein platziert hatte.
Es kommt dann auch vereinzelt zu Grafikfehlern.
In dem Zusammenhang hatte ich auch zum ersten Mal den Effekt, dass sich eine Einheit auf freiem Feld nicht bewegen ließ. In dem Fall eine mittlere Ari.
Editor:
Hier stimmt der Titel des Fensters nicht:
Das Fragezeichen dort funktioniert bei mir nicht oder ist noch nicht mit Hilfetexten gefüllt.
-
Danke für's Testen tbc21 !
Editor:
Hier stimmt der Titel des Fensters nicht:
Das Fragezeichen dort funktioniert bei mir nicht oder ist noch nicht mit Hilfetexten gefüllt.
Habe ich beides korrigiert.
Gameplay:
Es gibt öfters Probleme, wenn man Gebäude nur teilweise baut, also z.B. ein Depot ohne Eingang.
In dieses konnte ich dann trotzdem reinschauen und auch Einheiten rausbewegen.
Komischerweise war es dann mit Einheiten gefüllt, die ich dort gar nicht rein platziert hatte.
Es kommt dann auch vereinzelt zu Grafikfehlern.
In dem Zusammenhang hatte ich auch zum ersten Mal den Effekt, dass sich eine Einheit auf freiem Feld nicht bewegen ließ. In dem Fall eine mittlere Ari.
So rum habe ich es selber tatsächlich noch nicht ausprobiert, nur umgekehrt und nur einen Gebäude-Eingang zu verwenden, funktioniert ja sehr gut.
Also, dass Problem betrifft Fabriken und Depots. Die lassen sich im Spiel über alle Gebäudefelder öffnen, nicht nur über den Eingang. Der Eingang wird aber vom Spiel verwendet, um dem Gebäude den richtigen Datensatz zuzuordnen. Hat die Fabrik oder das Depot keinen Eingang, springt das Spiel im Speicher hinter den letzten gültigen Gebäudedatensatz und liest irgendwelche falschen / fremden Daten aus dem Arbeitsspeicher für dieses Gebäude ein. Also quasi eine Schutzverletzung, nur das DOS so etwas nicht stört
Beim HQ gibt es das Problem nicht, da men es im Spiel nur über den Eingang öffnen kann. Die HQ-Burg kann mal also auch einfach so in die Landschaft stellen.
Wie wollen wir damit umgehen? Ich habe inzwischen auch umgesetzt, dass man komplette Gebäude mit der rechten Maustaste setzen kann. Soll ich die anderen Gebäudefelder, bis auf die Eingänge, aus dem Auswahlfenster für die Geländeteile rausnehmen? Einfach eine Warnung ausgeben, wenn eine Karte gespeichert/dem Spiel hinzugefügt wird, die Fabriken/Depots ohne Eingang enthält? Oder belassen wir es dabei und freuen uns über Überraschungsgebäude/Einheiten?
-
Einfach eine Warnung ausgeben, wenn eine Karte gespeichert/dem Spiel hinzugefügt wird, die Fabriken/Depots ohne Eingang enthält?
das wäre eine gute Idee!
Ich habe endlich mal meine erste Karte erstellt und durchgespielt. Ist eine simple Karte, noch etwas einfach zu spielen - aber ich stelle sie mal hier zur Verfügung. Die Deutschen brauchen noch etwas Luftabwehr denke ich, die Franzosen ein paar Einheiten weniger.
Zwei Dinge sind mir aufgefallen:
> Ich kann das HQ nicht benutzten - da entsteht dann ein Grafikfehler wenn ich rein möchte.
> Der Computer baut keine Einheiten trotz Fabrik und Ressourcen - liegt das an der Auswahl der .COM file Type IV genommen habe?
-
Hey Moravec,
habe Deine Karte mal ins Spiel eingebunden.
In das französische HQ kann ich auch nicht rein, dann hängt sich das Spiel auf.
Das liegt ziemlich sicher an dem Teil Hafen/Dock, dass Du dort in die Mitte gesetzt hast:
Versuch mal, hier in das Stück Fabrik reinzuschauen:
Dann zeigt er dies hier an:
Wohin gegen er beim Klick hier
das anzeigt:
Also eigentlich gleiches Gebäude, aber unterschiedlicher / zusätzlicher Inhalt.
Das bringt Probleme mit sich.
Ansonsten coole Map! Sehr ambitioniert als Franzose Werde ich mal spielen die Tage.
Danke Dir
-
cool danke für die Hinweise tbc21! so schwer ist die Karte dann doch nicht - da man Flugzeuge bauen kann, dann bombt man schnell alles weg, die Luftverteidigung ist ausreichend für die Flugübermacht.
Ich versuche eine gute Balance für herausfordernde Spielbarkeit zu finden.
Ich bin schon an einer nächsten Map, da habe ich das Problem, dass die deutschen / Computergegner überwiegend die neutralen Depots ignorieren; dann funktioniert die Karte nicht.
Ich habe dazu einfach eine vorhadene 2 Player Map in eine Einplayermap geändert...
Habt Ihr da eine Idee, worauf ich achten muss? Vielleicht die neutralen Depots selber setzen? habe die auch mal in der letzten Version angehängt.
Dragonsphere ich kann Dir nicht genug danken, dass Du das ermöglichst!! Senstationell!!
-
-
coole Karte! mit welchem Type .COM muss man die integrieren?
-
Ich habe sie mit Type II gespielt.
-
Danke für eure Karten
Da mache ich direkt mal mit und habe auch eine Map für euch. Bei mir läuft sie unter SEDAN
Deutschland hält eine Stadt im Norden, Frankreich den mehr ländlichen Süden. Dazwischen eine festgefahrene und von beiden Seiten gut befestigte Frontlinie, die zu einem Fleischwolf für Infanterie geworden ist.
Und da liegt auch die Herausforderung: Ihr habt massig Rohstoffe zur Verfügung, könnt aber nur Infanterie und Transportfahrzeuge bauen. Es mangelt also nicht an Kanonenfutter, dafür aber an Kanonen
Ich habe die Karte urspünglich als zwei Spieler-Karte gebaut, beide Seiten verfügen auch über gleich viele Einheiten und Ressourcen.
Mit Computergegner habe ich noch nicht viel getestet, aber Typ IV, der defensivere, könnte hier ein interessantes Spiel liefern.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!