Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Mär 19, 2024 11:28

Foren-Übersicht » Sonstiges » Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Projekt "W" - Phase 2
BeitragVerfasst: Di Okt 02, 2012 19:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Bild

  • Einleitung

    Knapp über 5 Jahre ist es nun her (14.08.2007) das ihc "Phase 1" von Projekt Weltherrscher veröffentlicht habe, zehntausende Downloads und eine Maganzinveröffentlichung später ist es nun an der Zeit "Phase 2" auf die Öffentlichkeit loszulassen!

    Aufgrund äusserer Umstände hat es weitaus länger als geplant gedauert, und "Phase 2" ist noch weit von einem fertigen Release entfernt, aber inzwischen soweit dass ich (vorerst exklusiv für die DGL) eine Betaversion veröffentlichen kann die zumindest halbwegs spielbar ist und die meisten neuen Features implementiert hat.

    Somit habe ich jetzt also eine Basis auf die ich aufbauen kann, während ich gleichzeitig das Feedback von Aussen einbinden kann und v.a. auch sehe wie es auf anderen Hardwarekonfigurationen läuft, denn genau da fehlt es mir momentan noch an Daten.


  • Wichtiger Hinweis

    Dies ist eine (offene) BETA VERSION. Sie ist unfertig, es fehlen noch Features und v.a. Content, und sie kann (und wird abstürzen). Sie spiegelt also noch lange nicht den Status des fertigen Spiels wieder. Ich bin mir also der Tatsache bewusst dass die Version unfertig ist und noch Ecken und Kanten hat, dass es diverse kleine und grobe Fehler gibt und dass es u.U. sogar Totalabstürze gibt.
    Aber genau dafür mache ich ja die Beta, um sowas zu finden und Feedback zu sammeln, aber ich nehme an daran wirds hier auf DGL nicht mangeln ;)

    Ich bitte euch aber auch darum die Beta nicht irgendwo publik zu machen (siehe Lizenz), sie soll vorerst nur im kleinen Kreis auf DGL getestet werden.






  • Neue Features

    Wer den Thread zu "Phase 1" mitverfolgt hat wird wissen dass es in "Phase 2" jede Menge Änderungen und neue Features gibt. Vor allem die vielen kleinen Neuerungen und Änderungen hier aufzuzählen wäre zu aufwendig, deshalb nur ein grober Abriss :

    • Rundebasierte Kämpfe
    • Komplett überarbeitetes Userinterface
    • Globale Projekte
    • Erweiterte Spionage und Sabotage (Datennetze, Gegenspionage, neue Sabotageaktionen, etc.)
    • Neue Militäreinheiten (Flakpanzer, Artillerieraketensystem, Schwebepanzer, Tarnkappenbomber, Nurflügeljäger)
    • Alle Militäreinheiten haben jetzt zum Besitzer passende Tarnmuster
    • Erweiterter Technologiebaum (u.a. mit Endlosforschungen)
    • Erweitertes Personalsystem (Trainings, Erfahrungspunkte)
    • Küstenbauplätze (und damit neue Gebäude) für entsprechende Regionen
    • Börsenmarkt
    • Neue Spielmodi (und Modifikatoren, letztere noch nicht implementiert)
    • Überarbeiteter Renderer (momentan wird eine shaderfähige GPU vorausgesetzt)
    • Angepasstes Balancing (zumindest teilweise, aber das will ich in der Beta feststellen)
    • Linuxversion (Lang hats gedauert)






  • Technischer Hintergrund

    Genau wie "Phase 1" ist auch "Phase 2" komplett mit Delphi entwickelt, und wurde während der Entwicklung auf XE2 umgestellt (und damit auf Unicode). Sprich momentan ist nur Windows als Plattform vorgesehen, wenn ich aber jemals die Zeit dazu bekomme würde ich es gerne nach Lazarus porten um zumindest ein Linux-Release erstellen zu können.

    Aktuelle besteht "Phase 2" aus knapp über 120.000 Zeilen Quellcode ("Phase 1" : 58.000), und das Projektverzeichnis (in dem alle für die Entwicklung benötigten Files liegen, also Source, Entwürfe, Daten, Dokumente) ist knapp 1,1 GByte groß und beinhaltet ~2.700 Dateien ("Phase 1" : 412 MByte in ~1.500 Dateien). Wenn man jetzt noch bedenkt wie oft ich z.B. die UI neugebaut hab und dass während der Entwicklung über 5 Jahre sehr viel wieder verworfen wurde dürfte schnell klar werden wieviel umfangreicher und v.a. komplexer "Phase 2" ggü. seinem Vorgänger ist.

    So hab ich während der Entwicklung viel Zeit damit verbracht den Quellcode aufzuräumen, logischer aufzuteilen und somit leichter wartbar zu machen. Das hat zwar viel Zeit gekostet, hat sich im Endeffekt aber gelohnt. Und ein paar neue Sprachfeatures hab ich dadurch auch in den Quellcode eingebracht.

    Wie gewohnt verwende ich auch für "Phase 2" OpenGL, und in der aktuellen Beta benötigt man eine GPU die OpenGL-Shader beherrscht. Die verwende ich z.B. für die Wasseroberfläche und auch die Erdkugel. Ansonsten gibts hier kaum moderne OpenGL-Features, es ist ja schliesslich keine Grafikdemo. Interessant ist evtl. noch die komplett selbstentwickelte UI, die komplett auf OpenGL aufbaut, via XML definiert wird und für die ich auch entsprechend einen WYSIWYG-Editor programmiert habe.

    Und bevor jemand fragt : Ja, manchmal ist es verdammt schwer über so eine lange Zeit die Motivation zu halten. Aber manchmal ists einfach eine gute Idee das Projekt mal ne Woche oder zwei ruhen zu lassen, bei mir kam dann früher oder später jedesmal die Motivation zurück. Oft reichts auch nur sich Abends mal in Ruhe hinzusetzen und sein eigenes Werk zu spielen. Da wurde mir oft bewusst wie schade es doch wäre einfach alles wegzuwerfen :)

    Im Thread zu "Phase 1" finden sich übrigens alle Postings zur Entwicklung von "Phase 2" die ich in den letzten Jahren veröffentlicht habe, da findet man dann entsprechend viele Infos zur Entwicklung.


  • Community

    Bild Bild


