Archive for the ‘Technisches’ Category

Eben konnte ich die v0.6 der Kampfsystem Test GUI fertig stellen.

Das Installationspaket ist auch schon fertig.

Campaign Progressbar

Sobald ich die noch fehlenden Features eingebaut habe, werde ich den Source zur Gegenprüfung an einen befreundeten C# Programmierer geben. Die Performance der Software ist im Moment sehr schlecht und ich vermute Designfehler meinerseits im Source. Aber das kann nur jemand beheben, der sich mit C# wirklich gut auskennt.

ToDo:

  • Basisdaten der einzelnen Einheitentypen änderbar machen
  • Es fehlen von den 5 Kampfsteuerungsroutinen noch 3. Im Moment ist nur der Fernkampf implementiert.
  • Errechnung des KPS Wertes einbauen (Kämpfe pro Sekunde)

Mal was zum Hunger machen für euch…

Kampfsystem Test-GUI

ToDo:

  • Die ausgewählte Armeeaufstellung speichern / laden
  • Basisdaten der einzelnen Einheitentypen änderbar machen
  • GUI-Speedups (auslagern des KS in einen BackgroundWorker Thread)
  • Es fehlen von den 5 Kampfsteuerungsroutinen noch 3. Im Moment ist nur der Fernkampf implementiert.
  • Errechnung des KPS Wertes einbauen (Kämpfe pro Sekunde)

Uff…

Nach einigen Gesprächen und viel Bastelarbeit ist die neue Entwicklungsumgebung für KolonialKampf 2 jetzt aufgebaut.

Sie besteht aus Visual Studio 2005 Express Edition gekoppelt mit NUnit für die Unittests und Sandcastle incl. einer GUI für die Programmierer Dokumentation.

Das Ganze hat Vorteile und Nachteile.

Der Vorteil ist, daß ich hier komplett neu anfangen kann, ohne Altlasten versehentlich zu übernehmen. Der Nachteil ist, daß dadurch die bisher erstellten Sourcen für mich nicht mehr brauchbar sind. Im Prinzip ist dies ein Neustart.

Aber wie ich ja selbst schon festgestellt habe fehlt mit KK1 selbst und deshalb mache ich weiter an KK2.

Also… bevor die Frage kommt wie es weiter geht…

Nächste Woche habe ich ein C# Seminar und werde mir diese Programmiersprache gründlich ansehen. Danach werde ich für mich einige Programmieraufgaben zum lernen machen. Als Fernziel steht dabei ein Browsergame bei mir auf der Liste. Als Nahziel ein Daemon der die Aufgaben verwaltet die in einem Browsergame anfallen können.

Ein Wort zum Thema Browser ist notwendig.

Viele von uns haben noch den Internet Explorer 6 welche weder Transparente PNGs kann, noch sauber CSS verarbeitet, geschweige den mit AJAX ohne Tricks arbeiten kann.

Die folgenden Browser werden unterstützt:

  • Internet Explorer 7
  • Firefox 1.5 und neuer
  • Opera 9 und neuer

Wieso den Internet Explorer 7? Hier ist der Grund:

IE7 to be distributed via Automatic Updates!

Der Internet Explorer 7 wird ein Zwangsupdate sein! ENDLICH!

Tjo… nach ein paar Tagen rumbasteln an meiner Entwicklungsmaschine auf welche jetzt langsam Linux drauf muß habe ich den Punkt erreicht wo ich mich fragen muß, ob Linux die Zielplattform sein wird.

Leider haben die Jungs von der GPL Truppe bezüglich ClosedSource-Treiber von ATI so ihre Bedenken. Das macht sich so richtig klasse auf einem Laptop bemerkbar.

Danke Jungs! Echt nett von euch. Leider verbietet mir meine Erziehung zu sagen was ich über euch denke…

Ich muß jetzt erstmal prüfen ob ich nicht noch einen anderen Weg habe um unter Linux zu Programmieren. Wenn nicht, dann steht das Projekt auf der Kippe. Für .NET und Co habe ich keine Zeit das auch noch zu lernen.

Das Konzeptionelle Problem ist behoben. War relativ einfach, ich mußte nur ein paar Sachen anpassen die zu stark auf den Einzelkampf ausgelegt waren.

Als nächstes stehen die Schlachtroutinen an und hier gibt es einige Besonderheiten.

So schießt z.B. eine Kanone nur alle 3 Runden, während ein Katapult nur alle 5 Runden seine Ladung schleudert.

Diese Waffen erzeugen bei einem Einsatz gegen Fußtruppen multiplen Schaden an den Einheiten. Dies bedeutet das nicht nur eine Einheit betroffen ist, sondern mehrere.

Als Ausgleich haben diese beiden Waffen aber nur minimal Defensivwerte. Und zwar die der Soldaten welche diese Waffen bedienen und diese haben nur Dolche, sind also mit den Enterern gleich zu setzen.

Ich freue mich jetzt schon auf die erste echte Schlacht :)

Die minimalsten Grundroutinen vom Kampfsystem sind jetzt in C erstellt und wir kommen auf 1.000 Einzelkämpfe (geändert in korrekten Wert) in unter 1 Sekunde im Moment.

Als nächsten Schritt werde ich hier um diese Grundroutinen das eigentliche Kampfsystem für einzelne Angriffe bauen. Das Endziel ist eine direkte Anbindung an die Datenbank, welches aber im Moment nicht realisierbar ist.

Keine Datenbank, keine Anbindung ;)

Ich hatte vorher hier zwar 1.000.000 stehen, aber durch einen netten Bug war jeder Angriff sofort erfolgreich. Tjo… ich liebe Bugs :(

Nach einigen Problemen (boah habe ich viel verlernt) läuft ein kleiner Testsource zur Resourcenberechnung schon sauber durch.

Ich habe als Grundlage die Formeln für die Steine/Gold/Nahrung/Eisen/Holz verwendet. Das alte PHP-Script hat oftmals so um die 5 – 10 Minuten geackert und selbst die ganzen Tricks die ich verwendet habe, hatten nur wenig Entlastung gebracht.

Der C-Source macht 5.000.000 Resourcenberechnungen in weniger als 1 Sekunde und meine CPU ist nicht gerade die schnellste.

Ich hoffe der Entwicklungsserver ist in den nächsten Tagen fertig. Dann kann ich das unter VisualC++ entwickelte mal direkt unter Linux compilieren und testen.

Nach einigen Überlegungen habe ich mich dazu entschieden diesmal kein Templatesystem für mehrere Oberflächenlayouts einzubauen.

Dies hat uns in der Vergangenheit nur zusätzliche Arbeit gemacht.

Auch das bei KolonialKampf 1 vorgesehene WAP-Interface werde ich nicht weiter verfolgen. Die Kosten für WAP sind viel zu hoch und in Zeiten von GPRS/UMTS und günstigen Notebooks macht es eh keinen Zweck mehr speziellen Content für ein Handy anzubieten.

Zumal selbst auf den Handys schon sehr gute Webbrowser wie z.B. der Opera verfügbar sind.