[Projekt] Universe (Spiel)

Joa wie gesagt, wenn ich die GUI zum Anzeigen der Eigenschaften fertig habe (~ morgen Abend oder Freitag), lade ich den aktuellen Build (= aktuelle Version) mal hoch.

Lg
 
Was die Minimaps angeht: Das mit den Radarstationen ist keine schlechte Idee, würde sicherlich etwas mehr Taktische Tiefe einbringen, aber meint ihr nicht, dass das dann irgendwann zu viele werden könnten? Aber dazu könnte ich ja eine Liste machen, sodass man sie ein/aus blenden kann und falls ein Feind gesichtet wird, bekommt der Spieler eine Nachricht o.ä..

Jap, das habe ich mir im Nachhinein auch überlegt. Eine Meldung, wie ein aufleuchtendes Icon samt Signalton, dass auf feindliche Bewegung hinweist. (Wahlweise deaktiverbar, wenn man es nahe feindlicher Systeme setzt, sofern dort Patroullien unterwegs sind / Eventuell einstellbarer Radius hinsichtlich feindlicher Aktivität? Alles möglichkeiten, die aber einen Test benötigen und zudem müssen die Einheiten auch erst mal stehen.)

Ich habe mir hinsichtlich Kämpfe eine Sache überlegt, sofern du interessiert bist: Wenn ein Schiff einen Planeten angreift, dann denke ich, kann es aufgrund seiner Größe vielleicht keine genauen Schläge durchführen, heißt also, nur eine bestimmte Struktur angreifen - da wäre dann ja vielmehr eine Art Splash-Damage vorhanden, heißt also ein prozentual ausgerichteter Schaden, den alle Gebäude nehmen. Man braucht also kleinere Schiffe, um einzelne Strukturen direkt anzugreifen. Ebenso denke ich, dass bei globalem Schaden folglich auch die Natur leiden muss. Heißt, wenn Planet XYZ Bäume besitzt, die vielleicht in der Zukunft nicht mehr so interessant sind - oder Berge mit Minen - dann müsste bei einem groß angelegten Angriff, zum Beispiel durch Raketenbatterien, ja folglich auch das Ökosystem leiden. Berge werden einfach mal kaputt geschossen, Minen stürzen ein, ganze Landstriche werden verwüstet - vielleicht könnte man im Nachhinein solche Dinge hinzufügen, die es schwerer machen, einen Planeten wieder aufzubauen - oder gar zu übernehmen. (Was nützt mir eine kaputte Infrastuktur?) Somit wären dann kleine, taktische Angriffe sinnvoller. Aber das sind alles Elemente, um die du dich kümmern solltest, wenn es erst mal so weit ist. ;)
 
Ansonsten füg ich dann morgen noch die internen Sachen für eine grobe Terrascore Simulation etc. ein und bastel dann erste GUI Elemente zum Anzeigen der Eigenschaften der Himmelskörper zusammen. Ich denke man sollte die Eigenschaften der Objekte aber nur sehen können, wenn ein Raumschiff o.ä. des Spielers in der groben Umgebung ist oder wie seht ihr das?

Von mir aus kann ich dann auch mal noch den aktuellen Build hochladen :)

Lg

1) also bei space rangers 2 konnte man seine Schiffe mit
- Antrieb
- SChildgenerator
- einem Tank
- Greifarm (zum aufsammeln der Items)
- Scanner mit bestimmter Reichweite
- max. 5 Waffen (bei kampfraumschiffen)
- max 4 "Sonderdingern" (also mehr dies und das oder resistent gegen so und so)
- und noch irgendwas
ausrüsten.

Je nachdem, wie gut der Scanner war, wurden auch entfernte objekte auf der Minimap angezeigt und halt informationen zum Schiff, wenn man es scannt. Vllt kannst du so etwas ähnliches ja auch umsetzen :)

2) jaaa noch einen Build :D
 
Öhm, was ist ne Terrascore Simulation?
Und wird es bei der nächsten Version vielleicht auch ne Linux Version geben?

1 oder 2 Seiten weiter vorne im Thread wurde das eingebracht. Es handelt sich einfach um einen Wert/Stufe, die die bewohn- oder besiedelbarkeit eines Planeten angibt. Da fließt u.a. die Temperatur der Planeten etc. ein.
Eine Linux Version wird wohl noch etwas dauern, ich warte erst noch, bis das neue Rendering-System der SFML fertig ist, dann muss ich sowieso einiges umbauen. Außerdem muss ich das Multithreading erst noch auf Boost (Library) umstellen, im Moment wird noch die WinAPI verwendet. Und dann brauche ich noch jemanden, der das für mich kompiliert, denn ich habe keinen PC mit Linux und ich glaube das muss dann auf einem Linux-System kompiliert werden, damit nicht die Windows-Runtime etc. gelinkt wird. Bin mir da aber nicht sicher, denn ich habe bisher nur auf Windows programmiert. Hat hier jemand Erfahrung mit C++ auf Linux?

