Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Da das Projekt im Moment nur ein Hobbyprojekt ist, gibt es natürlich kein DRM oder Kopierschutz. Ist mir völlig egal wer was damit macht, solange er nicht behauptet er hats gemacht
...
Unter CC Lizenz oder so... Mich würde der Quellcode brennend interessieren... Bin zwar Erst am Anfang von C++ (Werde noch ne weile brauchen um es wirklich drauf zu haben) und kann etwas VB.NET (Sondermüll mmn) aber Code lesen und verstehen kann ich schon relativ gut (In fast allen Sprachen)...
Die Grafiken, die ich bis jetzt habe sind jetzt alle drin
Insgesamt bis jetzt 38 verschiedene Planeten, aber nur 2 Sonnen..
Bei den Planeten hatte ich Glück, denn ich hab ne sehr ergiebige Quelle gefunden
Muss jetzt noch ein paar kleinere Sachen machen, dann gibts heute Abend oder Morgen irgendwann den ersten Test
@Psycho1996: Joa ich denke wenns fertig ist, geb ich es Open Source raus. Kann dir aber auch jetzt schon ein paar Stellen zeigen. Was würde dich denn interessieren?
...
@Psycho1996: Joa ich denke wenns fertig ist, geb ich es Open Source raus. Kann dir aber auch jetzt schon ein paar Stellen zeigen. Was würde dich denn interessieren?
...
Soo, ich bin jetzt fertig, nun dürft ihr testen
Erwartet allerdings nicht zu viel, es ist wie gesagt nichts spielerisches drin.
Wenn ihr einen Bug findet, bitte bescheid geben, bei Grafikbugs wenn möglich mit Screenshot. Ihr können einen Screenshot machen, indem ihr TAB drückt. Dieser wird dann als PNG-File im Ordner Screenshots gespeichert. Ansonsten ist konstruktive Kritik natürlich gern gesehen
Wenn ihr auf "NewGame" drückt, kann es (je nach Prozessorgeschwindigkeit) ein wenig dauern, da die Map generiert wird und Texturen geladen werden.
Falls ihr linke Maustaste gedrückt habt, werden Asteroiden an der aktuellen Mausposition gespawnt. So is wenigstens ein bisschen Interaktion in der "Technik-Demo", auch wenns nichts großartiges ist
Eine FPS Anzeige befindet sich links oben. Es wäre nett, wenn ihr mir die FPS ohne VSync mitteilen könntet und evtl. noch welcher Prozessor/Grafikkarte und Settings
Weitere Anmerkungen/To Do:
- Ladescreen einbauen, um die Wartezeit bei "NewGame" zu überbrücken
- Mapgenerator erweitern -> schwarze Löcher, "Nebel", Doppelsternsysteme etc.
- Im Moment sieht die Map überall (bis auf die Grafiken) ziemlich "gleich" aus -> mehr Zufall/Abwechslung. Vorschläge was hier noch hinzugefügt werden könnte sind gern gesehen
- Hintergründe neu machen
- verschiedene Shader (Hitze-Wellen, Lichtkrümmung(schwarze Löcher), Radial Blur bei großen Explosionen)
- Im Menü einige Dinge hinzufügen, wie z.B. Partikelqualität(anzahl), Zoomgeschwindigkeit etc.
- Bei den Sternen evtl. Ausbrüche mit Partikeln machen
- ein paar LOD/Performance Sachen
Grundlegende Steuerung:
- Pfeiltasten: Bewegung der Kamera nach links,rechts,oben und unten
- Mausrad und +/- Tasten: Zoomen
- linke Maustaste: Asteroiden spawnen
- Esc: Menü
- TAB: Screenshot
Aufgrund der Texturen, die ich heute mittag noch eingefügt habe, ist die Größe allerdings auf 21 MB angewachsen..
Leider kann ich die Zip nicht hier hochladen, da 20MB zu viel ist
Ich habe sie daher in meiner Dropbox hochgeladen. Ihr könnt sie unter diesem Link downloaden.
Wer DropBox nicht kennt: Dropbox - Simplify your life. Wirklich ein Klasse Tool, man kann Dateien ganz einfach in seiner DropBox ablegen und hat sie überall verfügbar. Dateien im "Public-Ordner" können auch über einen Link öffentlich gemacht werden (so wie dieser hier ).
Wichtig: Falls ihr einen Fehler ala "MSVCR100.dll fehlt" o.ä. bekommt, müsst ihr noch das Microsoft Visual C++ Redist installieren (Ja auch die x86 bzw. 32 Bit Version wenn ihr ein 64Bit OS habt). Das wird bei kommerziellen Spielen ebenfalls verwendet, allerdings meistens ältere Versionen von 2005 oder 2008, da die Projekte begonnen wurden, bevor die 2010er Version rauskam. Deshalb ist es bei euch wahrscheinlich noch nicht installiert.
Lg
Edit:
@Psycho 1996:
Ich weiß jetzt nicht genau, was ich zeigen soll, denn ich kann hier jetzt natürlich keine 1000 Zeilen posten , aber hier jetzt z.B. mal die Berechnung der Gravitationskraft, die von den Planeten auf die Asteroiden wirken (hab noch ein paar Kommentare hinzugefügt):
Code:
// Kollision testen (kein genauerer Test, da die Asteroiden sehr klein sind und daher ein "Punkt im Kreis"-Test bereits ausreicht
// wenn sie nicht kollidiert sind
if (!bmd::math::PointInCircle(OPos,(*iPlanet)->GetPosition(),(*iPlanet)->GetRadius()))
{
// Gravitationskraft berechnen
// Distanz zum Planeten berechnen
float Dist = bmd::math::GetDistance(OPos,(*iPlanet)->GetPosition());
// "Stärke" der Kraft berechnen (Anmerkung: Die Gravitationskonstante hat einige Nullen weniger, da es sich sonst bei meinen Maßstäben kaum bemerkbar machen würde)
float Strenght = -0.0000667384f * ((OMass*(*iPlanet)->GetMass())/(Dist*Dist));
// Richtung der Kraft berechnen...
Temp = OPos - (*iPlanet)->GetPosition();
bmd::math::Normalize (Temp);
// und mit der Stärke multiplizieren
Temp *= Strenght;
// Die berechnete Kraft zu den restlichen Kräften, die auf den Asteroiden wirken addieren
Force += Temp;
}
// Wenn sie kollidiert sind
else
{
// Collided = true bewirkt, dass für diesen Asteroiden die Gravitation auf alle anderen Objekte nicht mehr berechnet werden muss
Collided = true;
// Neues Kollisionsobjekt erstellen. Wird dann später vom Mainthread mit der entsprechenden Spiellogik ausgewertet
Collisions->push_back (new Collision (A_P,(*iObject),NULL,(*iPlanet)));
// Aktuelle Schleife verlassen, damit die ganzen Berechnungen für die Restlichen Planeten nicht mehr ausgeführt werden müssen
break;
}
Das ganze ist "etwas" zusammengefrickelt, weil der Teil aus dem Physik Thread stammt und das Multithreaded auch noch funktionieren muss (Zugriff auf Objekte etc.)
@Pagz: Wie würdest du dir das Begehen von Planeten vorstellen? Das Spiel ist ja wie gesagt in 2D, da könnte ich höchstens eine, dem Planeten entsprechende, 2D Map mit den gebauten Gebäuden etc. basteln. Aber spielerischen Nutzen würde das meiner Meinung nach eher weniger haben..
Ich bekomme beim ausführen nen MSVCR100.dll Fehler... Ist nicht auf dem Rechner vorhanden... Wenn ich mir die DLL ziehe fehlt der Prozedureinsprung "_invalid_parameter_noinfo_noreturn"...
Kannst mir mal deine MSVCR100.dll schicken? Wenn es danach nicht besser wird schicke ich dir mal meine Systeminfos (Vom Notebook, Dektop teste ich morgen^^)... Vielleicht ein Bug im zusammenspiel mit meiner HW...
Ismir grad auch aufgefallen, bin aber beim Durchlesen davon ausgegangen das das keine Ganze Klasse ist und die Massendeklarationen irgendwo davor sind^^
Ohh das hab ich ja ganz vergessen
Ihr müsst alle noch das Microsoft c++ 2010 Redist runterladen, falls dieser Fehler auftritt.
Sowas wird auch bei allen großen kommerziellen Spielen installiert, allerdings im Moment meistens noch die Version von 2008 oder 2005, weil die noch mit den älteren Versionen arbeiten (Vermutlich weil die Projekte vor 2010 begonnen wurden).
@ joffal
Der Code kommt teilweise von der Asteroiden Klasse, allerdings werden die von dir genannten Variablen (2D float Vectoren) im Thread deklariert. Die Deklarationen sind da nur nicht drauf, weil das ein gutes Stück weiter oben war und ich das nicht mitkopiert habe
So vorweg mein System:
Phenom 2 X4 965 @ 3,4 GHZ
GTX460 1GB @ Leicht übertaktet ^^
Hatte alles an außer vsync.
Nach klick auf New Game, dauert es zwischen 2-10 Sekunden bis er fertig geladen hat.
Komplett leerer Raum ganz herangezoomt ~770 fps
Komplett herausgezoomt mit sechs sichtbaren Sternen ~290 fps
Komplett an eine sonne herangezoomt ~720 fps
An ein "Sonnensystem" mit einer Sonne und sechs Himmelskörpern gezoomt ~585 fps
Und noch zwei Bilder. Frames sind da bis auf 18 gesunken für einen kurzen Moment. Sah dafür aber noch erstaunlich flüssig aus.
Einziges Problem. Das Spiel stürzt reproduzierbar ab, nachdem ich auf New Game klicke wenn bereits eine Map geladen ist.
Ansonsten läuft alles wunderbar, weiter so .
Edit: Wo ich jetzt nochmal getestet habe musste ich nach einem Klick auf New Game, erst noch nen Links klick machen damit ich ins spiel kam. Ansonsten "lädt" er noch ewig weiter.
Dass die FPS so niedrig waren, liegt an den vielen Partikeln, die in diesem Moment gespawnt werden, da gerade dann eine Menge Asteroiden einschlagen. Im richtigen Spiel werden wohl kaum so viele Partikel (die man wegen dem grellen weiß der Sonne in dem Moment gar nicht mal alle richtig sieht) auf einmal gespawnt werden. Außerdem ist das Rendering der Partikel noch nicht vollständig optimiert, ein klein bisschen werd ich da noch rausholen können
Den Bug habe ich bei mir auch, dürfte relativ einfach zu finden sein, fixe ich aber erst morgen, jetzt hab ich keine Lust mehr dazu^^
Dein System ist fast das selbe wie meins, außer die Graka ist bei mir ne übertaktete GTX 470. In "vollen" Szenen habe ich noch ~330-350 FPS.
Wieso komme ich erst jetzt auf diesen Thread!!!?
Hört sich sehr interessant an! Werde mir das Spiel demnächst mal Dln ich hoffe meine Gtx570 packt das.
Dieses Projekt muss sofort auf die Main!
Hey, ich habe gerade auch die Demo getestet, sieht eig sehr nett aus
Mein System: Q8200@ 2,33ghz
Gt 320
6gb ddr 3 ram
Rausgezoomt hatte ich bei einem leeren Raum ca. 180 Fps
Vollständig reingezoomt hatte ich 200 fps
Rausgezoomt mit vielen Planeten hatte ich 39-52 fps je nach sichtbaren Planeten
Läuft eigentlich ganz gut, wenn man bedenkt dass mein System nicht so stark ist und sieht eig sehr nett aus .
Ja das hab ich mir auch schon überlegt. Da die Tag/Nacht Seiten aber schon in den Grafiken drin sind, werde ich die Planeten einfach immer so drehen, dass sie mit der Tag Seite zur Sonne zeigen. Es schaut sich sowieso niemand die Eigenrotation der Planeten 5 min lang im Detail an
Was auch noch wirklich cool aussehen würde. Das kleine Planeten im Schatten von großen verschwinden. Ich hoffe ihr versteht was ich meine .
Auch das ist mir schon durch den Kopf gegangen, ich weiß bisher nur noch nicht wie ich es umsetzen kann. Aber ich bastel da mal an nem Shader und schau dann obs tauglich ist
Rausgezoomt hatte ich bei einem leeren Raum ca. 180 Fps
Vollständig reingezoomt hatte ich 200 fps
Rausgezoomt mit vielen Planeten hatte ich 39-52 fps je nach sichtbaren Planeten
Läuft eigentlich ganz gut, wenn man bedenkt dass mein System nicht so stark ist und sieht eig sehr nett aus .
@Pagz: Wie würdest du dir das Begehen von Planeten vorstellen? Das Spiel ist ja wie gesagt in 2D, da könnte ich höchstens eine, dem Planeten entsprechende, 2D Map mit den gebauten Gebäuden etc. basteln. Aber spielerischen Nutzen würde das meiner Meinung nach eher weniger haben..
Mh stimmt, das könnte schwierig werden. Höchstens könnte man es so machen, dass man gefragt wird, ob man den Planeten betreten will, sobald man in seine Nähe kommt, wodurch sich dann eine neue Map läd, die eben der Planet ist.
Ich hoffe du verstehst, wie ich es meine
Mh stimmt, das könnte schwierig werden. Höchstens könnte man es so machen, dass man gefragt wird, ob man den Planeten betreten will, sobald man in seine Nähe kommt, wodurch sich dann eine neue Map läd, die eben der Planet ist.
Ich hoffe du verstehst, wie ich es meine
Sowas ähnliches wird es geben. Man wird, wenn man einen Planeten angeklickt hat (oder auch nicht, muss ich einfach testen, was besser ist^^) und stark heranzoomt eine kleinere Map zu Gesicht bekommen, auf der der Planet in groß und sein umgebender Orbit mit all den Raumstationen, Gebäuden und Schiffen sehen können. Allerdings hatte ich bis jetzt keine "Bodenansicht" des Planeten geplant (da ich wie gesagt eigentlich keinen großen spielerischen Nutzen darin sehe; In 2D wären ja jetzt auch keine soo wirklich spektakulären Landschaften möglich). Genauso läuft es mit den Raumschiffen, die gerade irgendwo herumfliegen. Man wird stark heranzoomen können um dann praktisch eine "Schlachtkarte" zu haben. Ein paar Seiten weiter vorne wurde schon mal sowas in der Richtung diskutiert.