Viel Spaß beim Testen! Jede Form von Feedback ist erwünscht, aber denkt bitte daran dass es eine frühe Beta eines sehr komplexen Spiels ist ;)

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: Di Okt 02, 2012 20:02 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
  • Bekannte Probleme

    Da die Beta noch weit vom finalen Produkt entfernt ist und es mit Sicherheit diverse Bugs, Probleme und Fehler gibt versuche ich diese hier zentral zu sammeln :

      Gameplay
    • Spielmodifikatoren (z.B. "Glücksritter") momentan noch ohne Funktion

      Sound
    • Es fehlen noch diverse Sounds. Z.B. alle fürs Schlachfeld.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Beta rev. #107 veröffentlicht
BeitragVerfasst: So Okt 21, 2012 16:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Es gibt eine neue Version : Revision #107 (21.10.2012)

Downloadlink siehe Startpost.

Es wurde jedemenge Kleinkram gefixt. Darunter alle fehlenden englischen Texte, denn ich werde diese Version hier gleich auf meiner Homepage öffentlich machen. Sprich nach über 5 Jahren geht die erste Version von "Phase 2" an die Öffentlichkeit, und da muss eine brauchbare und v.a. vollständige englische Übersetzung nunmal sein.
An dieser Stelle auch nochmal ein Dank an alle DGL'ler die immer fleissig mitgelesen haben, Feedback abgegeben und auch getestet haben. Ohne das Feedback auf DGL wäre es vermutlich nie soweit gekommen!

In dieser Version kann man jetzt u.a. das globale Projekt "Pandemie" einsetzen, dazu habe ich die Spielmechanik entsprechend erweitert. Regionen können jetzt zusäzliche Stati erhalten, was dann im Falle dieses Projekt "Verseuchung" wäre. Der Status sorgt für Bevölkerungssterben und kann auf andere Regionen (Ausnahme auslösende Nation) überspringen. Wenns als "gut" läuft (für den Verursacher) dann verbreitet sich die Pandemie über den ganzen Globus.

Ausserdem kann man jetzt im Datennetz auch Sabotage betreiben (fehlte im letzten Release ganz), und generell habe ich im Bereich Spionage / Sabotage einiges getan. So sieht man jetzt den aktuellen Datennetzalarmlevel, und der wirkt sich auch aus. Sprich wenn er steigt dann sind die Aktionen der Agenten im Datennetz entsprechend erschwert. Ausserdem fangen die Agenten jetzt immer im äussersten Level an und man kann von Level zu Level infiltrieren. Und für die Sabotage in gegnerischen Regionen werden Gebäude nun auch korrekt lahmgelegt. Sprich wer die Luftabwehr lahmlegt und dann die Region angreift muss diese auch nicht mehr im Kampf fürchten.

