[Projekt] Universe (Spiel)

Hi,
ich hab dein Projekt gerade auf der News Seite entdevkt und hab gleich mal Lust bekommen das auszuprobieren. Ich benutze immonemt jedoch Linux, wollte es aber dennich mit Wine versuchen. Nachdem ich die dll Fehler ausgemerzt hatte, blieben nur noch Ladefehler übrig, die ich mir aber nicht erklären kann. Ich hab treotzdem mal ein Spiel gestartet -> Ergebnis, der Hintergrund blieb schwarz, aber ich konnte Asteroiden, in Form von kleinen weißen Punkten spawnen, zoomen/bewegen funktioniert auch. Vielleicht kennt sich da ja jemand aus.
Ausgabe von wine
Code:
faflfama@faflfama:~$ wine /opt/pcgh/Project\ Universe.exe 
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:wgl:X11DRV_wglChoosePixelFormatARB unused pfAttribFList
Failed to load font "Data/Fonts/pirulen.ttf" (failed to create the font face)
Failed to load image "Data/Textures/Starfield1.png". Reason : Unable to open file
Failed to load image "Data/Textures/Starfield2.png". Reason : Unable to open file
Failed to load image "Data/Textures/Starfield3.png". Reason : Unable to open file
Failed to load image "Data/Textures/Starfield4.png". Reason : Unable to open file
Failed to load image "Data/Particles/1.png". Reason : Unable to open file
Failed to load image "Data/Particles/Smoke2.png". Reason : Unable to open file
Mein System
Ubuntu 11.10
Kernen 3.0.0-11-generic
Gnome 3.1.91

Q9400
Gtx 560 Ti

*Update*
Was ich gerade noch bemerkt habe: auch wenn "im Spiel" keine Planeten, etc. sehe, kann ich sie als weiße Kreise auf den Schaltflächen des IngameMenüs sehen
 
Zuletzt bearbeitet:
Das mit den farbigen Wolken war zuerst auch so, dass jede Wolke nur eine Farbe haben kann, aber das sah schlechter aus als jetzt, fand ich. Aber ich gehe auf jeden Fall mit der Sättigung etwas runter.
Ich baue demnächst auch noch einige Parameter ein, die man angeben kann, wenn ein neues Universum erstellt wird. Darunter wird z.B. schwarze Löcher an/aus sein. Da könnte ich das mit den Farbigen Wolken eigentlich auch einbauen, sind ja nur ein paar Zeilen Code =)

An Boni für die Rassen auf verschiedenen Planeten hatte ich auch schon gedacht. Ich werde die Wahl der Planetentextur dann noch abhängig von der Temperatur machen, die wiederum abhängig von der Entfernung zur Sonne ist. Dann kann man bereits auf den ersten Blick mehr oder weniger erkennen ob der Planet gut geeignet ist.

Lg

Edit: @Nvidia Freak: Im Moment läuft das Spiel (noch) nicht auf Linux. Ich denke es wird auch nicht mit Wine laufen, denn zum laden der Texturen verwende ich im Moment noch etwas WinAPI, daher ist Windows im Moment noch zwingend nötig. Abgesehen davon ist die komplette Runtime ebenfalls von Windows (daher wohl die DLL Fehler). Das Grundgerüst läuft aber auch auf Linux, deswegen steht einer Linux Version später nichts im Wege.
 
@KILLTHIS: Zu Beginn wird man einen Heimatplaneten besitzen. Das besiedeln weiterer Planeten/Monde, wird wahrscheinlich mit einer speziellen Einheit möglich sein. Ich überlege allerdings für die Planeten eine Art Terrascore System einzubauen, sodass nur Planeten mit den entsprechenden Voraussetzungen besiedelt werden können bzw. die Vielfalt der Siedlung (an Gebäuden etc.) beschränkt ist. Man wird den Score allerdings verbessern können. Wie, das muss ich mir noch überlegen. Desweiteren können auf Gasplaneten und Asteroidengürteln nur Raumstationen zum Rohstoff abbau gebaut werden, keine Siedlungen.

Das klingt soweit sehr gut!
Wie wäre es da mit dem klassischen Terraforming? Sowas findet man doch quasi an jeder Ecke. Das könnte eine Art gigantisches Raumschiff sein, das in verschiedenen Instanzen agiert und somit die Vorraussetzung zur Umwandlung schafft. Allerdings müsste man natürlich auch für ein Terraforming auch Dinge wie z.B. den Abstand zur Sonne miteinberechnen. Bei zu hoher Temperatur wäre vermutlich kein Leben möglich, ausser man hat eine Art Mega-Biodom, das mit der Temperatur fertig wird. Und mit was für Dingen kann man rechnen? Militärgebäude, Rohstoffgebäude, etc.? Wird dann vielleicht auch eine Art klassifizierung, gemessen an dem Vorhandensein von Gebäuden durchgeführt?