@ KILLTHIS: Das sind gute Ideen, allerdings denke ich, dass ich bei dem Ökosystem etc. nicht zuu sehr ins Detail gehen sollte (Bäume etc.), sondern einfach 2-3 verschiedene Öko-Bereiche mache, wie z.B. Atmosphäre, und diese dann "beschädigt" werden.

@fadade: Es wird sicherlich Forschung und Upgrades für die Raumschiffe geben, aber ich denke einzelne Gegenstände/Waffen für die Raumschiffe ist dann doch etwas zuu viel, denn es ist ja immer noch ein Strategie Spiel und ich hätte jetzt z.B. eher weniger bock 50 Schiffchen einzeln mit Gegenständen/Waffen auszurüsten :ugly:

Lg
 
Eine Linux Version wird wohl noch etwas dauern, ich warte erst noch, bis das neue Rendering-System der SFML fertig ist, dann muss ich sowieso einiges umbauen. Außerdem muss ich das Multithreading erst noch auf Boost (Library) umstellen, im Moment wird noch die WinAPI verwendet. Und dann brauche ich noch jemanden, der das für mich kompiliert, denn ich habe keinen PC mit Linux und ich glaube das muss dann auf einem Linux-System kompiliert werden, damit nicht die Windows-Runtime etc. gelinkt wird. Bin mir da aber nicht sicher, denn ich habe bisher nur auf Windows programmiert. Hat hier jemand Erfahrung mit C++ auf Linux?
Hoi,
also man muss es definitiv auf Linux compilen. Linux und Windows verwenden ja schon unterschiedliche Binärformate (ELF vs. PE), so dass die Binarys von Windows nicht nativ auf Linux lauffähig sind (außer halt mit Wine). Aber das sollte soweit kein Problem sein, solange du plattformunabhängige Libs (wie boost und SFML) verwendest. WinAPI-Zeugs ist natürlich eher schlecht ;)

Das Compilen kann ich gerne übernehmen.
 
@ KILLTHIS: Das sind gute Ideen, allerdings denke ich, dass ich bei dem Ökosystem etc. nicht zuu sehr ins Detail gehen sollte (Bäume etc.), sondern einfach 2-3 verschiedene Öko-Bereiche mache, wie z.B. Atmosphäre, und diese dann "beschädigt" werden.
Das war auch nur ein Beispiel, damit man es sich etwas verbildlichen kann, wie ich es meine. :)
 
@ pyro539: Danke für dein Angebot es zu kompilieren. Werde dann wieder auf dich zukommen, wenn es soweit ist, denn wie gesagt warte ich noch, bis das neue Rendering System da ist und dann muss ich das Threading noch umstellen.
@ Killthis: Dann ist ja gut, denn die Idee ist wirklich nicht schlecht. Das ganze kann ich dann noch in den Terrascore mit einberechnen.

Ich bin heute übrigens noch nicht ganz fertig geworden, habe mich zuerst noch mal ein wenig der Performance und Code Struktur gewidmet und etwas aufgeräumt. Morgen im Laufe des Tages sollte ich dann soweit fertig sein, sodass ihr wieder was zu testen habt :D Werden allerdings keine soo großen Unterschiede sein, also hauptsächlich grafisch und eben die kleine GUI Anzeige zum auslesen der Eigenschaften der Himmelskörper.

Lg
 
Alsoo.. ich wär dann soweit fertig für den 2. Pre-Apha release :D

Changelog (im Vergleich zur ersten Demo):
- Grafik stark überarbeitet (neue Hintergründe, Shader, Nebel, schönere Texturen für Asteroiden und Asteroidengürtel)
- Performance im Verhältnis zu den neuen Features leicht verbessert
- Mapgenerierung im Hintergrund, wenn man an den Rand der Map gelangt -> unendlich große Maps möglich, solange genug Ram da ist :D
- Map wird zu beginn in einem anderen Thread generiert, sodass die Anwendung beim Klick auf "NewGame" nicht hängen bleibt, sondern ein Loading Screen erscheint
- Singlethreading ist rausgeflogen und Multithreading leicht verbessert
- erste GUI-Elemente zum Auslesen der Eigenschaften der Himmelskörper wurde integriert
- viele, viele kleinere Verbesserungen