Changelog :
Code:
  1. rev #107 :
  2.  Fixes
  3.    - Läuft wieder unter Wine
  4.    - Framebufferobjekte sind keine Voraussetzung mehr
  5.    - Regionsinfobalken werden jetzt u.a. auf Intel HD GPUs wieder korrekt dargestellt
  6.    - Cursortasten zum Verschieben der Weltkugel nur noch wenn kein Fenster aktiv ist
  7.    - Soundeffekte werden beim Spielstart nun zuverlässig aktiviert
  8.    - Spionage (Datennetz) : Agenten im Datennetz werden nicht mehr gefangen genommen, sondern nur noch entsprechend gesperrt / bestraft
  9.    - Spionage (Datennetz) : Fehlgeschlagene Aktionen wirken sich nun auf Datennetzlevel aus
  10.    - Spionage (Datennetz) : Aktueller Alarmlevel des feindlichen Datennetzes erhöht nun Risiko der Entdeckung
  11.    - Schlachtfeld : Einheitenselektion auf manuellem Schlachtfeld korrigiert
  12.  
  13.  Sonstiges
  14.    - Beim ersten Start wird die Spracheinstellung nun anhand der Systemeinstellung ermittelt
  15.    - Anleitung erweitert und an aktuelle Version angepasst. Zudem ist die Navigation immer sichtbar.
  16.  
  17.  Gameplay
  18.    - KI erforscht Endlostechnologien erst wenn alle anderen erforscht wurden
  19.    - Spionage : Deaktivierte Gebäude werden wieder korrekt zurückgesetzt
  20.    - Spionage : Deaktivieren von Gebäuden hat nun Auswirkungen auf das Gameplay (z.B. Luftabwehr inaktiv im Kampf)
  21.    - Anpassung Faktoren / Neustartphasen globale Projekte
  22.  
  23.   User interface
  24.    - Transparenz für Dropdownlisten verringert
  25.    - "Spiel beenden?"-Fenster hat nun korrekte Größe, Buttons liegen nicht mehr teilweise ausserhalb
  26.    - Hilfstexte für Infobereich oben links
  27.    - Regionsansicht : Button zum Abreissen von Gebäuden umplatziert (um versehentliches Abreissen zu verhindern)
  28.    - Regionsansicht : Hover für Gebäudeinformationen wird nicht mehr von anderen Elementen überdeckt
  29.    - Regionsansicht : Einrückungen und korrigierte Schriftgrößen Gebäudeinformation
  30.    - Regionsansicht : Änderung der Gebäudeauswahl mit Dropdown für Kategorie und Listbox für entspr. Gebäude
  31.    - Globale Projekte : Phasentabelle überlagert keine Elemente mehr in fremden Fenstern
  32.    - Globale Projekte : Hinweise liegen nun korrekt über den Icons über der Phasentabelle
  33.  
  34.   Lokalisierung
  35.    - Keine leeren Dropdowns mehr für englische Spracheinstellungen (z.B. Optionsmenü)
  36.    - Fehlende Texturen für englische Spracheinstellungen werden nun korrekt geladen
  37.    - Diverse fehlende/falsche Übersetzungen für englische Spracheinstellung
  38.  
  39.  Neue Funktionen
  40.    - Spionage (Datennetz): Übergang zwischen den einzelnen Datennetzleveln
  41.    - Spionage (Datennetz) : Auswahlbox für anzuzueigenden Bereicht im Fenster Datenanzeige für Datennetzspionage
  42.    - Spionage (Datennetz) : Sabotageaktionen hinzugefügt
  43.    - Hauptspielansicht : Anzeige des aktuellen Datennetz Alarmlevels
  44.    - VSync kann im Optionsmenü umgeschaltet werden
  45.    - Spielstände werden nun nach Datum sortiert gelistet (neuste oben)
  46.    - Globales Projekt "Pandemie" nun voll funktional
  47.    - Neue Stati für Regionen die pro Runde auf diese wirken (z.B. nach Einsatz von Pandemie oder Nuklearschlag)

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: So Nov 04, 2012 10:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Anpassung der KI

Der Großteil des KI-Codes in "Phase 2" (circa 90%) ist noch auf dem selben Stand wie zum "Phase 1"-Release. Da die Beta jetzt aber draussen ist, und es zumindest keine größeren Bugs mehr gibt, hab ich damit begonnen die KI auf den aktuellen Gameplaystand zu bringen.

Angefangen hab ich die Tage mit dem KI-Teil der für das Bauen der Gebäude verantwortlich ist. Der war nämlich nie besonders gut und hat dafür gesorgt dass die KI ohne Hilfsmittel (z.B. erhöhte Resourcengewinnung) nicht wirklich konkurrenzfähig ist. Also hab ich mir überlegt wie genau ich hier umbauen (wobei es schon fast ein komplettes Neuschreiben war) muss damit die KI in Sachen Regionsverwaltung intelligenter, konkurrenzfähiger und auch menschlicher wird.