MfG

KILLTHIS
 
Genau sowas hatte ich mir vorgestellt :D.
Wenn doch nur die Großen Publisher auch so auf ihre Kunden/Fans hören würden...Obwohl...dann würden sich wahrscheinlich alle Spiele wie CoD spielen :ugly:.
 
Zuletzt bearbeitet:
@Nvidia Freak: Im Moment läuft das Spiel (noch) nicht auf Linux. Ich denke es wird auch nicht mit Wine laufen, denn zum laden der Texturen verwende ich im Moment noch etwas WinAPI, daher ist Windows im Moment noch zwingend nötig. Abgesehen davon ist die komplette Runtime ebenfalls von Windows (daher wohl die DLL Fehler). Das Grundgerüst läuft aber auch auf Linux, deswegen steht einer Linux Version später nichts im Wege.

Das ist doch mal lobenswert, dass eine LinuxVersion sehr wahrscheinlich ist. Bis dahin werde ich wohl mit Windows vorlieb nehmen müssen :(
 
Zuletzt bearbeitet:
@KILLTHIS:

Terraforming hört sich nicht schlecht an :) Die Idee mit dem großen Raumschiff ist auch gut. Es sollte allerdings eher langsamer und schlecht bewaffnet sein, damit man auch etwas aufpassen muss und es entsprechend wertvoll ist :)
Die Temperatur etc. wird dann natürlich mit einberechnet, sie hängt z.B. vom Abstand zur Sonne ab.
Allerdings muss ich schauen, dass das ganze im RTS Modus (es wird einen Modus geben, der eher auf Kampf konzentriert ist und einen der eher auf Wirtschaft zielt) nicht zuu komplex wird, bzw. es zu lange dauert neue Planeten zu besiedeln. Im Wirtschaftsmodus dagegen kann es ruhig etwas langsamer zugehen. Bei den Gebäuden und den Rohstoffen wird es auch auf den Modus ankommen. Im RTS Modus sind lediglich 3-4 Rohstoffe geplant, man soll schnell zum Kampf bzw. voran kommen. Daher wird es auch entsprechend weniger verschiedene Gebäude geben. Im anderen Spielmodus wird es aber deutlich mehr Rohstoffe geben, die auch weiterverarbeitet werden können/müssen. Militärgebäude wird es natürlich ebenso geben. Genaue Gebäudebezeichnungen/arten habe ich noch nicht ausgearbeitet. Außerdem dachte ich, dass man evtl. Energie produzieren muss, damit alle Gebäude eines Planeten funktionieren, wenn zu wenig da ist, liegt z.B. die Produktion still.

Lg

Edit: Ich bin jetzt bei 5128 Zeilen Code (ohne Engine). Vor ~2 Wochen waren es 2207 Zeilen.
 
Zuletzt bearbeitet:
Holla die Waldfee!
Respekt vor deiner Arbeit, das muss man sagen. Ich lasse eben gerne Ideen einfließen. Wenn der Wirtschaftsmodus auf Micromanagement abzielt, musst du aber auch zusehen, dass es nicht zu schwer wird alles zu handhaben. Aber kommt Zeit, kommt Rat oder wie heißt das noch? *G* Ich helf' dir gern, falls du unterstützung hinsichtlich Ideen brauchst. Vom Rest... naja, verstehe ich leider nichts. *G*
 
Soo, heute Abend hab ich bis jetzt eine erste Version der Mapgenerierung im Hintergrund gebastelt. Desweiteren habe ich mich entschlossen die Multithreaded Einstellung aus dem Menü zu nehmen und nur noch Multithreaded zu arbeiten, denn wenn ich Singlethreading auch anbiete (was ja eigentlich heutzutage keiner mehr braucht), habe ich einiges an Code doppelt und die ganze Verwaltung ist um einiges schwieriger zu durchschauen. Und mal ehrlich, wer braucht diese Option? Wenn die CPU zu schwach sein sollte (durch Multithreading entsteht ja ein gewisser Overhead), wäre sie sowieso zu schlecht um das Spiel vernünftig darzustellen. Ich hoffe ihr stimmt mir da zu oder hat jemand Argumente für die Singlethreaded Variante ?