To Do Liste für die nächsten Tage:
- Planetenpositionen beim erstellen nicht in einer Reihe, sondern zufällig berechnen
- Parameter bei der Mapgenerierung integrieren, sodass z.B. entschieden werden kann ob man mit oder ohne Schwarze Löcher spielen will oder grafische Einstellungen wie '"Bunte"/Einfarbige Nebel' - die üblichen Einstellungen vor einem neuen Spiel halt
- gesamtes Maprendering und Updating überarbeiten, das dürfte einen ziemlichen Performance schub geben, besonders bei sehr großen Maps
- neues Renderingsystem der SFML einbauen, sobald es denn mal endlich erscheint. Damit lösen sich hoffentlich die Probleme, die noch mit manchen AMD Grakas bestehen.
- mehr Hintergründe mit Gimp erstellen (im Moment nur 3 verschiedene)
- Terrascore berechnen. Dazu bin ich heute leider nicht mehr gekommen, da noch einige entscheidende Elemente fehlen und bisher nur die Temperatur als Faktor da ist.

Bekannte Bugs (treten alle nur bei AMD Grakas auf):
- Light-Shader Bug: Zentrum des Light-Shaders wird nicht richtig gesetzt. Graka: HD3650m
- Glow-Bug: Von den "glowenden" Objekten gehen weiße Kreise aus, bis alles weiß ist. Graka: HD6950 - jetzt auch mit HD5870
- VSync Bug: Das Spiel stürzt ab, wenn man Ingame VSync an oder aus macht. Passiert nicht im Menü. Graka: HD5870 - gefixt

Sobald das dann fertig ist, werde ich beginnen das richtige Spiel zu entwickeln. Es wird mit einem Heimatplaneten beginnen und dann werde ich das ganze kontinuierlich, wie bei der Map, um neue Features erweitern (zuerst Test-Einheiten/Gebäude bauen, dann neue Planeten besiedeln usw).

Steuerung:
- Pfeiltasten: Bewegung der Kamera nach links,rechts,oben und unten
- Mausrad und +/- Tasten: Zoomen
- rechte Maustaste: Asteroiden spawnen (nicht mehr linke Maustaste wie bei der letzten Demo)
- Esc: Menü
- TAB: Screenshot
- linke Maustaste: Falls auf einen Himmelskörper geklickt wird, werden links unten die Eigenschaften angezeigt
- F1: Zwischen den Backgrounds umschalten. Der neue Background wird zufällig ausgewählt. Daher kann es sein, dass ihr mehrfach drücken müsst, weil eine hohe Wahrscheinlichkeit besteht, dass der neue Background der selbe wie der alte ist (es sind ja bis jetzt nur 3 verschiedene).

Download und Hinweise:
Ich habe es wieder in meine DropBox hochgeladen, da es für das Forum zu groß ist. Die Dateigröße ist leider um ~95% von 21 MB auf 39 MB gewachsen. Hier kann es runtergeladen werden.

Wichtig: Falls DLL-Fehler auftreten (wie z.B. MSVCR100.dll fehlt), müsst ihr noch das Microsoft Visual C++ Redist installieren (Ja auch die x86 bzw. 32 Bit Version wenn ihr ein 64 Bit OS habt).


Performance-Feedback ist diesmal nicht so wichtig, da sich da nicht soo viel getan haben sollte (Außer ihr fliegt solange in eine Richtung weiter, sodass eine riesige Map entsteht.), es geht mir diesmal eher darum, ob euch die Grafik gefällt oder eher nicht. Wenn nicht, wüsste ich gerne von euch was nicht gefällt :) Falls jemand doch ganz schreckliche Performance hat ist das natürlich eine Ausnahme, dann wüsste ich gerne davon ;)

Hier sind noch ein paar Screens der aktuellen Version:

Screen - 38.5248.jpg Screen - 45.7089.jpg Screen - 92.454.jpg

Lg
 
Zuletzt bearbeitet:
Joa da hab ich mich wohl verschätzt :schief:
Die Hintergründe sind max. 2048x2048 groß und dein Bildschirm hat wohl ne größere Auflösung auf der X-Achse, soweit ich das von den Screens her beurteilen kann.
Werde die Hintergründe dann wohl auf 3000er Auflösung vergrößern müssen :/
Ist aber definitiv kein Bug in dem Sinne, sondern eher ein Phänomen, das ich nicht bedacht habe :D