Also hab ich folgendes implementiert :

  • Gebäude werden aufgewertet
    Das war eines der grössten Mankos der alten KI. War ein Gebäude fertiggestellt, blieb es bis in alle Ewigkeit stehen (ausgenommen im Notfall, wenn also z.B. Gebäude umgebaut werden um Verschmutzung oder geringer Zufriedenheit entgegen zu steuern). Während menschliche Spieler also fleissig alte Gebäude durch neu erforschte, verbesserte Versionen ersetzten um Regionen effizienter zu machen tat die KI das nie. Neuere Gebäude wurden nur auf leere Plätze gebaut, sprich Gebäude die erst sehr spät erforscht wurden, wurden kaum gebaut.
    Deshalb habe ich jetzt für jeden Gebäudetyp einen Upgradepfad eingebaut (Screenshot davon im WeltEdit) (den ich evtl. auch an anderer Stelle nutzen will ;) ) anhand dessen die KI weiß welche Upgradeoptionen es für ein Gebäude gibt. Ist die Region also soweit bebaut, prüft die KI welche Upgrades möglich sind und wählt dann zufällig aus den verfügbaren Upgradepfaden für ein Gebäude aus. So bringe ich auch etwas mehr Zufall in die Regionslayouts.

  • Nicht mehr benötigte Gebäude werden abgerissen
    Die neue KI ist nun in der Lage (mehr oder weniger gut) zu erkennen ob bestimmte Gebäude noch gebraucht werden, und reisst diese dann ab um Platz zu schaffen. Wenn sie also in einer durch Verschmutzung gefährdeten Region entsprechende Gebäude gebaut hat, die Verschmutzung (und deren Anstieg) jedoch wieder auf ein gesundes Level herabfällt, werden diese Gebäude wieder abgerissen. In der alten Version blieben diese immer stehen und haben so wertvollen Platz verschwendet.

  • Unterscheidung Normaler / Küstenbauplatz
    Wie sicher einige in der Beta gemerkt haben hat die alte KI auch auf Küstenplätzen normale Gebäude gebaut. Das ist etwas was nicht vorgesehen war, aber einfach daran lag dass der alte Code hier keine Unterscheidung machte. Der neue Code baut auf Küstenbauplätzen jetzt nur noch Gebäude die dort gebaut werden dürfen und beachtet auch die max. Anzahl pro Gebäudetyp.

  • Bauplätze werden zufällig gewählt
    Die alte KI hat immer an Position 0/0 mit dem Bau begonnen und ist dann einfach durch das 2D-Array für die Bauplätze gegangen. Das hat dafür gesorgt dass Regionen irgendwie immer gleich aussahen. Die neue KI wählt passende Bauplätze jezt zufällig. Dreht nicht viel am Gameplay, erzeugt aber "menschlichere" Regionslayouts.

  • Mehr Zufälligkeit
    Neben der zufälligen Auswahl der Bauplätze und der Upgrades hab ich an anderen Stellen auch noch ein wenig "Fuzziness" eingebaut. So wählt die KI jetzt beim ersten Bebauen eines Bauplatzes nicht immer das beste Gebäude (höchster Primärfaktor für die gewählte Kategorie), sondern kann hier je nach Zufall auch mal ein "schwächeres" Gebäude bauen. Zusammen mit der zufälligen Auswahl des Upgrades entstehen so jetzt endlich unterschiedliche Stadtbilder.


Bild Bild Bild

Das Ergebnis kann man auf diesen (kleinen) Bildausschnitten sehen. Alle zeigen die selbe Region nach jeweils 50 Runden. Links mit altem Code, hier sah die Region in JEDEM Spieldurchlauf nach 50 Runden so aus, die KI baute immer die gleichen Gebäude an den gleichen Stellen. Die beiden anderen Shots zeigen die selbe Region nach 50 Runden mit dem neuen Code. Man sieht deutliche Unterschiede und v.a. dass die KI hier Gebäude aufgerüstet hat.

Zusammen mit ein paar Bugfixes (u.a. kein Bauen mehr auf nicht sichtbaren Feldern) sollte die neue KI jetzt im Bereich Regionsverwaltung um einiges dynamischer und v.a. konkurrenhfähiger sein als die alte. Das führt auch dazu dass sie Regionen nicht mehr so leicht verliert wie in der alten Version.

Als nächstes möchte ich der KI nun die ganzen neuen Spionage/Sabotage Features beibringen. Dieses Feature ist in "Phase 2" so stark erweitert worden, und in einer Einzelspielerpartie sieht man davon nur eine Seite, nämlich die eigene. Deshalb will ich die KI so erweitern dass sie auch spioniert, sabotiert und v.a. Gegenspionage betreibt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: Sa Dez 08, 2012 11:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Es gibt ein neues Release (Downloadlink siehe Startpost) #121