Wenn das dann soweit fertig ist (noch heute Abend, oder morgen), mach ich mich endlich an den Spielinhalt. Dabei fange ich dann erstmal bei Grundlegender GUI an, wie z.B. eine Minimap zur Orientierung. Dabei gibt es 2 Optionen:
- Die Minimap bildet die gesamte Map ab. Nachteil: Wenn die Map wächst, werden die Minimap Inhalte immer kleiner
- Die Minimap bildet immer nur einen etwas größeren Bereich als die Kamera ab. Nachteil: Es ist keine klassische Minimap, mit welcher man sofort sehen kann, wo man sich befindet, denn wenn man z.B. zuu weit weg geht, ist der eigene Planet o.ä.) nicht mehr auf der Minimap, da ja nur die Umgebung abgebildet ist.

Zusätzlich werde ich noch eine "normale" Map einbauen, die sich in einem etwas größeren Fenster öffnet, sobald man mit dem Mauszeiger auf die Minimap drückt oder die Taste "M" drückt. Diese Map wird dann Scrollbar sein und mehr Details beinhalten, als die Minimap. Sie ist praktisch einfach eine sehr Stark rausgezoomte Version des eigentlichen Spiels (ohne GUI, natürlich nur das Universum ;)).

Desweiteren habe ich mir Gedanken über Fog-of-War (schwarzer Nebel etc. in Strategiespielen, damit der Spieler z.B. den Gegner nicht sieht) gemacht. Auch hier wieder die Qual der Wahl:
- kompletter Fog (alles verdeckt, auch Planeten, Sterne etc.)
- nur Gegner etc. unsichtbar, Rest der Map leicht verdunkelt, damit man erkennen kann, welcher Bereich sichtbar ist

Meinungen zur Minimap oder zum Fog erwünscht :)

Lg
 
zum Fog würd ich eher die zweite Variante nehmen.
und zur minimap würd ich das lieber machen wie bei den X3 Reunion ist machen. ob das bei den anderen X-Games ist weiß ich nicht. hab nur das gespielt
Also das Sonnensystem, in dem man ist, abbilden. und die große karte zeigt dann nur den Bereich oder Sonnensysteme die man erkundet hat.
 
Hallo KingofKingzZ

Ich habe es endlich geschafft mir die Demo anzuschauen. Besonders gut haben mir schon die Sonnensysteme gefallen. Es macht schon in der Demo Spass, einfach zu zusehen wie die Planeten um die Sonne ihre Bahnen ziehen. Gerade die Grafiken der Sonnen, Planeten und die der Monde passen richtig gut zusammen. Dafür schonmal Respekt! Auch das jetzt schon das Kollisionmodell funktioniert finde ich super. Gerade wenn sich dann mal einer der Asteroiden verirrt und den eigenen Planeten oder die Sonne trifft. Vielleicht lassen sich später daraus ja auch Zufallsereignisse generieren lassen?

Worauf ich mich schon freue, sind die neuen Hintergründe und auch die schwarzen Löcher, die hier im Forum schon zu bewundern sind. Wäre es vielleicht auch möglich, in den Hintergründen auch noch Galaxien hinzu zufügen? Ich denke das würde den Eindruck eines großes Universum's noch verstärken. Ich denke auch das Deine Nebeleffekte eine gute Bereicherung sein werden. Wie ich schon in meinem ersten Post sagte, ich bin echt beeindruckt von deiner Arbeit.

Hier ist mal ein Nasa Foto von weit entfernten Galaxien (leider ist es etwas pixelig).
http://img197.imageshack.us/img197/2668/galaxien.jpg</a>http://img197.imageshack.us/img197/2668/galaxien.jpg

Gruß Marko
 
Zuletzt bearbeitet:
@MRXYZ: Nur das Sonnensystem, in dem man ist abzubilden, wird bei meinem Spiel etwas schwierig, da der Übergang von "in einem System sein" und "mehrere Systeme sehen" aufgrund des Zooms ja fließend ist. Außerdem ist ja schon fast das gesamte System abgebildet, wenn man mit leichtem Zoom an eine Sonne fliegt, daher wäre das wohl eher unnötig das System nochmal extra abzubilden.

@Bartolomeus: Schön, dass es dir gefällt :) Zufallsereignisse u.a. mit Asteroiden o.ä. sind natürlich geplant, um etwas Abwechslung aufkommen zu lassen. Weit entfernte Galaxien könnte ich natürlich auch in die Hintergründe einfügen, ich müsste nur wissen, wie ich das anständig mit Gimp realisieren kann. Naja werde da mal experimentieren :)

Lg
 
Das freut mich zu hören! Das hört sich für mich immer mehr nach einem würdigen Master of Orion Nachfolger an. :daumen: So ein Spiel vermisse ich schon länger!