@ NCphalon:

Gut, die Masse werde ich dann noch korrigieren, war nur geschätzt. Die Umlaufzeit und Geschwindigkeit stimmen eigentlich, ich muss sie nur noch positiv anzeigen. Wenn sie negativ sind, heißt das nur, dass sie anders herum rotieren, wie die positiven.

Lg
 
Joa da hab ich mich wohl verschätzt :schief:
Die Hintergründe sind max. 2048x2048 groß und dein Bildschirm hat wohl ne größere Auflösung auf der X-Achse, soweit ich das von den Screens her beurteilen kann.
Werde die Hintergründe dann wohl auf 3000er Auflösung vergrößern müssen :/
Ist aber definitiv kein Bug in dem Sinne, sondern eher ein Phänomen, das ich nicht bedacht habe :D



Lg

Stimm habe eine Auflösung von 2560*1440;)
 
Läuft super bei mir! (Auch das ändern von vsync) :daumen:


Was mir jetzt als einzigstes negativ aufgefallen ist:
Mit einem Mausklick spawnen ja viele Partikel, welche irgendwann den Bildschirmrand erreichen. Wenn dieses Partikel zur hälfte über den Bildschirm rand ist, und es quasi somit den Mittelpunkt überquert, wird die restliche hälfte des Punkts die noch zu sehen ist einfach ausgeblendet. Ich weiss zwar nicht wie das genau bei dir funktioniert aber da sollte man vielleicht noch etwas dran basteln... sollte sich ja eig. schnell einrichten lassen?! :)
 
Guut, dann ist der VSync Bug jetzt schon mal weg :)

Das mit den Partikeln/Asteroiden hat folgenden Hintergrund: Ich teste bei diesen kleinen Objekten lediglich, ob ihre Position (ihr Zentrum) im Bild liegt, oder z.B. bei der Kollisionsberechnung auch, ob die Position im Radius des Planeten etc. liegt. Das mache ich nur aus Performance Gründen, denn es ist schneller zu testen Ob ein Punkt irgendwo drin liegt, als zu testen, ob sich 2 Rechtecke/Kreise überschneiden. Ich könnte es also praktisch sofort ändern, aber würde das auch auffallen, wenn die Asteroiden/Partikel nicht manuell mit der Maus gespawnt werden würden?

Lg
 
Korrekt und dann wäre es ein Rechteck und um jetzt zu testen, ob das Rechteck das Rechteck des aktuellen Bilds berührt, brauche ich halt mehr Leistung als einfach zu testen, ob der Punkt darin liegt. Aber du hast Recht, ich sollte es ändern, ist ja kaum Aufwand. Diese Optimierung stammt noch aus der Phase, wo ich richtig viele Asteroiden hatte und diese nicht um die Kamera gespawnt wurden. Dort musste das für ~500.000 Asteroiden/Partikel gemacht werden, statt für die max. 1500 jetzt. Da hat es glaube ich ~50% ausgemacht :D

Abgesehen davon bin ich im Moment am kompletten Redesign der Map (Codetechnisch). Läuft bis jetzt sehr gut, die Performance dürfte besonders bei sehr großen Maps stark steigen :)
Mal sehn ob ich heute Abend fertig bin..

Lg
 
Ich habe ehrlich gesagt voll den Grafikbug bei mir! Kann man nur schlecht erklären...
Habe gerade nicht so viel Zeit aber ich mache später mal ein Foto oder am besten gleich ein Video :what:

Edit// Okay hab das Video schnell gemacht...
Anhang anzeigen Engine_Video.zip

GPU war eine HD 5870 :what:
 
Zuletzt bearbeitet:
Ja, das ist der beschissene Glow Bug, der nur auf manchen AMD Grakas manchmal auftritt -.-
Ist das jetzt das erste mal oder war das vorhin auch schon, denn gestern Abend hast du noch geschrieben, dass es gut läuft. Seitdem vllt. irgendwie Treiber oder so verändert?
Habe leider keine Ahnung, wie das auftreten kann. Eigentlich sieht es aus, als würden die RenderTargets, in die das Zeug reinkommt, das "glowen" soll, nicht richtig gecleart und dann fegt der Blur Shader das nächste Frame über den selben Inhalt drüber und so breitet sich das dann langsam kreisförmig aus. Ich werde nacher mal was probieren und dir die veränderte .exe dann per PN zukommen lassen. Allerdings muss ich zuerst das Map System fertig machen, da im Moment nicht kompilieren kann.

Lg
 
Zuletzt bearbeitet:
Zurück