Wie im vorherigen Posting angesprochen handelt es sich hier hauptsächlich um Erweiterungen für die KI, die nun fast alles kann (und tut) was in "Phase 2" möglich ist. Ausserdem gibts noch ein paar Bugfixes und die KI sollte beim Verwalten der Regionen nun besser sein.

Changelog :
Code:
  1. ------------------------------------------------------------------------------------------------------------------------
  2. Revision #121
  3. ------------------------------------------------------------------------------------------------------------------------
  4.  Fixes
  5.    - (Regions) Added missing connections from Japan to neirhbouring countries
  6.    - (Regions) Added missing connection from Korean Kuril to United korea
  7.    - (Regions) Added missing connection from State Alliance to Texas
  8.    - (Regions) Added missing connection from New Texas to Texas
  9.    - (Regions) Removed connection from Oldquebec to New Nunavut (no shared border)
  10.    - (Regions) Removed wrong connection from Egypt to Algeria (no shared border)
  11.    - (Regions) Wrong regional loyality display and calculations fixed
  12.    - (Espionage) Captured agents during hostile region infiltration are now removed (as noted in the message box)
  13.    - (Savegame) Creating a new savegame now uses the correct file extension
  14.  
  15.  User interface
  16.    - (Regions) Changed building selection (again). Dropdown for building category now only jumpts to selected category
  17.                instead of only displaying buildings from selected category
  18.    - (Transfermarket) Several optical and usability changes
  19.    - (Misc) Changed scrollbar appearance for listboxes (no more overlapping, better scrolling visualization)
  20.    - (Misc) Fixed partially wrong button click areas
  21.  
  22.  Balancing
  23.    - (Buildings) Lowered resource penalty for "Orbital sun sails", giving it an advantage over a nuclear power plant
  24.  
  25.  AI
  26.    - (Construction) No longer constructs normal buildings on coastal spots
  27.    - (Construction) No longer populates locked coastal spots (regions without coasts)
  28.    - (Construction) Added more randomization to the construction AI (placement, building selection)
  29.    - (Construction) Now constructs new coastal buildings when coastal spots are available
  30.    - (Construction) Now demolishes buildings not needed anymore and regains funds (like human players)
  31.    - (Construction) Added upgrade paths for buildings, so AI will now upgrade existing buildings to better versions
  32.    - (Espionage) Now also hires and manages agents
  33.    - (Espionage) Assigns hired agents to the different infiltration targets (own region, hostile region, data net)
  34.    - (Espionage) Agents infiltrated into own regions fake either division or structure data
  35.    - (Espionage) Agents transition from one data net level to the next one
  36.    - (Epsionage) Agents execute data net espionage and sabotage actions
  37.    - (Military) No longer attacks with one-unit only divisions

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: Di Dez 25, 2012 15:23 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Es gibt ein neues Release (Downloadlink siehe Startpost) #125

Das Jahr ist fast vorüber, und ich habe beschlossen 2012 mit einer neuen Version von "Phase 2" ausklingen zu lassen.

Diesmal gibt es nicht nur Bugfixes, sondern neuen Funktionalität und neuen Content! (Link wie gewohnt im Startposting)

  • Manuelle Schlachten direkt aus dem Hauptmenü heraus

    Die manuellen Schlachten sind ja fast schon ein Spiel-im-Spiel und wer möchte kann nun direkt aus dem Hauptmenü heraus auf das Schlachtfeld. Es gibt jetzt einen entsprechenden neuen Punkt (sowohl im Single- als auch Multiplayermenü) der ein neues Fenster öffnet in dem man alle Belange des Kampfes anpassen kann. Wer wird vom Mensch / KI gesteuert, welche Nationen nehmen teil, auf welchem Kartensetting wird gespielt, und natürlich kann auch für jede Partei die Einheitenauswahl angepasst werden.

  • Neue Karten für das Schlachtfeld

    Damit das "neue" Feature noch mehr Spaß macht hab ich knapp ein dutzend neuer Karten für die manuellen Kämpfe gebastelt, die dann in der Zufallsausfall enthalten sind.

Screenshots :

Bild Bild Bild Bild Bild Bild

Also schonmal viel Spaß mit der neuen Version und auf ein spannendes 2013, mit einer hoffentlich fertigen Version von "Phase 2" ;)

Edit :
Mir ist aufgefallen dass das lezte Video von Projekt W schon über ein Jahr alt ist und damit nicht mehr den neusten Stand wiedergibt. Ich hab also ein neues Vide auf Basis der aktuellsten Beta zusammengeschnitte, das könnt ihr euch hier ansehen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: Do Jan 17, 2013 19:30 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Portierung nach Lazarus