Marko
 
Hi!

Zur Singlethreadoptimierung: Allenfalls vielleicht schade für Leute mit älteren Systemen oder schwächeren Zweitsystemen, aber dort wäre die Darstellung vermutlich eh nur schlecht zu handhaben.
Zur Minimap: Wie wäre es mit "Radarstationen"? Heißt, eine orbitale Einheit, die keinerlei Angriffsfunktion hat, dafür aber ein kleines Menü besitzt, wo alle orbitalen Stationen "ihre Minimap" zeigen - die könnte man dann vielleicht eigenhändig auf dem Bildschirm anzeigen lassen in kleinen Fenstern. Somit könnte man wichtige Schlüsselpunkte nebenher kontrollieren, während der eigene Bildschirm ganz woanders ist. (Notfalls male ich mit Paint auf, was ich meine. *G*) Dabei könnte man dann noch definieren, wie die Radarstation Einheiten wahrnimmt; Heißt, reagiert sie auf Hitze oder Signaturen von Energie, etc. pp.
Beim Fog würde ich es so machen: Entdeckte Planeten sollte man im Bild behalten können, aber nicht, ob sich dort bereits jemand angesiedelt hat oder nicht.
 
KILLTHIS schrieb:
Hi!

Zur Singlethreadoptimierung: Allenfalls vielleicht schade für Leute mit älteren Systemen oder schwächeren Zweitsystemen, aber dort wäre die Darstellung vermutlich eh nur schlecht zu handhaben.
Zur Minimap: Wie wäre es mit "Radarstationen"? Heißt, eine orbitale Einheit, die keinerlei Angriffsfunktion hat, dafür aber ein kleines Menü besitzt, wo alle orbitalen Stationen "ihre Minimap" zeigen - die könnte man dann vielleicht eigenhändig auf dem Bildschirm anzeigen lassen in kleinen Fenstern. Somit könnte man wichtige Schlüsselpunkte nebenher kontrollieren, während der eigene Bildschirm ganz woanders ist. (Notfalls male ich mit Paint auf, was ich meine. *G*) Dabei könnte man dann noch definieren, wie die Radarstation Einheiten wahrnimmt; Heißt, reagiert sie auf Hitze oder Signaturen von Energie, etc. pp.
Beim Fog würde ich es so machen: Entdeckte Planeten sollte man im Bild behalten können, aber nicht, ob sich dort bereits jemand angesiedelt hat oder nicht.

Jaa :daumen:
Am besten möglichst viele einzelne Fenster, ich muss noch nen zweiten monitor ausnutzen :ugly:
 
Also, die Mapgenerierung im Hintergrund ist jetzt nach ein paar Startschwierigkeiten soweit fertig. Was noch etwas "doof" aussieht ist, dass die Planeten und Monde der frisch generierten Chunks immer rechts der Sonne in einer Linie stehen. Das liegt daran, dass diese nicht wie die bei der Mapgenierung am Anfang, einige Zeit simuliert werden. Da war ich bisher zu faul zufällige Positionen auf der Kreisbahn zu bestimmen. Außerdem habe ich das Singlethreading entfernt und das Multithreading noch etwas ausbalanciert. So lasten sich der Physik und Render Thread nun beide fast vollständig aus (Insgesamt 45% von max. 50% eines Quadcores). Der Partikelthread muss immer mal wieder in "Schüben" berechnen, daher ist der da jetzt nicht dabei.
Allerdings komme ich bei größeren Maps (so im Bereich von 40x40 (1600) Chunks = 800.000 Pixel x 800.000 Pixel) schon an Performance Grenzen. Die meiste Zeit geht da beim Culling (Ausschließen von Objekten zum rendern/berechnen) drauf. Das lässt sich noch stark optimieren, allerdings habe ich im Moment keine Lust dazu, da ich dann die halbe Map Struktur umbauen muss :P
Und höchst wahrscheinlich wird man sowieso eher weniger eine so große Map im Spiel selbst haben. Notfalls kann ich das später immer noch machen, da die Map schön von der eigentlichen Spiellogik gekapselt ist. Evtl. baue ich auch einfach eine Sperre ein, die es nicht erlaubt mit der Kamera weiter als einen bestimmten Wert von irgendeiner Einheit/Gebäude/Planet des Spielers wegzugehen. Aber wenn ich so nachdenke eigentlich eine eher schlechte Idee. Naja vllt. gibts dafür mal ne Option "Kamera Fixieren" oder so ähnlich im Menü =)

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.ä..

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
 
Zurück