Oft hab ich drüber geredet, drüber nachgedacht und es in Vergangenheit beriets mehrfach probier : PjW unter Lazarus zum Compilieren und (!) Laufen bringen. Bisher habe ich hier aber nie wirklich was handfestes gemacht (vor einigen Jahren war ich z.B. sehr genervt von Lazarus) aber mit Lazarus 1.0 lässt sich die IDE so richtig schön benutzen und es macht wirklich Spaß damit zu arbeiten.

Also hab ich mich jetzt mal festgebissen und eine ganze Woche lang (plus Wochenende dazwischen) nichts weiter gemacht als den Quellcode von Delphi-spezifischem Code zu befreien und, wo erforderlich, IFDEFs zu platzieren. Die meiste Arbeit hat das ersetzen der XML-Funktionalität von Delphi in Anspruch genommen, von der ich sehr stark Gebrauch mach(t)e. Da ich mit PjW aber auch auf andere Plattformen will (Linux, MacOS und evtl. irgendwann mal Android) habe ich den Port nach Lazarus zum Anlaß genommen auf NativeXML umzusteigen. Das kann mit Delphi und FPC, braucht keine XML-Libs (wie Delphi) und ist rattenschnell.

Und nach diesem harten Stück Arbeit (ich verdiene ja auch mein Geld mit Delphi, und da dann nach der Arbeit noch 5~6h privat zu coden ist teilweise sehr anstrengend) wars heute endlich so weit :

Bild

Der aktuelle Codestand von "Phase 2" kompiliert unter Lazarus!

Rein das Kompilieren reicht natürlich nicht, und nach ein paar kleinen Anpassungen läuft das Spiel nun auch komplett als .exe aus Lazarus heraus kompiliert :

Bild

Wie man sieht gibts noch ein paar optische Probleme und auch einige Stirngs werden noch nicht geladen, aber es läuft, ich kann sogar bestehende Spielstände laden und ganz normal spielen!

Nächster Halt ist nun das Anpassen der (hoffentlich wenigen) Bezüge auf Windows (z.B. Rendercontext erstellen) damit ich evtl. schon dieses WE eine Linuxversion kompilieren und auf die Welt loslassen kann ;)

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: So Feb 03, 2013 17:46 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Es läuft nativ unter Linux!

Wer meinen Blog verfolgt, hat mitbekommen dass ich den ein oder anderen Stolperstein auf dem Weg zur Linuxversion übersprungen habe, und nachdem ich gestern ein natives Linux eingerichtet habe (in der VM zu entwickeln ist nicht ideal) kann ich "Phase 2" nun endlich auch unter Linux spielen :)

Es ist komplett spielbar, sieht aus wie unter Windows, die Performance ist fast genausogut (hier gibt es noch Unterschiede zu FPC / Delphi, da muss ich noch ran), und bis auf ein paar Kleinigkeiten (fehlende Sound, die FMOD-Version die ich bräuchte finde ich nirgends) läuft es fast wie sein Windowsbruder!

Ich hätte zwar gerne ein Video gemacht, unter Linux ist das aber wohl alles andere als trivial (FRAPS und Co. gibts da nicht), und alle Capture-Tools die ich getestet haben waren ziemlich nutzlos, blieben hängen oder produzierten unbrauchbare Videos. Von daher gibts vorerst also nur Bilder der nativen Linuxversion :

Bild Bild Bild Bild
Bild Bild

Es wird zwar noch ein Weilchen dauern bis ich eine Linuxversion fertig habe die ich veröffentlichen kann, aber die gröbsten Hindernisse sind überwunden und es sieht tatsächlich so aus als gäbe es nach all den Jahren doch noch eine Linuxversion :lol:

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: Fr Feb 15, 2013 21:36 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Es ist soweit, "Phase 2" gibts jetzt ganz offiziell für Linux!

Ja, ihr lest richtig. Lange hats gedauert, und wer meine kleine Blog"serie" auf meiner HP verfolgt hat (Going Multi-Platform) hats schon kommen sehen. Nach knapp einem Monat intensiver, harter und teilweise verwirrender Arbeit gibt es nun endlich eine native Version für Linux.

Download : http://www.saschawillems.de/download/projectw_phase2_beta_rev142_linuxi386.tar.gz
(Das Windowsrelease wurde auch aktualisiert : http://www.saschawillems.de/download/projectw_phase2_beta_rev142_win32.zip)

Ich hab viel gelernt, v.a. was unter Linux anders läuft und habe jetzt einen Codestand der sich sowohl mit Delphi als auch mit Lazaurs, und halt unter Windows und Linux kompilieren und ausführen lässt. Ich hab vieles ändern müssen. So hab ich u.a. einen eigenen XML-Wrapper geschrieben, das Soundsystem ersetzt, ne eigenen Floodfill für Linux gebastelt, etc. Tausende Zeilen Code habe ich angpassen müssen, ein echtes Linux wurde installiert und es wurde wild getestet.

Aber jetzt ists endlich soweit, und auch wenn das Linux-Release sicherlich den ein oder anderen Bug aufweisen wird den es unter Windows nicht gab ist dass doch zumindest für mich persönlich ein wichtiger Schritt :)

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: Mo Mär 04, 2013 22:04 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Die Nationshintergründe haben mich schon lange gestört. Sie stammten noch aus den Anfangszeiten von "Phase 1" und wurden für 4:3 bzw. 5:4 Monitore gebaut, und gerade vor kurzem sind mir die mal wieder so unangenehm aufgefallen dass ich hier unbedingt was tun musste. Also habe ich diese durch eine schöne Weltraum Skybox ersetzt und auch gleich noch die unnatürlich wirkende Wasserfläche rausgeworfen. Die war zwar ein schönes Gimmick um Shader und Reflektionen zu zeigen, hat aber teilweise auch gestört und Regionen verdeckt.

Ich hab also gestern und heute Abend mal ein wenig gebastelt, und das Ergebnis sieht so aus :

Bild Bild Bild Bild Bild

Wenn man genau hinsieht erkennt man auch dass ich ein wenig am Shader für die Erde gewerkelt habe. Zum einen gibt es (wieder) den realistischen Tag/Nachtwechsel und zum anderen habe ich auch an den Farben und er Sättigung gedreht, so dass die Erde jetzt etwas realistischer aussieht.

Ausserdem hab ich angefangen diverse fixed-function Sachen rauszuwerfen und in Shader auszulagern. Das sollte wieder einiges an Performance bringen, und da die Beta eh ein GPU mit Shadersupport benötigt und man dass heute sowieso voraussetzen kann dürfte das keinem weh tun.

P.S. : Ist natürlich noch alles work-in-progress, wenns fertig ist gibts natürlich ein Video und in Bälde auch ein neues Release (geht ja inzwischen recht fix, release early - release often hat schon was ;) ). Und ich werde wohl noch ein paar dynamische Objekte hinzufügen, also ene glühende Sonne und einen Mond der die Erde umrundet und evtl. sogar als Objekt im Spiel nutzbar sein wird.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: So Apr 07, 2013 21:02 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Es gibt ein neues Release!

Downloads :

(Windows) Projekt “W” – Phase 2 – Open Beta rev. #170 (~74 MBytes)
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #170 (~78 MBytes)

Screenshots :

Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild Bild

Info :

Neben den neuen 360° Weltraumhintergründen, die ihren Weg auch ins leicht überarbeitete Mainmenü gefunden haben (die Optionen sind jetzt z.B. auf der selben Ansicht wie die Nationsauswahl) ist ein Highlight natürlich dass neue Ingametutorial. Bestehend aus 70 Kapiteln und über 25.000 Wörtern (zwei Sprachen) sollte es sowohl für Einsteiger als auch alte Hasen interessant sein, da es auf so gut wie alle Elemente des Spiels eingeht. Im Verlaufe der Beta wird hier aber sicher noch das ein oder andere Kapitel hinzukommen.

Ansonsten gabs mal wieder ein paar kleine Änderungen und Bugfixes. So werden Umlaute jetzt unter Linux korrekt dargestellt. Mehr dazu im Changelog.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: Sa Jun 01, 2013 14:15 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Neues Beta Release #190

Downloads :

(Windows) Projekt “W” – Phase 2 – Open Beta rev. #190 (~83 MBytes)
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #190 (~80 MBytes)

Highlights :

    Bild Bild Bild

  • KI-Bauherr (für jede Region), der je nach Einstellung Gebäude errichtet und / oder aufrüstet
  • Neuer Soundtrack, inklusive eigenem Titelsong (Dank an YD)
  • Überarbeitet und neue Soundeffekte. Die Klangkulisse sollte jetzt passender (und weniger nervig) sein, ein paar der alten Sounds waren wirklich grausam
  • Diverse kleine Verbesserungen am Userinterface :
    • Optischer Hinweis (neben Regionsflagge) bei niedriger Loyalität bzw. hoher Umweltverschmutzung
    • Die Regionsliste kann nun anhand verschiedener Kriterien sortiert werden
    • Einheiten können nun automatisch auf dem Schlachtfeld platziert werden. Dazu einfach die Platzierungsphase beenden und dies im folgenden Dialog bestätigen
    • Lebensenergie für Einheiten wird nun in der Regionsansicht gezeigt
  • Fast zwei dutzend kleine Änderungen und Bugfixes. So läuft das Spiel jetzt u.a. auch auf alten Karten ohne FBO-Support wieder ohne Abstürze

Details finden sich wie gewohnt im Changelog.

Es hat zwar (mal wieder, u.a. aber auch weil mein Netzteil verendet ist) mal wieder weitaus länger gedauert als ich gehofft habe, aber das neue Release macht jetzt einen richtig tollen Eindruck. Dank des neuen Soundtracks und er angepassten Soundeffekte ist die Atmosphäre jetzt so ziemlich genau die die ich eigentlich gerne von Anfang an in "Phase 2" gehabt hätte, und mir persönlich gefällt das ganze Ambiente jetzt so richtig gut.

Als nächstes stehen noch Soundeffekte für das Schlachtfeld auf der Liste, was teilweise schwierig ist, denn für die ganzen Einheitentypen gute Sounds zu finden die auch noch kostenlos sind wird sicherlich nicht einfach. Danach folgen dann noch die fehlenden Features, wie z.B. der Politikbereich. Der ist zwar teilweise schon im Code drin, für das Release aber inaktiv. Und die Modifikatoren und fehlenden Spielmodi sollen auch noch kommen. Dann wärs endlich "Featurecomplete", nach über 7 Jahren Entwicklung :)

Also viel Spaß beim Zocken und Feedback geben (meine Hauptmotivation ;) )

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: Sa Jun 08, 2013 09:43 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Projekt Weltherrscher - Phase 2 ist ab dem 20. Juni auch auf Desura verfügbar!

Bild

Nachdem PjW schon länger auf IndieDB vertreten ist, und dort auch recht gut ankommt, wird es ab dem 20.Juni nun auch auf deren digitaler Vertriebsplattform Desura verfügbar sein. Sprich wer den Desura-Client installiert hat kann sich dort direkt die Windows oder Linuxversion installieren und von dort aus starten, natürlich weiterhin als Freeware.

Passend zum Release gibt es dann auch ein aktualisiertes Video dass die aktuelle Version zeigt.

Das ist dann also sowohl für mich, als auch für PjW die erste digitale Distributionsplattform. Das Verfahren auf Desura ist relativ einfach und das Team hat recht schnell reagiert und mit mir offene Punkte bis zum Release abgearbeitet. Wer also gerne mal eines seiner Spiele digital veröffentlich will, dem sei Desura ans Herz gelegt ;)

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Projekt "W" - Phase 2
BeitragVerfasst: Di Jun 25, 2013 06:08 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Es läuft nativ unter OSX!

Seit letztem Wochenende hab ich endlich Zugriff auf ein Mac OSX und hab dort direkt meine Entwicklungsumgebung und alle benötigten Libs installiert. Wer auf mehreren Plattformen entwickelt weis vermutlich wie ähnlich sich Linux und Mac OSX sind (basiert ja auf Darwin, und das ist Unix), sprich so lange wie das Portieren nach Linux durfte der Port nach Mac OSX keinesfalls dauern. Und dem war auch so, den ein knappes Wochenende hat gereicht um den ersten nativen Mac OSX build zu kompilieren und laufen zu lassen :

Bild

In naher Zukunft wirds Projekt W also auf einer dritten Plattform geben :)

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Neues Release
BeitragVerfasst: Sa Jul 13, 2013 12:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Neues Beta Release #201 - Jetzt mit nativem x86_64-Release

Downloads :


Highlights :
  • Native linux x86_64 version.
    Zusätzlich zum 32-Bit Linux-Release gibt es jetzt auch eine native Version für Linux x86_64, damit auch Leute ohne Installation von Multiarch das Spiel geniessen können ;)
  • Bug behoben der Umweltgebäude an der Fertigstellung gehindert hat.
  • Bug behoben der die für globale Projekte benötigen Geldmittel falsch berechnet hat.
  • (Linux) Die Soundbibliothek wird jetzt dynamisch geladen.
    Sprich wenn diese nicht vorhanden ist oder geladen werden kann, startet das Spiel trotzdem, bringt dann aber eine entsprechende Meldung.
  • (Linux) Ausführbarkeitsflag für Script und Binary sind jetzt gesetzt.
  • Jede Menge Rechtschreib- und Grammatikfehler behoben.

Aufgrund der Portierungsarbeiten für Mac OSX hat das Release hier etwas länger gebraucht. Es gibt noch kein Datum für diesen Port, das Spiel läuft aber komplett unter Mac OSX, und alle betriebssystemspezifischen Dinge (Auflösungen lesen und setzen) sind implementiert. Das Release will aber noch getestet werden, und an echte Macs zu kommen ist in unseren gefilden nicht so einfach (wir haben nur nen Mac Mini in unserem Fachbereich).

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ] 
Foren-Übersicht » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.029s | 17 Queries | GZIP : On ]