Entwickler Community
Submitted by Thor on 15 February, 2008 - 16:20
Um die Mitarbeit Anderer zu fördern wäre ich dafür das OpenSource Projekt CQS in verschiedene Ressorts bzw. Submodule mit dazugehörigen Verantwortlichen für jeden ersichtlich zu gliedern und hier (conquer-space.net) zu veröffentlichen. Und es kann sich dann quasi jeder bei dem einschreiben was ihm liegt und den Leiter fragen, wo er sich einbringen kann bzw. dem Leiter seine Neuerungen vorstellen. Entwicklung Grafik und Design Balancing und Rundenmanagement Dokumentation / Hilfe Sicherlich steht atm fast überall Sara und Ulf jedoch wenn der einzelne sieht das nicht nur Hardcore-Coder benötigt werden, fällt ihm die Einarbeitung in CQS evtl. etwas leichter. |
lol hat er sich noch
lol
hat er sich noch schnell eben bei grafiken dazugeschrieben. ^^
Unsere Ueberlegung war, dass
Unsere Ueberlegung war, dass wir erstmal ne Version zum Runterladen machen, so dass man einfacher zu Hause dran werkeln kann, ohne sich monotone o.ae. installieren zu muessen. Quasi ein Update von CqS Galaxy auf die aktuellste Version zum superleicht runterladen und loslegen.
hm...
wird denn dann diese version auch spielbar sein ohne mit eclipse daher kommen zu müssen?
weil eine update hätte galaxy tatsächlich mal nötig.
zumal ich auch heute noch anfragen bekomme von usern, die das verwenden.
also bitte nicht das thema simples galaxy daheim spielen unterschätzen, es ist tatsächlich sehr geliebt geworden.
nicht zuletzt weil es so einfach start, bedeinbar und fernsteuerbar ist.
so können selbst leihen die zocken wollen das ding bedienen.
die idee hat sich durchgesetzt und wird gerne angenommen...
Uhm, man braucht auch jetzt
Uhm, man braucht auch jetzt kein Eclipse, um CqS spielen zu koennen. (Auf dem Server laeuft auch kein Eclipse.) Wenn man CqS selbst compilieren will, reicht auch apache ant, das man aber installiert haben muss.
Konsistenz
Jop, wenn es einen konsistenten Stand gibt, ist es tatsächlich kinderleicht das "normale" CQS zu installieren.
Folgende Befehle setzten den CQS-Server auf (from Source) (Soweit ich das ausm Kopf sagen kann)
cqsDir> ant
cqsDir> java -jar Startup.jar demo
cqsDir> java -jar Startup.jar start
danach steht der Server via Browser zur Verfügung und kann mit der IP des Rechners und Port 9292 angesprochen werden:
http://ip:9292
Nun kann man noch in die Adminkonsole gehen wenn man z.B. an der Zeit rum schrauben will: http://ip:9292/Admin/
Die 3 Befehlszeilen da oben könnte man auch in einer .bat Datei für Windoof oder in einer .sh Datei für linux als install_cqs.sh ablegen wenn man zu faul ist sie einzutippen.
Ehrlich gesagt habe ich den Sinn von CQS-Galaxie nie richtig verstanden. Es wäre doch viel sinnvoller in die bestehende Web-basierte Admin-konsole von CQS mehr Energie zu stecken als umständlich was extra zu basteln...
okokok...
der grund für galaxi war, (bitte jetzt nicht böse sein) ulfs aussage.
2posts weiter oben auch schon wieder.
ich habe keine ahnung was er will oder mir damit sagen will.
ich sehe nur das ich sonst was installieren soll um dann endlich cqs spielen zu können.
der hintergrund war "machen".
wenn du also cqs spielen willst einfach "spielen" klicken und los gehts.
nix installieren, nix extra rummwerken, nix programmieren.
einfach "machen".
das problem war also das wir hatten, das wir immer stets die falschen, oder unzureichenden informationen hatten.
darum hat sich damals der andre, (java noob, was aber ausreichte) damit beschäfftigt und die datein gefunden, die man umschreiben muss um hier oder da etwas zu verändern.
dann hat er ein programm geschrieben das extern auf diese einstellungen und werte zugegriffen hat und sie verändert hat.
was ich sehr schön finde, das wir im irrtum waren und es also doch auch so einfach gänzlich ohne galaxy läuft.
das ist mir bisher völlig neu und wir die cqs comunity sehr freuen.
um jetzt aber nicht das ende von galaxy einzuleuten, würde ich den vorschlag machen, das ab sofort unter galaxy immer eine fertige, konsistente, spielbare vertigcompilierte version zum download bereit steht.
bei der man also wie gewohnt ohne installationen von tomcat oder eclipse einfach starten kann.
es bliebe dann aber noch an sara für diesen fall, dann noch die hilfe für galaxy entsprechend abzuändern,
da ja dann kein externes galaxy mehr notwendig ist.
Also, es ist seitdem auch
Also, es ist seitdem auch deutlich einfacher geworden, CqS laufen zu lassen. Aber fuer die oben genannte Version muss man schon das komplette Java JDK und ant installiert haben...
Wir koennen also fuer den kompletten, einfach (per doppelklick) lauffaehigen Download weiterhin den Namen Galaxy verwenden.
Abhängigkeiten
Najo man könnte ja z.B. auch nen .deb-Packet machen in dem die Abhängigkeiten definiert sind.
Oder für z.B. Ubuntu Linux einfach ein Script mit folgenden Inhalt anlegen:
installCQS.sh:
cqsDir> apt-get install sun-java6-jdk
cqsDir> apt-get install ant
cqsDir> ant
cqsDir> java -jar Startup.jar demo
cqsDir> java -jar Startup.jar start
Das könnte man für Ubuntu Linux als installCQS.sh ablegen.
Da das besch.+.* Windoof keine Packetverwaltung besitzt ist man da tatsächlich gezwungen den Schmarn runter zu laden und zu installieren.
installCQS.bat:
cqsDir> start explorer http://apache.basemirror.de/ant/binaries/apache-ant-1.7.0-bin.zip
cqsDir> start explorer http://java.sun.com/javase/downloads/index.jsp
cqsDir> msg * /W Bitte Fenster erst schließen wenn alles installiert ist
cqsDir> ant
cqsDir> java -jar Startup.jar demo
cqsDir> java -jar Startup.jar start
3D Engine
PS wo wir schonmal so hübsch über Software debatieren:
Ich versuche zurzeit eine 3D-Gerenderte Koloansicht zu implementieren. Hierbei habe ich gerade schon gute Erfahrungen mit Java3D gemacht. Jedoch habe ich gerade gelesen, dass Sun Java3D nicht weiter entwickeln will sondern später in JavaFX eine 3D Unterstützung integrieren möchte.
Meine Bedenken was Java und 3D angeht sind nun, das man hiermit zu vielen Restriktionen unterworfen ist was z.B. Effekte wie Nebel oder den verlustfreien Import von 3D-Modellen aus Blender angeht. Ebenfalls befürchte ich das die Weiterentwicklung stagniert.
Deshalb habe ich mich einmal nach "richtigen" 3D-Engines umgesehen und 2 Interessante Kandidaten gefunden:
Crystalspace
- www.crystalspace3d.org
- Habe ich gestern erfolglos versucht zu Compilieren.
Es gibt leider noch keine binaries die problemlos installiert werden
können um mal ein wenig Erfahrung zu sammeln...
- Arbeitet angeblich mit Blender zusammen
Ogre
- http://www.ogre3d.org
- Habe ich einfach installieren können
- Scheint eine gut- handlebare und flexible Architektur zu besitzen
- Hat "blenderxml" Fähigkeiten
- Besitz eine Java Bridge
- Wurde schon von Coolen Progs verwendet:
http://www.ogre3d.org
Hat evtl. noch wer anders Erfahrungen mit 3D Engines oder einen Vorschlag was man sich evtl. noch angucken sollte?
also...
wenn wir schon bei dem thema 3d-engines sind, kann ich ja nochmal die blenderengine anbringen. ^^
ich weis ich weis. die is schrott. yaber ist die einzige die ich kenne, die man per mouse bedienen kann über blender.
die engine geht auch komplett blenderlos.
man ist dann allerdings
1. auf windows angewiesen (.exe fieles)
2. wird die mit python gesteuert (keine richtige sprache und nie vorinstalliert)
3. aber vorteile sind eindeutig, das sie auch schon eine physik engine integriert hat. (bewegtes wasser im glas, gravitation, slashmodeller(explosive zersplitterung))
@ulf
das hört sich gut an. *freu*
könnt ihr dann mal wenn einer zeit hat, eine aktualisierung vornehmen und in der beschreibung/hilfe näher darauf eingehen wie man nun startet und konfiguriert?
@thor
ich denke mal das eine .deb gut sein sollte, da das dann auch andere ditributionen wie suse, redhat, mandriva u.s.w. verwenden können, da sie neben dem .rpm support auch eine debian kompatible .deb unterstützung mitbringen. um externe debian packete nachinstallieren zu können...
blender
Wieso ist man da auf Windows angewiesen?
Blender läuft bei mir auch wunderbar unter Linux.
Kann man nicht einfach direkt Blender auf der Konsole mit Übergabeparametern aufrufen, was er rendern soll bzw. den Ort einer Python Datei angeben, die er nehmen soll?
Zum Thema .deb oder ähnlichen:
Die meisten Leute verwenden nun mal Windoof weshalb ein Komplettpaket mit allen integrierten Abhängigkeiten doch am sinnvollsten wäre. Man könnte theoretisch auch nen Cron-job einrichten der CQS in einer Art daily-Build automatisiert baut und zum Download anbietet jedoch ist die aktuelle Nachfrage nach Binaries ja nicht so hoch, dass sich weitere Bemühungen in diese Richtung lohnen würde. Wer nen aktuellen Stand compiliert haben möchte kann mich ja einfach kontaktieren und ich bau ihm einen...
...
also in blender gibts unten den button, mit dem du direkt zu den einstellungen und konfigutrationen für die gameengine gelangst.
dort kann man grafisch etwas basteln (funktional).
dort wird auch das script hinzugefügt.
wenn man dann fertig ist und zb. einen sich drehenden pklaneten entworfen hat, oder ein männchen das irgendwo langläuft, dann erstellt man eine "runtime".
nun werden alle daten zusammengefasst und in eine ausführbare datei gefasst.
unter windows entsteht eine .exe. die auch .dll's benötigt.
unter linux kenn ich das format nicht, aber ich weis, das auch dieses nicht kompatiebel ist mit windows.
irgendwann wird es auch eine erweiterung für mac geben, dann sind es 3 verschiedene formate, die alle inkompatibel zueinander sind.
die idee mit der blender-engine war ja auch nur ein tip, da ich weis, das die blender engine eigendlich nicht zur debatte steht, da sie stark eingeschränkt ist und zudem inkompatibilitäten vorweist...
machma lieber was eigenes, is wohl besser.
Nene ich hab mich en bissl
Nene ich hab mich en bissl mehr in blender eingelesen und im Grunde kann es genau das, was ich will:
- Man kann es ohne GUI via Übergabeparameter arbeiten lassen
Daher wäre auch ein zyklischer/automatischer Cronjob-Aufruf denkbar
- Man kann ein Python Script übergeben (das die Objekte zur Kolo anordnen soll)
- Die spezifischen Kolodaten bekommt man schon irgendwie rein.
Man könnte z.B. ein weiteres Pythonscript zur laufzeit generieren,
in dem nur die Arrays aus Werten für die jew. Kolo drin stehen...
- Man kann die fertige Szene in verschiedene Formate Exportieren wie z.B. auch ein simples Bild was man dann in CQS anzeigen könnte
...
also nachdem du gestern hier warst, und mir alles erklärt hast und mir dein schönes blenderbuch gezeigt hast, kann ich nur sagen, WOW, wieder was über blender gelernt.
wenn du allerdings eine kolonie für cqs umsetzen willst, kommt eine arbeit auf mich zu, die ich eigendlich schon seid jahren vor mir hin schiebe.
weil wenn du eine kolonie darstellen willst, brauchst du unzählige modelle auf ienem haufen.
daber kommt das problem der polygonendichte auf dich zu, weil einfach irgendwann ab einer bestimmten größe, der server abkack.
ich muss also neue modelle entwickeln im "LowPoly" design.
das ist sowas wie die königs disziplin, weil ein modell zu bauen is das eine, aber optimiert zu arbeiten und ien lowpolymodell auf die beine zu stellen, ist fast 4x so schwer als meine bisherige arbeit.
herausvorderung hin oder her, es wird dauern, bis ich etwas vorzuweisen habe.
aber meineserachtens ergibt sich noch etwas neues aus deiner überlegung heraus.
wenn du nähmlich alle grafiken online renderst, kannst du auch gleich die einzelnen grafiken rendern.
damit brauche ich nur noch iene .blend raufladen und dein script rendert die grafiken im gewünschten format, inder gewünschten größe und speichert sie an den gewünschten ort.
damit kann ihc aktualisierungen vornehmen, die niemand sonst einarbeiten muss.
so könnte ich zb. auch event grafiken entwickeln.
ich denke da zb. an spezies hasencorvette mit rosa plüsch. sowas könnte man als kleinen gag zu ostern einbauen.
dein script muss nur registrieren, ob eine blenderdatei erneuert wurde und dann die entsprechenden abzüge ziehen.
also für mich wäre so eine funktion schon interresannt und cool.
Performance
Also den Punkt Performance sehe ich etwas unkritischer als du.
Hierfür gibt es 2 Gründe:
1.) Ich würde keine ~2k Objekte pro Kolo erstellen sondern pro Gebäudetyp bzw. pro Gebäudetyp und Ausbaustufe nur ein einziges Objekt in einen nicht- sichtbaren Bereich initiieren.
Zur Laufzeit werden die n-vielen Kolonie-representationen dieser Objekte einfach nur "gelinkt". Also keine separaten Objekte generiert, sondern nur Referenzen mit Lokalisationsunterscheidung erstellt (sowas geht mit Blender).
2.) Die Grafiken werden nicht in Echtzeit generiert. Also für den Anfang könnte man pro Tag eine Aktualisierung an den Kolobildern vornehmen. Dieser Vorgang könnte dann nachts 1 Uhr gestartet werden und mit sehr niedriger Thread-Priorität vor sich her dümpeln. Also haste sagmer mal 5h für das Rendering Zeit. Aber selbst 20h wären dank der niedrigen Priorität verkraftbar!
Ich gehe im worst-case von max. 30 sek Renderingzeit pro Bild aus. Das macht selbst bei 1k Kolonien max 8,3h Rechenzeit. Außerdem sind meiner Meinung nach gerade mal so 200 Kolos voll ausgebaut also über 2k Gebäuden und beanspruchen daher die Hauptlast.
Ich denke mal man kann diese Werte durch Konfiguration schon dahin drücken wo man sie haben will...
nun ma was anderes
ich habe das gefühl, das die überlegungen hand und boden haben, die wir anregen und so realisierbar sind, nun ist mir aber aufgefallen, das wir ein wenig auf einen dialog zurückgefallen sind.
ich würde gerne mal ulf's oder sara's meinung zu dem thema oder einigen ideen hören...
also ulf, sara sagt auch ma was dazu...
Also, nen raytracer auf dem
Also, nen raytracer auf dem Server laufen lassen, ist vermutlich machbar, sofern die Performance und der Speicherverbrauch des Raytracers im akzeptablen Bereich sind.
Wenn es tatsaechlich so aussieht, wie in Thors Beispielrechnung, dann ist es leider nicht machbar.
30s pro Kolo bei 2000 Kolos sind das fast 17 Stunden. Umgerechnet auf einen Tag laeuft der Server dann die gesamte Zeit bei fast 70% Last, was absolut inakzeptabel ist.
Als Faustregel wuerde ich sagen, der Raytracer darf nicht mehr als 10% CPU und 10% Speicher verbrauchen, wenn die maximale Anzahl Kolonien maximal ausgebaut ist. Das sind etwa 4.32 Sekunden fuer eine voll ausgebaute Kolonie bei einem Speicherverbrauch von nicht mehr als 100 MB.
Wie schlimm es wirklich wird, wissen wir natuerlich erst, wenn wir einen Prototypen haben. Es gibt aber mehrere Strategien, mit denen wir die Performance besser machen koennen:
1. Wir benutzen einen schnelleren Raytracer. Ich nehme nicht an, dass Blender einen Geschwindigkeitsrekord im Raytracer aufstellt.
2. Wir benutzen Modelle mit kleinerer Polygonzahl. Das hilft sowohl fuer den Speicherverbrauch als auch fuer die Rechenleistung.
3. Wir bauen die Kolomodelle so auf, dass sie mit steigender Gebaeudezahl nur langsam groesser werden. Zum Beispiel: Wenn man 1-10 Wohngebaeude hat, kriegt man ein kleines WG-Modell. Wenn man 10-100 hat, gibts ein groesseres, und bei 100-1000 gibts ein sehr grosses. Das hat auch einen ueberzeugenden visuellen Effekt: kleine Kolos haben kleine Gebaeude, groessere Kolos haben richtige Wolkenkratzer.
4. Wir lagern das Rendern auf einen anderen Rechner/andere Rechner aus. Zum Beispiel koennen wir Spielern Quota geben, wenn sie einen Teil des Raytracings uebernehmen.
Der erste Schritt fuer nen Prototypen ist, dass er eine 2D Kolo-karte aus der Gebaeudeliste und einem Zufallsgenerator erstellen kann. Dazu muessen Gebaeude anhand der Gebaeudeliste selektiert und auf der Karte angeordnet werden.
nur eins von mir... zu
nur eins von mir...
zu deinem punkt 3. das feature war schon seid 2jahren geplant. bestes beispiel ist das neue wohnhaus.
die idee ist wie in simciti eine quadrierung vorzunehmen nach felderanzahl. dabei ist es wichtig, wiviele gebäude wie und von welchem typ nebeneinander angeordnet sind. geplant waren feldgrößen von: 1x1, 1x2, 2x2, 2x4, 4x4
wenn du mal genau schaust, das neue wohngebäude von mir hat die größe von 4x4. da sind auch satelitenstation, kraftwerk, usw. in der größe untergebracht.
aber aufgrund der mangelnden resonanz, habe ich nun nach 2 jahren aufgegeben gehabt und daher einen teil meiner neuen gebäude gezogen.
es war nie geplant gebäude zu entwickeln, auf denen so viele details sind wie bei meinen neuen, da alle alten gebäude einer fläche von 1x1 entsprachen, aber viele neue gebäudebilder von mir größen von 2x2 haben.
wenn ihc also wieder neue grafiken mache, dann wieder ähnlich den alten im 1x1 stil.
man könnte jedoch auch noch erweiterungen machen. wenn man zb. eine weitere kolonie besiedelt hat, kommen grafiken mit 1x2 fläche
und bei jeder weiteren kolonie auch.
damit wird ersichtlich, wie die gebäude größer werden, nach anzahl der kolonien.
damit wachsen die gebäude mit meiner intergalaktischen expansion mit.
jedoch will ich sowas nicht mehr rendern.
bei sowas wünsche ich mir einen renderer aufm server, der das mit euren namen, und euren auflösungen dahin speichert wp ihr wollt.
ich brauch dann nur noch .blend datein erstellen und auf den server hochschieben.
der server muss ja nur rendern, wenn sich das datum einer datei ändert, also wenn quasi einer eine aktuellere hochgeladen hat.
aber diese massen an bildern, kann ich nicht mehr überschauen und wünsche mir eine entlastung.
Das Script zum generieren
Das Script zum generieren der Kolo hab ich schon länger fertig.

Atm bauts automatisch die kolo und renderts auch (siehe unten)
Derzeit muss ich noch die Anbindung bzw. die Serialisierung machen...
Hier mal nur mit cubes..
Natürlich lässt sich das easy durch die richtigen Gebäudeobjekte austauschen..
also wenn ihc ehrlich bin,
also wenn ich ehrlich bin, bekomme ich richtig enorme lust und ergeiz die würfel gegen kleine gebäude zu tauschen um mir das mal mit buildings anzusehen.
einfach nur herrlich... *dahinschmelz*
aber noch geiler, wennde das dann auch noch hinbekommst, das er 1x1, 2x2, 3x3 und 4x4 zusammenfässt zu größeren gebäudekomplexen.
dann könnte ich auch richtige wohnanlagen oder industriecentren gestallten...
Also das mit dem
Also das mit dem zusammenfassen hab ich mir nochmal durchn kopp gehn lassn:
Es wäre doch besser, wenn man die Gebäude pro Gebäudeplatz weiter ausbauen würde. Weil du so die Kolo besser dimensionieren kannst. Die Zusammenfassung zu 4er etc ändert nichts an dem Problem das du von ner 10k Kolo lediglich das Stadtzentrum im Ausschnitt haben würdest. Außerdem wäre der Rechenaufwand mit den Bau nach "oben" auch besser in den Griff zu bekommen (wie Ulf schon erwähnte) weil du einfach mal bedeutend weniger Objekte hättest.
Ich möchte damit nicht sagen das wir das mit den 2x2ern nicht machen können, sondern nur das vorher jeder dieser 4 Gebäude erstmal auf seiner 3. oder 4. Ausbaustufe sein sollte und daher schon einiges in die Höhe ragen sollte.
Der Komplexität halber sollten wir es erstmal bei 2x2ern belassen. denn wenn du mal guckst:
Es gibt aufgerundet 20 Gebäudetypen in CQS
Wenn man wie oben vorgeschlagen 4 Ausbautypen pro Gebäude und ein "Mega-2x2-Gebaude" pro Typ vorsieht heißt das, dass du entweder 80 "neue" bzw. angepasste Gebäude basteln musst oder, das die Gebäude so konstruiert sein müssen, das ich sie zur Renderingzeit an der Y-Achse in die Höhe "ziehen" kann...
Denk mal drüber nach >bevor du antwortest<
also ich weis schon was du
also ich weis schon was du meinst, jedoch wird das nicht gehen.

wir haben doch beide mal spacepioneers gespielt und da war das auch so, das man die gebäude dann erstmal erweitert hat, ehe man weitere gebaut hat.
jedoch finde ich deine idee unsinnig das mit einem gebäude zu machen.
1. dieses sieht einen einschnitt in cqs vor, auch gebäude weiter zu erforschen. und wer soll das nur wieder programmieren.
2. ist das es für mich zu schwer wäre ein nach oben erweiterbares gebäude zu entwerfen, da dieses dann immer auf ein ringtower hinausläuft(siehe bild).
viel einfacher wäre es, für jede gebäude stufe ein neues gebäude zu machen und das dann zu nehmen. daher is der aufwan völlig unerheblich, da er in beiden beispielen gleich ist.
ob ich nun eins mache das statt 1x1, 2x2 ist eher eins mache das flach oder hoch ist, is egal.
Missverständnis
Bitte tu mir den Gefallen und les' dir den Post bis zu Ende durch und warte mind. 10 Sekunden bevor du antwortest. Ich habe oft den Eindruck, dass du Antwortest ohne die Problematik in Ihrer Gänze verinnerlicht zu haben.
Missverständnis
Zu dein 1.
Du hast das Prinzip nicht ganz verstanden:
CQS bleibt wie es ist.
Nur das, wenn man einen Gebäude baut dieses nicht nur als einzelnes an den Rand postiert werden kann sondern auch auf ein bestehendes "drauf" gebaut werden kann. Natürlich werden wir das Gebäude nicht direkt drauf bauen sondern das bestehende entweder in die höhe ziehen oder durch ein höheres Objekt ersetzten (je nach dem was besser ist).
Wichtig ist nur, das die Stadt die Fähigkeit bekommt in die Höhe zu gehen. Das Problem, wenn man lediglich 4 Gebäude durch ein größeres ersetzt ist, dass dieses Gebäude dann nicht aufeinmal doppelt so hoch sein kann. Weil das ist unrealistisch, dass man diesen Sprung mit den Ressourcen eines Gebäudes vollziehen kann. Deshalb ist es Besser:
entweder
a) mit dem Bau eines Gebäudes in die Breite zugehen (4 zu 1 zusammenfassen)
oder
b) in die Höhe (eines einzeln um die höhe eines Gebäude erhöhen) oder einen 4er um ein viertel der höhe eines Gebäudes erhöhen
oder
c) ein neues einzelnes Gebäude an den Rand zu setzen.
Variante c wird sicherlich die häufigste und wichtigste am Anfang sein. Wenn dann mehr und mehr Gebäude kommen könnte man Variante a wirken lassen. Und wenn die Kollo dann richtig groß wird, wird fast nur noch Variante b Sinn machen da die Kolo so langsam eine maximale Breite und Tiefe aufweisen sollte.
Bauplätze / Bauplatzkosten
Jeder Planet in CqS hat ja heute schon eine Grenze, ab der die Bauplatzkosten steigen, weil man nur noch "nach oben" baut. Kein Dein Script diese Begrenzung in die Visualisierung miteinbeziehen, indem die dargestellte Fläche an die jeweilige Planetenfläche angepaßt wird?
-
Oder einfach abhängig von der Infrastruktur machen.
Je besser die Infra, desto besser/höher/effizienter/kleiner werden die Gebäudestrukturen -> mehr Platz? (Vielleicht sollte man Infrastruktur noch eine zweite Boni geben!!! Und es den Bauplatzfaktor ein wenig reduzieren lassen)
Gruß
Dark
PS: Ich liebe es neue Ideen einzuwerfen :D
#ring
#schatten
"may the op be with u!"
Bauplatz
Die Bauplätze in die Überlegungen mit einzubeziehen ist eine super Idee.
Ich würde es jedoch nicht ganz so fest reglementieren.
Vorschlag:
Also ob Gebäude in die Höhe gebaut werden hängt von einer gewissen Grundwahrscheinlichkeit "gw" ab.
Die Möglichkeit des "in die Höhe bauens" hängt desweiteren von einer zusätzlichen Wahrscheinlichkeit ab, die abnimmt, je mehr sich die Gebäudepositionierung dem Kolonierand nähern. (Damit Kolos in der Mitte höher als am Rand sind). Nennen wir diese 2. Wahrscheinlichkeit hier mal "rw".
Ein weiterer Faktor soll nun also die Planetengröße sein. Bzw. die max. Bauplatzgröße bis es kostet. Nennen wir diese Größe mal "g".
Und schließlich die Anzahl der aktuell gebauten Gebäude "ag"
Zusatz:
Die Funktion trimOne() macht den übergeben Wert zu 1 wenn er größer 1 ist.
Hier nun mein Vorschlag, wie sich die Wahrscheinlichkeit, ein Gebäude in die höhe zu bauen, ergibt:
W= trimOne(ag/g)*gw*rw
also Bei 1k Gebäuden auf nen 2k Plani, einer festgelegten gw von 0.5 und einer rw von 0.9 (Zentrumnah) ergibt dies:
w=0.5*0.5*0.9
==> Zu 22,5% wird ein Gebäude in Zentrumnähe nach oben Gebaut. Wenn nicht, wird zum nächsten Gebäude in richtung Rand gesprungen und dort wirken dann wieder dieselben Wahrscheinlichkeiten, das ein Geb. in die Höhe gebaut wird.
(Eig. ja ein bischen weniger weil rw immer weiter abnimmt)
Das heißt in dieser Konstellation wird kaum noch ein Gebäude am Rand gebaut werden, da es bis zum Rand diese Wahrscheinlichkeit ja mindestens wurzel(1000) mal zum tragen kommt (Bis entschieden wird, dass das Gebäude an den Rand angefügt werden soll).
Natürlich muss es eine definierte maximale Ausbaustufen pro Gebäude geben, was die Aussage von eben wieder ein wenig relativiert. Also Wenn im inneren der Kolo bereits alles auf maximum ausgebaut ist, wirken ja nurnoch die Wahrscheinlichkeiten weiter am Rand. Da die dort jedoch wegen rw ziemlich klein sein sollten werden also doch noch Gebäude an den Rand plaziert.
Also so wie es sein sollte nich wahr?
Infrastruktur
PS:
Zum Thema Infrastruktur:
Dies ist noch eines der großen ungelösten Probleme.
Was eine Infrastruktur im einzelnen nun ist, ist bisher nämlich noch nicht ganz klar.
Atm könnte man ein Infrastrukturgebäude als eine Art Hangar für planetare Fluggeräte ansehen (Siehe Bild in CQS)
Es gab früher auch mal die Idee die Infrastrukturen als Röhren darzustellen die sich immer mehr verzweigen je mehr man baut...
Fest steht: wenn eine Infrastruktur 1:1 auf einen Gebäudetyp gemünst werden könnte wäre das von der Implemtierung her das schlüssigste und einfachste.
Man könnte bei der Hangar-Idee ja zusätzlich noch ein paar Gleiter in der Luft schweben lassen. Die 3D Modells gibt es hierfür bereits. So würden über Kolos mit viel Infrastrukturen viele Fluggeräte schweben und ein buntes treiben signalisieren...
Infrastruktur Infrastruktur
Infrastruktur
Infrastruktur ist von dem lateinischen infra (unten, unterhalb) abgeleitet. Die Infrastruktur (somit Unterbau) bezeichnet alle langlebigen Grundeinrichtungen personeller, materieller oder institutioneller Art, welche das Funktionieren einer arbeitsteiligen Volkswirtschaft garantieren. Meist wird sie Öffentliche Infrastruktur genannt. Der Begriff beinhaltet z. B. Verwaltung, Verkehr, Handel und Produktion.
http://de.wikipedia.org/wiki/Infrastruktur
In CqS gehoeren dazu insbesondere: Grundversorgung (Wasser, Strom, Luft, Netzwerk), Verkehr (Strassen, Flugwege, oeffentliche Verkehrsmittel), Kindergaerten, Schulen, Krankenhaeuser, Feuerwehr, Polizei, und Gerichte.
Ergo
Also sollten für Infrastrukturen
Hangars, Kindergaerten, Schulen, Krankenhaeuser, Feuerwehr, Polizei, Gerichte Wiederaufbereitungsanlagen und Rechenzentren im Wechsel gebaut werden?
Da wird sich scorp nicht drüber freuen^^
Tja... Das sichtbarste von
Tja...
Das sichtbarste von aussen sind mit Sicherheit Strassen/Flugwege, und fuer die anderen Sachen reicht erstmal ein generisches Gebaeudemodell.
-
Darstellungen/Änderungen?
-Gebäudestil (Fortschritt)
-Gebäudekomplexität
-Straßen
-Ökologie (Sauberkeit)
-Wusselfaktor (Also stark ausgeprägte Infrastruktur -> Dienstleistungsgesellschaft -> wusselnden kleine Menschen/Schiffe/Taxis usw.)
Infrastrukturkosten?
- Als Ausbildung integrieren?
- Extrakostenaufschlag?
- Begrenzen? Auf was?
Gruß
Dark
#ring
#schatten
"may the op be with u!"
Wir sollten die Realisierung
Wir sollten die Realisierung erstmal so einfach wie möglich halten. Sobald wir eine funktionierende Kollovisualisierung haben können wir immernoch über die nächsten Schritte nachdenken. Deshalb hier mein Vorschlag für erste Implementierung:
Infrastruktur wird als ein Gebäude dargestellt, bei dem in jeder Etage andock-Möglichkeiten für kleine Fluggeräte bestehen. Jede dieser Etagen bzw. Ausbaustufen wird dabei RPG-Technisch für etwas anderes Genutzt:
Der erste Etage könnte meinetwegen ein Polizeipräsidium innewohnen, und die Andockmöglichkeiten sind für die Polizei-Gleiter. Bei der 2. Etage handel es sich z.B. um eine Feuerwehr und Rettungswache und die weiteren Etagen sind z.B. Verwaltungseinrichtungen. Von Außen ist diese Zuordnung in der ersten Stufe ersteinmal nicht ersichtlich.
In späteren Implementierungen könnte es dann ein solches Gebäude pro Aufgabengebiet geben und kleine Fluggeräte darüber kreisen...
Atm hab ich ein viel schwereres Problem:
Die Methode Blender.Object.Duplicate() geht nicht im Background-Render-Mode. Ich habe bereits schon mit einen Blender-Entwickler darüber gechattet der meinte das ich einen anderen Weg für so ein Vorhaben gehen müsse. Jedoch ist dieser Weg (das "manuelle" Kopieren und Linken der Punkte und Oberflächen der Objekte) sehr viel aufwändiger...
Stand
Also das Problem mit den Duplizieren habe ich gelöst.
Atm warte ich noch auf zuarbeit von Scorp der gerade an optimierten Gebäudemodells arbeitet.
Renderzeit für folgendes Bild: 1,5 sek (kein Raytracing bei 800 Mhz CPU-Taktung)
Achja und die Kamera zoomt jetzt auch schon abhängig von der Kolosize rein oder raus:
...
also das sieht schon sehr vielversprechend aus, jedoch muss ich zugeben das ich im mom in meiner arbeit stagniere.
irgendwie kann ich immer nur arbeiten wenn ich lust habe, hatte aber bislang noch keine mehr gehabt.
was nicht heisen soll das ich es nicht mache...
meistens geht flott voran, wenn ich dann loslege...
also bite nich böse sein.
PS:
bitte macht doch mal endlich einer eine stable cqs verson in galaxy rein mit erklärung.
was soll ich denn noch sagen auser BITTE, BITTE, BITTE...
(Ulf zuwink)
CqS Galaxy erst mit der Gamma
Hi Scorp,
Im Moment werden noch viele viele Bugs gefixt. Erst dann werden wir eine neue Galaxy-Version anbieten. Sprich: es heißt Geduld haben bis die aktuelle Version Gamma-bereit ist.
Alles was früher bereitgestellt werden würde, wäre auch so ganz und gar nicht "stable".
-- Sara
ok, danke für die info.
ok, danke für die info.
bitte um feedback
ich habe heute mal einen ersten entwurf zum wohngebäude erster ausbaustufe gemacht.
ich bitte mal um ein feedback ob das zu viel inhalt ist, oder zu komplex, oder zu aufwendig zum rendern etcetera...
man beachte die strasenhälft, von der das objekt umsäumt ist, die eine schnellstrase ergeben, bei nebeneinander plazierten objekten.
das bild hat 1026 vektoren, 711 faces, davon ca 700 polygone, braucht beim rendern 12,46 MB RAM und mit raytracing und allen osr effekten, 12.44 sekunden zum rendern. das objekt hat inclusive texturen eine größe von 700kb.
worauf ich bewust verzichtet habe wegen der renderzeit ist ambient occulusion, das würde die render zeit nochmal vervierfachen...
wohngebäude ausbaustufe2
53 vektoren, 64faces, 0polygone, 5.24MB-Ram, 13.1sekunden
re
Also die Hauptrenderzeit kommt durch den schlechten Raytracer im Blender zu stande. Da müssen wir dringend rausbekommen wie wir andere angebunden bekommen (dies ist ja in Blender bereits vorgesehen).
Was dein Modell Stufe I angeht:
Für die erste Ausbaustufe ist es bereits zu hochentwickelt.
Auch die Anordnung gefällt mir nicht da es aus einem Gebäude bestehen sollte.
Besser wäre es, wenn du nur ein "L" also 1/4 deines jetzigen Entwurf als Grundlage nehmen würdest.
Wenn man 4 Gebäude aneinander bauen würde, ergäbe sich automatisch die von dir angestrebte Häuserstruktur.
Außerdem sollte Stufe eins einen breiteren Sockel und weniger Etagen haben. Also dasselbe wie jetzt nur halt weniger Rasenrand und nur 4 Etagen.
Des Weitern sollte man durchdenken, ob man nicht alle Gebäude grundsätzlich so designen sollte, das sie zur Laufzeit automatisch in die Höhe skaliert werden können.
Also das dein Haus aus Sockel,Mittelteil und Dach besteht und ich pro Ausbaustufe jeweils ein Mittelteil dazu nehme.
Müsste man halt einfach mal überdenken ob das Prinzip auch auf alle anderen Gebäude anwendbar wäre.
Also bei Ölraffenerien würde es ja z.B. reichen wenn die Öl-Silos immer weiter nach oben gehen würden pro Ausbaustufe etc..
Eine komplett andere Philosophie wäre es, pro Ausbaustufe wirklich komplett andere Modell-Ideen zu verwenden, so wie du es ja schon begonnen hast.
Hierbei solltest du nur beachten, das der Aufwand das für jedes Gebäude zu machen sehr viel höher sein dürfte...
wohngebäude ausbaustufe3
also die idee mit den 3 teiligen gebäude kam mir gleich als erstes, siehe einige posts weiter vorne wo ich diesen spielzeigturm gepostet habe.
jedoch stelle ich mir das etwas langweilig vor, da ja dann jedes gebäude gleich aussieht und keinerlei abwechslung herscht ausgenommen die gebäudehöhe.
vom aufwand her ist es natürlich aufwendiger mit vielen gebäuden, aber ich finde es im gesammtbild gesehen besser, da dann auch reichliche abwechslung herrscht und nicht jedes gebäude dem anderen ähnelt.
wohngebäude ausbaustufe4
ich habe mir mal vor einiger zeit die funktion gewünscht meine grafiken hier veröffentlichen zu können, wo viele dann abstimmen oder kommentare abgeben können.
das wäre gerade wieder bei diesen arbeiten nützlich, da ich da ein feedback bekommen würde, ohne wie jetzt das forum zuzuspamen...
wohngebäude ausbaustufe5
das soll die letzte ausbaustufe sein.
also mehr geht nicht.
sonst knicken die gebäude einfach nur um bei einem windstoß.
das gebäude is so riesig, das ich es 4x verkleinern musste.
edit: wohnhaus ausbaustuffe1
auf deinen wunschhin habe ich das wohnhaus ausbaustufe1 nochma überarbeitet. ich bin von 16etagen auf 5 runter und habe das dach etwas abgeflacht.
weiter runter möchte ich nicht, da dann die proportionen mit den anderen gebäuden nicht mehr stimmen.
und ich kann machen das alles ein objekt ist. denn ich verwende eine grundplatte, mit der ich einzelnstehende objekte zusammenfassenkann.
jedoch gebe ich dir alle gebäude erst, wenn du zufrieden bist mit dem ergebniss und die erstmal entgültig einbauen möchtest.
solange behalte ich mir noch das recht vor noch änderungen vorzunehmen.
dimensionen
und zu guterletzt hier nochmal alle modelle nebeneinander in original ausmaßen...
Mach mal wie ich geschrieben
Mach mal wie ich geschrieben habe bei stufe 1 statt 4 Gebäude nur 1. Und allgemein viel tiefer und breiter..
Und bei Stufe 1 auch noch die Etagenhöhe höher...
Also das 4 Grundplatten von Etagen 1-Gebäuden die gezeigte Grafik für stufe 1 ergeben.
Ansonsten muss ich um die Realität zu wahren sagen das es grundsätzlich falsch ist pro Stufe eine Verdoppelung der Höhe vorzunehmen. Richtig wäre, wenn pro Stufe die Höhe von Stufe 1 auf die vorhergehende dazu kommt...
Weil rechnerisch passen in Stufe 4, 4mal so viele Leute rein wie in Stufe 1. Bei den gezeigten Dimensionen erscheint es einem aber eher als sei hier ein Faktor 50 am Werk...
Zitat:Mach mal wie ich
eben nicht, oder zumindest sehr ungern. weil wenn ihc das mache, stimmen keinerlei relationen mehr.
auserdem sagtest du selbst höchst persönlinch "das wird später so klein, das siehsde eh nie wieder".
aber wenn du jetzt nochmal drauf bestehst mach ichs.
aber wirklich sehr ungern...
ich habe wohl zu viel kaffee getrunken...
darum schiebe ich auch schonmal die tradecenter hinterher...
alles lowpoly modelle... (sehr stolz auf mich bin, wieder was gelernt zu haben)
einzig das tradecenter 4. ausbaustufe sprengt noch den rahmen und da muss ich nochma rann um da nen bissl polygone einzusparen...
aber denn nu gn8 alle...
-
Find ich ziemlich chic.
Erinnert natürlich an Sim City. <-- darauf hast du bestimmt schon gewartet ;)
Bin echt gespannt wie das im Endeffekt aussieht!
Gruß
Dark
#ring
#schatten
"may the op be with u!"
re
Ich möchte noch einmal meine Bedenken anmelden:
Höhenverhältnisse:
Hinweis: die eingesetzten Ressourcen/Rohstoffe für den Bau von Gebäude 4 sind im Game genau die 4 Fachen wie die für Gebäude 1:
Ausbaustufe 4 sollte genau 4 mal so Hoch sein wie Stufe 1.
Bei dem Gezeigten ist sie 100x so Hoch.
Ich finde die letzten Ausbaustufen auch toll jedoch kann man diese Endhöhe auch erreichen, wenn man einfach höher anfängt.
Also das Gebäude Stufe 1 muss sehr viel Höher werden damit es 1/4 el der Höhe von Stufe 4 entspricht. Also etwas größer als die von dir gezeigte Stufe 2 aber kleiner als deine Stufe 3.
Die Höhe von Stufe 2 muss der Hälfte von Stufe 4 entsprechen also in etwa so hoch (en mü höher) wie deine Stufe 3 des HZ.
Die Höhe von Stufe 3 muss 3/4 der Höhe wie Stufe 4 entsprechen. Also ein Mittelding von Stufe 3 HZ und Stufe 3 Wgeb wäre von der Höhe her OK
Stufe 4 finde ich von den Verhältnissen so OK
Anmerkungen zu den Models:
Du soltest die oberen Spitzen von HZ Stufe 2 und 3 absäbeln. Weil atm erinnert es mehr an Raketen oder Bleistifte als an Tower. Bei Stufe 3 HZ find ich den Ansatz mit einer Brückenverbindung der beiden Tower gut. Das solltest du vll. noch in Zukunft weiter verfeinern/verwenden...
Vll. sollte man sich auch mal im Internet Towerarchitekturen in Japan oder China angucken um sich Anregungen zu holen.
Hier mal ein paar Beispiele:





jo...
danke fürs feedback, nun verstehe ich was du meintest mit deinen ausmaßen.
im mom is jede weitere stufe das doppelte der vorhergehenden.
ich werde das nun noch etwas nachbearbeiten.
was ich mir aber nicht nehmen lasse sind abweichungen von der norm wie hz-4 und w-4. das hz is höher als das w aber dafür dünner...
mit den raketen könntesde recht haben, die haben mich auch schon gestört, aber flach siehts noch dümmer aus...
ich lass mir was einfallen, mein gedanke war nu w=flach hz=spitz...
wegen den anregunden fon towerarchitekturen, da habe ich shcon massen vorliegen.^^

ich kann nur hoffen das sich keiner tower ansieht, die als ersatz für die twintower in new yourk (world trade center) gedacht sind...
Ich wollt nur sagen, es
Ich wollt nur sagen, es sieht schon ziemlich schick aus! Wenn ihrs so wie in dem letzten Bild hinkriegt, dann seid ihr echt gut. :-D
nee, dann hamwa nen foto gemacht... ^^
...
also, zwischenbericht...
ich habe mal die dimensionen etwas angepasst und muss sagen das mit so die 1.-3. ausbaustufe besser gefällt.
jedoch sieht man sehr eindrucksvoll an der 5. ausbaustufe wie blöd das aussieht ohne sonem giga tower. der is total verkümmert...
also entweder ich mach den neu, oder ich muss noch mehr gebäude einbringen.
also das wir ausbaustufe 1-10 machen...
aber das is dann shcon ein enormer mehr aufwand und ich weis nicht ob das den aufwand lohnt.
ich fand die quadratische zunahme der bebäudegröße besser...
man könnte es ja damit erklären das da dann auch mehr geschäffte und parkflächen sind, da ja die menschen da nicht nur wohnen sondern leben, mi dem eigenen jet(auto), geschäfften, kino, kindergarten, halt infrastuktur.
man könnte das auch koppeln und die gebäude wachsen lassen wenn infrastruktur gebaut wird... (nur ne idee)
auserdem habe ich mir die nacht (ich lag mal wieder bis 4uhr wach im bett) überlegt das ich für industrielle gebäude wie stahlwerk, siliziumwerk, etc. nur bis ausbaustufe 3 gehen werde. also nix tower oder so.
dann solche gebäude wie schiffswerft und transmitter werde ich überhaupt nicht bauen. da bleibts bei ausbaustufe 1.
beim transmitter begründe ich das rpg technisch damit das der transmitter eine art kraftfeld (subraumverzerrung) darstellt, die am rand der kolonier auf freier fräche künstlich geschaffen wird.
das hat den grund weil ein zerstörer fast die größe einer kolonie hat und der transmitter so gigantisch wäre, das er einfach alles überschattet und zu viele bauplätze wegnehmen würde da da nicht 1x1 reichen...
also würde ich denken das wir die hohen gebäude (tower) den wohnhäusern, handelszentren, bibliotheken, und eventuell den universitäten vorbehalten. der rest wird etwas kleiner oder bleibt bei ausbaustufe 1.
Nene, die kleinen dinger
Nene, die kleinen dinger sehen bloed aus.
Ich stimme auch Thor nicht zu. Die 4. Ausbaustufe kann ja vllt. erst nach 1000 Gebaeuden von dem Typ kommen (zum Beispiel). Und wenn es viermal so teuer ist, dann muss es auch nicht exakt viermal so gross sein...
re
Ich finde es so klein auch nicht gut.
Ich schrieb ja das du die kleinen größer- und nicht die großen kleiner machen sollst.
@ulf da machst du ja ein mega Fass auf.
Atm ist der Kolobaumechanismus evolutionär. D.h. es wird ein Gebäude nach dem anderen gebaut und dabei einzeln betrachtet und plaziert. Wenn man nun ein Gebäude erst bei level 1000 upgraden will, frag ich mich was mit den 999 kleinen Gebäuden passieren sollen, die bereits von diesem Typ plaziert wurden? Wenn du die von außen nach innen abreißt um sie in den neuen Tower zu stecken bekommst du Löscher in der Kolo was doof aussieht.
Eine andere Möglichkeit wäre, die Kolo nicht mehr evolutionär zu machen. Also das alle Gebäude Plazierungen bei jedem Rendering komplett neu gesetzt werden. Jedoch würde sich die Kolo dann von Grund auf verändern bei jedem einzelnen Gebäude das man baut.
Also der von mir angestrebte SimCity-Effekt, das man ein bestehendes Konstrukt stück für stück wachsen und erweitern sieht wäre dann nicht mehr gegeben.
Vorschlag: wenn man ein Gebäude baut, wird die Kolonie nicht sofort erweitert. Das gebaute Gebäude kommt in einen Puffer von meinetwegen 4 Gebäuden. erst wenn das 5. Gebäude gebaut wurde, wird die eig. Plazierung und Konstruktion der 4 Gebäude in der Stadt durchgeführt. Hierfür wird zuerst geprüft, ob ein Gebäude erweitert werden muss, oder nicht.
Wenn ein Gebäude erweitert werden muss, fließen alle 4 Gebäude sofort in das zu erweiterde Gebäude (vorausgesetzt sie sind von gleichen Typ).
Wenn nicht, werden sie wie gewohnt einzeln an den Rand der Kolo gesetzt...
auch ma ein vorschlag zum agorythmus von mir
was wäre denn wenn man ein gebäude baut und immer das quadrat rechnet in der ausbaustufe.
beispiel:
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme erstes haus ausbaustufe-2
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme zweites haus ausbaustufe-2
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme erstes haus ausbaustufe-3
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme ein haus ausbaustufe-1
ich baue 1 wohneinheit und bekomme drittes haus ausbaustufe-2
.
.
.
sinn des ganzen ist bis zur stufe 5 auszubauen und dann das nächste bis das auch 5 ist dann wieder das nächste bis das auch 5 ist ...
@ulf, ich hatte das thema auch shcon mit t7hor und es stimmt, das mit den löchern geht nicht auf. denn das war auch mein erster gedanke aber das sieht wirklich nicht aus...
so isses schon besser...
was nähmlich auch noch mit kommt, is wenn man bombardiert wird, das einzelne gebäude dann auch wieder verschwinden und da auch löcher entstehen können. aber die frage ist was passiert mit den erweiterten gebäuden. verschindet dann da eine ausbaustufe? was keinen sinn macht, oder das komplette gebäude, was ja eigendlich 5 gebäuden entspricht...
re
Ich kann deinen Ausführungen keinen Algorithmus entnehmen.
Bzw. kann keine Lösung des Problems erkennen.
Bitte genauere Erläuterungen.
Meiner Meinung nach wird bei dem Wegbomben eines Gebäudes entweder ein Einer komplett atomisiert oder ein ausgebautes um eine Ausbaustufe erniedrigt. Erklärbar wäre das mit automatischen Instandsetzungsrobottern die versuchen, das Beste mit den verbleibenden Rohstoffen zu Stande zu bringen. Was im Idealfall genau das Gebäude mit einer niedrigeren Stufe entspricht. Also wieder ein Argument dafür, das eine höhere Stufe immer genau einer Gebäudegröße entspricht. Weil sonst hättest du ja bei nen 1000er Tower 499 Gebäudeeinheiten übrig wenn du diesen auf eine niedrigere Ausbaustufe erniedrigst bloß weil ein Gebäude abgeschossen wurde...
Wie gesagt es lösen sich alle Probleme wenn du die erste Ausbaustufe etc einfach nur größer machst. Also auf 1/4el der 4. usw.. Und eine Ausbaustufe immer einen gebauten Gebäude entsprechen...
Ich wuerd Wegbomben erstmal
Ich wuerd Wegbomben erstmal ignorieren...
Ansonsten dachte ich an sowas wie scorp meint.
Es ist ohnehin nicht trivial:
Wenn man ein weiteres Gebaeude baut, dann gibt man eigentlich nicht genug Ress, Geld, Arbeiter aus, um ein gebaeude auf die naechste Ausbaustufe zu bekommen. In dem Sinne duerfte es nur ein Gebaeudeausbaustufe geben. Ist aber graphisch echt nicht so doll...
re
Wenn ich das richtig verstehe, ist mit scorps Vorschlag die Häufigkeit, mit der ein Tower ausgebaut beschrieben.
Also erst wenn man x viele Einer gebaut hat bekommt man ein Gebäude der Ausbaustufe n.
Richtig?
Wenn ja kann ich dazu nur sagen, das ich hierfür bereits mit Wahrscheinlichkeiten eine korrekte Verteilung vorgesehen habe...
Jedoch löst das nicht das Unrealistikkeitsproblem und das Ausbaustufenproblem, das bei
Gebäude x auf einmal so ein großes Gebäude entsteht.
Meine Argumentation stützt sich auf folgende fiktive Annahme:
- Es gibt Baurobotter und unendlich viel Energie.
(Da es ja in CQS keine Kraftwerke gibt kann dies nur so sein)
- Die Bauarbeiter aus der Bevölkerung werden lediglich zur Planung und Administration des Bauvorhabens benötigt.
- Der Flaschenhals, also das, wovon alles abhängt sind also die Rohstoffe.
- Die Robotter sind so programmiert, dass bei Rohstoffmenge X und des Gebäudetypes Y ein Gebäude auf einer Ausbaustufe gebaut wird, dessen benötigte Rohstoffe Deckungsgleich mit den existierenden sind.
- Wird nun ein Gebäude angegriffen, existiert nach dem Angriff fiktiver Weise genau die Menge Rohstoffe, die für ein Gebäude niedriger Ausbaustufe ausreichen würde.
- Ergo die Robotter stellen das best- mögliche mit den übrigen nicht- atomisierten Rohstoffen an und bauen/reparieren das beschädigte Gebäude so um, das es der niedrigeren Ausbaustufe entspricht.
...wie gesagt wenn du Stufe 1 mal höher machen würdest, so das sie 1/4el der Stufe 4 (org. Bild) entspricht, wäre das alles auch super plausibel und vor allem Umsetzbar.
Bitte wenn möglich, bei weiteren Gegenmeinungen auch ein Konzept beifügen, wie es anders gehen könnte. Weil atm ist mir das noch nicht so ganz klar.
zum thema ausbomben
also im echten krieg, lassen die bomber meist ihre bomben über die zentren von großstädten nieder als irgendein randgebiet anzugreifen.
weil es da am meisten weh tut.
also ich würde so argumentieren.
im falle eines bombardemangs, werden versucht möglichst große ziele zu treffen und möglichst viel schaden beim gegner anzurichten.
darum gehen die meisten bomben möglichst im zentrum nieder.
man könnte hier den gleichen algorythmuss nehmen der auch zur kollonier erstellung ist das zufällig gebäude abgerissen werden. aber in der wahrscheinlichkeit im zentrum höher als ausen.
dann kommt der fackt das ja keine echtzeit renderung statfindet, sondern der renderer eine gebäudezahl übergeben bekommt.
und wenn es da heist 6gebäude sind zerstört, dann wird ein kompletter tower rausgenommen und ein einzelnes.
das mit t7hors robotern finde ich nicht so logisch.
lieber komplett wegnehmen.
müsste sich doch machen lassen, wenn es heist reise 5 gebäude im zentrum ab, das er nen tower ausbaustufe-5 rausnimmt...
edit2
so hier die tradecenter

un hier die wohneinheiten

jetzt dürften eigendlich alle partein zufrieden sein, da sie jetzt langsam zunehmen.
immer um eine stufe und nicht mehr das doppelte...
am layout muss ich natürlich noch arbeiten, aber erstmal bin ich froh, das ich die formen final habe.
lowpoly sieht bei weiten einfacher aus, als es ist...
re
Das es heist "reiße 5 ab" oder "baue 5" kann sein, muss aber nicht. Es kann genauso wegen der Zeit 5 mal hinter einander einzeln befohlen werden. Deshalb bin ich um kompatiebel zu bleiben gleich von einen 1 nach dem anderen ausgegangen.
Wenn man jedoch festlegt, dass es wirklich nur einmal pro tag berechnet wird, könnte man tatsächlich ganz anders an die Sache ran gehen. Das trifft sich ziemlich mit meiner Puffer-Idee von oben...
PS heb dir nochn paar
PS heb dir nochn paar modells für die anderen Gebäudetypen auf...
Hast du dir schon überlegt, ob sowas wie Mil-Basen auch nach oben gehen sollen?
Ich denke hierbei an eine Konstruktion änlich der im Scince-Fiction Film judge-dred. Also das Polizeigebäude da...
um nochmal auf das thema
um nochmal auf das thema händlerportal zu sprechen zu kommen:
du hattest ja schon sehr vielversprechende erfolge gehabt, die mir mut gegeben hatten das vll dochma sowas kommt.(schon seid 2 jahren wart)
machst du das noch weiter und vll auch stable?
ich weis, im mom is mal wieder alles freased, und einhändlerportal nicht geplant einzubauen.
aber vll gehts ja doch, wenn du was handfestes hättest.
und so wie das aussah wars wohl auch nicht mehr so viel um das endgültig zu implementieren oder?
also ich finde das wichtiger als die koloansicht, denn die kann man immernoch machen...
über ein händlerportal
über ein händlerportal würde ich mich auch über alle maßen freuen, aber ob das von oben erlaubt wird bleibt abzuwarten...^^
zu den gebäuden: ich finde es bräuchte irgendwas gemeinsames bei den einzelnen gebäudetypen. wenn man die gebäude so wie sie sind wahllos nebeneinander stellen würde, könnte man nicht erkennen, welches hz und welches wohngebäude ist. einheitliche form (z.b. wg nur als quader, hz halbzylindrisch mit schiefen dächern, etc....) wäre eine möglichkeit, oder aber einheitliche texturen (wg betonfassade mit fenstern ab und zu, hz glasfassade)...
~l33torizor
-
zumal man auch in einem schönen WG wohnen will.
das heißt nicht jeder möchte in einem hochhaus wohnen ^^.
und da kommen wir wieder ein stück näher an sim city *gg*. am besten wäre es, wenn ihr die wohngebäude abhängig von der lage anzeigen würdet *gg*.
;)
gruß
dark
#ring
#schatten
"may the op be with u!"
mal was neues
also ich habe ja versprochen keine werbung mehr für andere spiele zu machen, aber ich habe hier mal einen vergleich.
der link unten führt zu einem killboard in dem abschüsse archiviert werden in einer allianz.
da kann dann jeder eine art ranking sehen wer wieviele gegner angeschossen hat und mit was er unterwegs war und was er für module eingebaut hatte in sein schiff.
dieser vergleich soll inspirationen liefern für unsere kb's in cqs, die wie ich immernoch finde sehr schlicht gehalten sind.
also is das mal ein vergleich wies andere machen.
vll sind ja ein par ideen daraus interresannt genug um auch in cqs eingebaut werden zu können.
http://steel-beasts.com/?a=kill_detail&kll_id=62
Resonanz
Da die Resonanz hier eine absolute Katastrophe ist und sich scheinbar kein anderer Spieler als mein Bruder Scorp so richtig für Arbeiten an den hier vorgeschlagenen Dingen interessiert werde ich meine Arbeiten und Posts hier endgültig einstellen. Es tut mir sehr leid gerade weil die grundlegenden Programmierarbeiten bereits weitgehend abgeschlossen waren jedoch habe ich auf Dauer keine Lust hier immer nur Dialoge mit mein Bruder zu führen. Das kann ich auch auf anderen Wege.
Natürlich hat sich hier nicht nur Scorp beteiligt sondern auch noch andere Spieler aber mehr als 3 Interessenten für z.B. die 3D Ansicht kann ich hier beim besten willen nicht ausmachen.
Und Arbeit habe ich auch so schon genug nicht zuletzt weil ich neben meiner "richtigen" Arbeit nun noch eine Fernstudium begonnen habe.
Viele Grüße,
Thor
naja...
also ich muss gestehen, ich habe es auch etwas schleifen lassen und nix neues gemacht, mir fehlte einfach die motivation, aber es hat mich ja auch keiner angespornt...
ich finde die 3d kolonieansicht zwar immer noch eine tolle sache aber kann verstehen das du es nicht umsetzen möchtest weils zu komplex ist und dir deine freizeit zu wertvoll ist.
jedoch möchte ich dich bitten vll doch das handelsportal fertigzustellen.
es is eine große bereicherung für cqs, auch wenn ich da wie "Don Quichotte" gegen windmühlen kämpfe(diese windräder die strom erzeugen ^^), so finde ich es trotzdem sehr wichtig und bin schon seid jahren dafür...
also bitte setz das um...
bitte, bitte, bitte...
-
Hm... jo. So steht es in den Prophezeihungen des großen Ohm geschrieben.
Aus den Büchern des Ohm | Kapitel 26, Die In-Aktiva
"..und es wird der Tag kommen, an dem selbst die Forenbots zum schweigen kommen."
Es ist auf jedenfall schade drum. Man sollte es so wie Ulf machen ;) und einfach für sich Programmieren *g*
Gruss
Dark
#ring
#schatten
"may the op be with u!"
also ich habe noch einen
also ich habe noch einen nachtrag zu dem thema...
im mom geht es ja in einem anderen thread darum die wachstumskurve der bauzeiten umzukehren und so ein unnötiges überbauen zu umgehen.
dabei war von einigen die rede, das sie selber meist 5x überbauen würden.
dabei kam mir folgende idee...
da ja dieses thema hier mit der kolonie die generiert ist erstmal vom tisch ist, ich aber schon einige grafiken entworfen habe, die frage ob man das irgendwie einbauen könnte.
also wenn ich normal anfange mit bauen kommt zb. ein normales haus.
wenn ich beginne zu überbauen ändert isch das bild und ich sehe die 2. ausbaustufe des gebäudes.
genauso dann weiter bei 2-5 facher überbauung.
wenn ich also zb. 5x überbaue, kann ich mit jeder überbauungsstufe verfolgen, wie sich die gebäude evolutionär weiter entwickeln und immer größer werden und immer höher in den himmel reichen.
wenn ich nun einen neuen planeten besiedele, fange ich da ja wieder bei "0" an und sehe die gebäude der ersten ausbaustufe.
wenn ich aber meine baustufen auf meinem heimatplaneten prüfe, sehe ich schon die 3. ausbaustufe.
damit kommt abwechselung rein und ich kann die entwicklung beobachten und mir nicht nur immer denken.
um missverständnisse auszuschliesen, sind ja die gebäude bereits beschriftet mit ihren namen und werten.
so sieht zwar das öllager anders aus, ist aber immernoch mit öllager beschriftet und ich vertue mich nicht...
anbei bemerkt, hatte ich mal mit ulf darüber gesprochen einen fortschrits balken einzubauen, wo ich grafisch wie in einer download-ladebalken-leiste sehen kann wie weit mein gebäude ist.
er war damals einverstanden das irgendwann mal einzubauen.
wenn also meine idee so gut sein sollte das das jemand einbaut, könnte er auch gleich mal schauen wie es mit so einem ladebalken wäre, bzw. wie aufwendig das wäre...
Meinst du das als eine art
Meinst du das als eine art globales Koloniebild pro Plani das sich je nach Ausbaustufe ändert oder willst du die Gebäudebilder beim Bau dynamisch umändern?
Meiner Meinung nach sollte beides nicht schwer sein einzubinden sobald alle Grafiken zur Verfügung stehen.
Wenn du Koloniebezogene Bilder machen willst würde ich die jedoch nicht erst nach Überbauung ändern sondern in prozentualen stufen. Meinetwegen alle 25% ein neues Bild:
>0% Vereinzelte Häuschens
>25% kleinstadt
>50% ...
...
>100% Megacity
>125% ...
>200% Super hochbau Stadt wie bei 5. Element
>225% ...
jo... aber das prob das ich
jo...
aber das prob das ich sehe, ich weis ja nicht wie oft da wer seinen planeten überbaut.
und bei deinen 200% ist der schon in der erstem überbauungsstufe.
ich dachte die bilder einzeln, also zb. das wohnhaus, das das nach und nach wächst.
bei jeder überbauungsstufe ein neues, verbessertes.
und mehr als 5x übebaut ja keiner mehr, wenn das überbauen schwerer wird...
die idee mit dem kolobild ist auch nicht schlecht, jedoch sehe ich da das problem das das dann vll nicht immer treffend ist.
1. wenn zb. immer einer nur bibos baut, ist das bild einer stadt falsch
2. wenn er vll das wohnhaus auf überbauungsstufe2 hat, aber das hadelszentrum noch 1 ist auf dem bild aber alle gebäude auf stufe 2 gezeigt werden, passt das vll auch nicht.
auserdem ist es für mic h erstmal viel schwerer eine kolonie zu kreieren, als nur einzenle gebäude.
jedoch behalte ich die idee mit so einer kolonie mal im hinterkopf.
mir schwebt in der detailansicht vor allem ne kleine animation vor.
am anfang wie simciti, mit kleinen töfftöffs die durch die strassen ziehen und am ende wie im 5.element mit kleinen gleitern, die in mehreren etagen fliegen um die häuser...
Also das mit dem dynamischen
Also das mit dem dynamischen Gebäudebild beim Gebäudebau ist relativ simpel einzubauen. Ich würde aber wie gesagt nicht erst bei doppelter Überbauung anfangen.
Wenn dir die 25% Stufen nicht gefallen wäre ja 50% noch ne Möglichkeit:
Bei 0 bis 50% der Bauplatznutzung Bild 1
Bei 51 bis 100% der Bauplatznutzung Bild 2
Bei 101 bis 150% der Bauplatznutzung Bild 3
Bei 151 bis 200% der Bauplatznutzung Bild 4
Bei 201 bis 250% der Bauplatznutzung Bild 5
Bei 251 bis 300% der Bauplatznutzung Bild 6
Bei 301 bis 350% der Bauplatznutzung Bild 7
Bei 351 bis 400% der Bauplatznutzung Bild 8
Bei 401 bis 450% der Bauplatznutzung Bild 9
Bei 451 bis 500% der Bauplatznutzung Bild 10
Bei 501 bis 550% der Bauplatznutzung Bild 11
etc.
also musst du 18*10 also insgesamt 198 Bilder machen^^
Wenn dir das zuviel Arbeit wird kann man ja
auch erstmal ab 250% immer dasselbe Bild verwenden.
Eine andere Möglichkeit Bilder und somit auch Daten traffic zu sparen wäre eine nicht lineare Bildzuweisung. Das wäre aber dann nicht mehr ganz so primitiv bei der Anbindung.
Zur Erklärung was ich mit nicht- linear meine:
Bei 0 bis 50% der Bauplatznutzung Bild 1
Bei 51 bis 100% der Bauplatznutzung Bild 2
Bei 101 bis 200% der Bauplatznutzung Bild 3
Bei über 200% der Bauplatznutzung Bild 4
Dann müsstest du 54 Bilder machen also nur noch 1/4 ;)
ok, ich merke schon, es wird
ok, ich merke schon, es wird zeit für mich loszulegen und was zu erarbeiten.
am liebsten hätte ich dazu einen eigenen bereich wo ich die ergebnisse immer erstmal zur diskusion stellen kann, ehe wir sie in cqs einbauen.
vll kann da ja ulf was machen...
Ulf muss Doktorarbeit
Ulf muss Doktorarbeit schreiben also poste es doch einfach weiter hier rein...
Zum Test kann ich ja mal eine lokale CQS-Version bauen die die Bilder schon erwartet. Du musst die Bilder dann einfach nur noch richtig benannt in das Bilderverzeichnis kopieren. Das Ganze kömmer ja dann mal bei dir laufen lassen sodass auch andere sich das von außen angucken können. Dafür musst du dann lediglich das NAT an deinen Router konfigurieren. Aber mach erstmal...
Galerie?
Ich glaub es ging um n Galerie-Modul hier auf der Homepage...
Oder?
Galerie und weitere Entwicklung
Ich denke das sollte recht bald machbar sein. Ich kann mir vornehmen das dieses Wochenende zu machen - zumindest lokal. Ausser Ulf gibt mir Rechte auf dem Server, dann koennte ich es auch nach dem lokalen Test hier aktivieren. :)
Ansonsten muss ich sagen, dass ich es klasse finde, das hier wieder etwas passiert. Ich habe alle Beitraege (bzgl. Entwicklung von CqS) gelesen, und finde einige Ideen sehr vielversprechend. Den Beitrag zu den veraenderten Bauzeiten (Gebaeude brauchen immer laenger, Bautechnik macht es nur etwas weniger schmerzhaft -> Neueinstieg nach Anfang der Runde faellt einfacher) finde ich besonders interessant [da er meiner Meinung nach viel Nutzen bei relativ wenig Arbeit bewirken koennte].
Die Aktivitaet motiviert auch wieder, und ich werde versuchen mir einen Tag im Monat freizunehmen, um nur an CqS zu arbeiten. Vorerst moechte ich das Ingame-Design verbessern. Ich habe mit der Arbeit auch schon angefangen, aber es gibt noch einiges zu tun (wir haben viele Seiten...). Es wird nichts weltbewegendes geschehen am Design, aber ich hoffe alles wird uebersichtlicher werden.
Sobald das Design etwas ueberarbeitet ist, muss ich schauen was als naechstes ansteht: Bugs fixen, neue Sachen implementieren, oder weitere Verbesserungen des Designs / der Navigation. Das kommt darauf an was wichtiger erscheint, und ich nehme da gerne Feedback von euch.
-- Sara
...
nur mal so als idee, was wäre denn wenn man nicht wie in bautechnik alles schneller baut, sondern jedes gebäude einzeln erforschen kann?
also das die gebäude effektiver werden, bzw. mehr menschen darin arbeiten und leben können.
so könnte ich ein wohnhaus auf ausbaustufe5 bringen und kann 5x mehr menschen darin unterbringen, oder das stahlwerk, das dann einen 5fachen output hat.
das könnte es auch vereinfachen das man nicht mehr so schnell wächst, sondern immer prioritäten setzen muss, was als nächstes kommt.
ich würde jedoch ein limit einbauen und auf eine letzte ausbaustufe festlegen.
und zum thema, wie die gallerie aufgebaut sein sollte:
ich stelle es mir so vor, das ich da einen thread eröffnen kann mit dem namen "Wohngebäude-1" in dem ich das dazu passende bild vorstelle. in dem verlauf des threads können dann meinungen geäusert werden und verbesserungsvorschläge zu dem bild geäusert werden.
ich arbeite dann die verbesserungen in die grafik ein und stelle dann im selben thread das neue bild vor.
was auch noch praktisch wäre wenn es die möglichkeit einer hirachie gäbe, also eine art pfad zu den threads.
Gebäude --> Wohngebäude --> Wohngebäude1
oder
Einheiten --> Infanterie --> Leichte, Mobile Infanterie
oder
Raumschiffe --> Fighter --> Schwerer Angriffsjäger
u.s.w.
ich finde eine 5fache ausbaustufe logisch und ausreichend, alleine schon der anzahl der verschiedenen bilder betreffend.
wenn ich es mir recht überlege, könnte zu der umsetzung vll sogar das forum reichen, wenn es die möglichkeit gibt diese hierachie einzubauen, bzw. unterverzeichnisse oder subthreads einzubauen...
es geht mir darum, wenn einem ein bestimmtes bild nicht gefällt, oder er meint wie man es verbessern könnte, das er das bild hier wiederfindet und dann seine meinung dazu äusern kann.
positiv an der umsetzung im forum finde ich, das auch alle anderen user bei neuen beiträgen dieses als ungelesen markiert vorfinden beim einlocken in unserem forum.
somit lesen die beiträge auch leute, die sich vll nicht gleich dazu äusern wollen, aber interresiert an der sache sind und die entwicklung mitverfolgen wollen.
@sara das wäre echt super
@sara das wäre echt super wenn du wieder mehr hier wärst :)
PS: was ich im CQS-Code vermisse ist ein Anwendungsfall der mir als Beispiel für die Implementierung neuer Bereiche oder zum Verständnis dient. Also derzeit bin ich verunsichert was ich konkret als Vorlage/Grundlage nehmen kann wenn ich jetzt einen Weiteren Anwendungsfall in CQS (z.B. Händlerportal) implementieren möchte.
Also gibt es einen Bereich (z.B. "Gebäudebau" oder "Ausbildung" oder sowas) in dem schon alles so angepasst ist wie es sein soll?
Ich mein damit z.B. Sachen wie:
- Die Anbindung an die neue Datenbank
- Die korrekte Designimplementierung template? imports?
- Die korrekte HTTP-Post-Handler Klasse. (Auch hier habe ich mehrere Varianten der Implementierung gefunden.)
- Die korrekte Art und Weise Ajax zu verwenden oder nicht zu verwenden.
Am tollsten wäre natürlich eine Kurzanleitung was man alles tun muss um eine neue Maske in einen neuen Bereich anzubinden. Also von der korrekten Ablage und Benennung der Design-Dateien bis hin zur Registrierung und Benennung der Post-Handler-Klasse etc. aber das wäre dann wohl doch etwas zu viel Arbeit. Wenn ich weis das meinetwegen "colony-base" in allen Fasetten so implementiert ist wie es sein soll, würde mir das auch schon weiter helfen.
Perfekter Bereich...
> Also gibt es einen Bereich (z.B. "Gebäudebau" oder "Ausbildung" oder sowas) in dem schon alles so angepasst ist wie es sein soll?
Nein.
re
Zur Koloansicht:
Auf Grund folgender Probleme bin ich mittlerweile für eine nicht evolutionäre- Betrachtung bei der Koloansicht:
- Was geschieht wenn gebäude weg-gebommt werden und lücken entstehen. Bzw. werden große gebäude in einem Stück weg gebommt oder schicht für schicht abgetragen? (letzteres wäre von den Werten her logisch aber gleichzeitig auch unrealistisch)
- Wo und wie werden die Daten abgespeichert über die genauen Gebäudekoordinaten / Ausbaustufen etc..?
- Es würde bei einseitiger Kolonieaufbau (also wenn mann 200 Wgeb baut und anschl. 2000 Mil-Basen) zu einer Schalenbildung kommen. Dies würde dann noch unrealistischer aussehen.
- Aufgrund des hohen Rechenaufwandes können die Kolos eh nicht zeitnah auf Veränderungen reagieren / angepasst werden.
Da es für Chenlo zudem ein riesiger Aufwand ist, jedes Gebäude in zick verschiedenen Ausbaugrößen vorzubereiten habe ich nun mal mit einem völlig neuen Ansatzpunkt begonnen.
Hierbei werden die Gebäude nicht vorgegeben sondern werden mittels ein paar zufalls-parameter und mit Hilfe eines bestimmten Algorithmus pro Gebäudeart völlig individuell generiert.
Als ersten Arbeitsstand möchte ich hier mal folgendes Bild zur Illustration präsentieren:

Dargestellt werden 1000 Gebäude des gleichen Typs / Algs.
Ich bin da noch ziemlich am Anfang was die Darstellung etc angeht also nicht zu ernst nehmen...
Wow
Das sieht ziemlich gut aus - aber warum koennen wir die Bilder nicht in echtzeit updaten?
re
Weil das Rendering sehr Zeitintensiv ist.
Bei den jetzigen Einstellungen muss man mit mindestens einer Minute Renderingzeit (Koloniegrößenabhängig) rechnen.
Wenn wir mal vom Worst-Case ausgehen:
- Im Universum gibt es 100 Spieler mit jeweils 20 Kolonien a 5000 Gebäude
- Das Rendern dauert 20 Minuten pro Kolonie
(der Linux-Blender-Prozess läuft dauerhaft mit niedrigster Priorität im Hintergrund)
Dann ergibt sich eine Zeitspanne von 27,78 Tagen um einmal alle Kolonien des Universums zu rendern.
Blender?
Wenn blender so langsam ist, sollten wir es vielleicht nicht zum rendern verwenden...
re
Hm jo da hast du evtl. recht.
Bisher habe ich mich mit den verschiedenen Rendermöglichkeiten noch gar nicht auseinander gesetzt. Es wird sicherlich einen Weg geben, das schneller hin zu bekommen. Und wenn ich im letzten Schluss halt auf meinen geliebten Schatten verzichten muss...
Als nächste Entwicklungsschritte hab ich mir vorgenommen:
- Je nach Planetentyp einen andere Boden- / Untergrundtextur einzubinden
- Weitere Lichtquellen für mehr Realismus einblenden
- Weitere Gebäudetypen erschaffen. Also auch Industrie-, Produktions- und Militärgebäudevariationen.
- Pro Gebäudetyp, eine spezifische Textur über das Gebäude legen
- Renderoptionen evaluieren / testen
- Die Verteilung der Gebäudetypen erproben. Also ob z.B. eher "Inseln" von Gebäuden gleichen Typs besser wären oder doch eine eher zufällige Anordnung...
Was hälst du von
Was hälst du von Presets?
Quasi verschiedene Quadrate von vorgefertigen Koloniesbereichen. Diese werden dann einfach zusammengepappt und wächst. Du hast dann recht große Vielfalt und musst nicht jedes einzelne Haus rendern.
Weiterhin wäre für die ersten Schritte ein weniger aktualisiertes Updaten von Nutzen. Z.B.:
- Etappen (mit Presets) -
Kologröße 100, 200, 300, 400´.. usw.
-> Bei jedem Level wird einer neuer Set generiert und weitere Pre-setteile hinzugefügt (da Stadt/Kolonie größer wird).
- Prerendering -
Diverse (1000?) Städte vorrendern und alle zwei Wochen updaten. Mit Updaten meine ich nicht die aktuellen, sondern für neue heranwachsende Städte quasi Vorlagen bieten und dann zuweisen.
Vorteil beider Varianten:
Kann man alles auf einen Server packen und dann drauf zugreifen lassen.
User können eigenen Sets gestalten.
Bye,
Dark
re
Ist ne gute Idee, z.B. 100 Verschiedene Kombinationen vor zu rendern und dann jeweils die auszuwählen, welche am ehesten zutrifft. Jedoch werde ich erst auf sowas zurück greifen, wenn es wirklich nicht anders geht.
Lass mich erstmal die Koloansicht in der Komplexität fertig machen die mir vorschwebt. Und dann kann man mal am Renderer rumspielen und dann entscheiden bzw. sehen was für eine Renderzeit wirklich am Ende raus kommt...
re
So ich hab heute mal weiter an der Optimierung gearbeitet
Im Vergleich zum obigen Beispiel hat das neue nur noch 50% der Polygone. Zudem ist die Gebäudekreierungsfunktion nun sehr viel Komplexer. So kann man nun bei den jeweiligen Funktionsaufrufen übergeben,
- wie feingliedrig ein Gebäude sein soll
- welcher Gebäudetyp gewünscht ist
- wie konisch das Gebäude zulaufen soll
- ob- und wie sich die Gebäudebasissäule im Verlauf rotierend transformieren soll
Zudem ist mir aufgefall, dass wenn ich die hier graue Bodenplatte weg lasse die Renderzeit im Sekundenbereich liegt. Lass ich die Bodenplatte drin liegt sie bei 1-2 Minuten. Also zur Not rendern wir dann halt nur mit ner Hindergrundtextur.
Jetzt muss ich nur noch das ganze irgendwie realistischer hin bekommen und nicht so plastik mäßig.
Vermutlich geht das mit Licht- und Textureffekten...
re
@Sara
Wie würde man denn das Teil am besten an CQS anbinden?
Also was für mich erstmal am einfachsten wäre, wenn man das wie folgt machen würde:
- es wird das Kolonieerstellungs-Shellscript als Hintergrundprozess gestartet (nohup renderColonies.sh)
- es existiert ein Ordner wo die veränderlichen Dateien abgelegt werden (z.B. "colonies")
- es existiert pro Kolonie eine Datendatei z.B. "colonies/44_3_0.dat"
- das Script geht zyklisch alle .dat Dateien im "colonies" Verzeichnis durch, erstellt anhand des Inhaltes die jeweiligen Koloniebilder und legt sie gleichnamig mit anderer Endung ab (z.B. "colonies/44_3_0.png")
Seitens CQS müssten hierfür folgende Änderungen gemacht werden:
- die .dat Dateien müssten abgelegt und zyklisch aktualisiert werden
- die Kolobilder müssten an der jeweiligen Stelle eingebunden werden.
...alternativ zur .dat Ablage könnte ich mir auch eine spezielle CQS-Seite vorstellen von der das Kolonieerstellungsscript via http die jeweiligen Kolo-Infos holen kann wenn sie benötigt werden. Das wäre wohl der bessere Weg. @Sare / @Ulf ... was wäre die vernüftigste Anbindung?
Anbindung
In welcher Sprache ist das geschrieben? Wie generierst Du die Geometrie? Wenn Du das in Java geschrieben hat, dann ist es am einfachsten, das in CqS direkt einzubetten (als Plugin).
Die Koordinierung mit einem Hintergrundprozess und tausenden von Dateien in einem Verzeichnis ist sehr zerbrechlich, und wird auf die Dauer nicht zuverlaessig laufen.
Falls es in einer anderen Sprache geschrieben ist, dann schreibst Du am besten ein Programm, das eine Koloniebeschreibung entgegennimmt, und ein Bild in eine angegebene Datei schreibt, z.B. so:
generate_colony -o output.png -desc STEELWORKS:3,COMMERCIAL:10,BLABLA:3,OTHER:27
Beruecksichtigst Du bei der Generierung die Entwicklung der Kolonie? Also, macht es einen Unterschied, ob man erst 10 HZ baut und dann 3 SW, oder umgekehrt?
re
Derzeit wird lediglich Blender aufgerufen und als Parameter wird der Pfad eines Pythonscriptes übergeben welches Blender verarbeiten soll. Blender arbeitet hierbei im Background-Mode. Es wird also keine gui etc gestartet.
Die Geometrie wird in dem Pythonscript erstellt. Hierbei werden spezielle Blender-Python-Objekte verwendet die dann z.B. Verticles oder Faces etc. repräsentieren und von Blender gerendert werden können.
Um auf deinen Vorschlag einzugehen, könnte ich nun ein Shell-Script schreiben, welches:
- den gewünschten Zielpfad/Dateinamen des Kolo-Bildes entgegen nimmt
- die Koloniebeschreibung entgegen nimmt
- dies in eine temporäre Datei "/tmp/currentColo.dat" schreibt
- anschließend Blender aufruft
- und das dort ausgeführte Python kennt diesen festgelegten Pfad zur temporären Datei und verarbeitet dies.
- zum schluss löscht das shell-script noch die temp. Datei "/tmp/currentColo.dat"
Viel einfacher wäre es, wenn man Blender direkt weitere Parameter übergeben könnte (kann man meines Wissens aber nicht).
>>Beruecksichtigst Du bei der Generierung die Entwicklung der Kolonie?
>>Also, macht es einen Unterschied, ob man erst 10 HZ baut und dann 3 SW, oder umgekehrt?
Nein tue ich nicht. Dies hat bei ein paar Tests zu unschönen Effekten geführt. Zudem bedeutet die Berücksichtigung der Historie zusätzlichen Informationsbedarf bei der "Koloniebeschreibung".
Man muss es sich ja nicht immer gleich so kompliziert machen ;-)
Derzeit wird auch nur zwischen 2 Gebäudetypen unterschieden. Die anderen werden zwar angenommen jedoch wirken sich diese nicht weiter auf das Bauverhalten aus.
Die komplette Unterscheidung der Gebäudetypen möchte ich dann später über Texturen regeln aber dafür sollte man ersteinmal schauen, ob das Teil überhaupt so wie es ist Lauffähig ist. Nicht das es noch grundlegende Probleme gibt die es noch zu beheben gilt...
re
Soll ich dies mal so vorbereiten?
Oder gefällt dir das Vorgehen so nicht?
(also shell-script, temp-Datei etc..)
re
Frage 2:
Was kann ich denn für Anforderungen an den Server stellen?
Weil ich hab Gestern mal Yafaray zum Rendern benutz und damit sehr gute Ergebnisse erzielt. Kann ich die Anforderung stellen, dass Yafaray und Blender 2.49 installiert sein müssen?
Software...
Eigentlich waere es mir lieber, wenn wir keine grossen Software-Pakete auf dem Server installieren muessten...
Aber erstmal muessen wir alles zum Laufen bekommen. Mach erstmal so ein Skript, das Blender im Hintergrund aufruft, wie gesagt. Aendern koennen wir es spaeter immer noch.
re
Ok werd mich dies Wochenende dran machen..
re
Unter folgenden Link könnt ihr eine erste Version herunterladen:
http://sites.google.com/site/hyperversum2/blender/ColoBuilderVersion0.1.tar.gz?attredirects=0
In der Datei test.sh steht nichts anderes als ein Beispielaufruf. Zum schauen ob es grundsätzlich funktioniert müsst ihr dort den Pfad anpassen wohin das Bild wandern soll.
Als Parameter für das eigentliche Script wird also derzeit übergeben:
/bin/bash renderColo.sh "imagePath=/home/hannes/Desktop/Projekte/simCity/44:1:0;STEEL_MILL=10;REFINERY=12;SILICON_FOUNDRY=12;PROCESSING_PLANT=10"
Bitte nicht wundern wenns noch nicht so tolle aussieht. Ich habe mit den Lens der Kamera und den Gebäudematterialien herum gespielt. Theoretisch sollte eine Kolo mit wenig Gebäuden heran gezoomt werden und eine mit vielen, entsprechend weg gezoomt erscheinen...
re
Hier nochmal ein Bild das ich mit mehreren Lichtquellen, Farben und Yafaray gerendert habe: (da kleine Kol = heran gezoomt). Das soll nur mal zeigen das der Zoom funktioniert...
also mir gefallen diesmal
also mir gefallen diesmal besonders die hohen gebäude...
dadurch sieht das sehr sehr futuristisch aus... k.a. warum...
zum rendern...
aus erfahrungen weis ich das es unlängen länger dauert, wenn der renderer noch einen untergrund mitberechnen muss.
lass mal deinen grauen untergrund weg,
dann sollte er schneller rendern...
auch wenn man dann keine schatten mehr hat, auch wenn man dann mit den untergründen flexiebler wäre (thema: verschiedene Planetenoberflächen).
alles in allem schon sehr schick.
wirkt zwar noch wie ein diamantenfeld,
mit lauter natürlich gewachsenen kristallen,
aber das wird die textur wohl schon machen...
re
@sara oder @ulf: Ist die obige Anwendung nun so in Ordnung?
Ich würd erst weitermachen wollen, wenn ich weis dass das grundsätzlich so funktionieren kann / einbindbar ist..
Ulf?
Ich befürchte da müssen wir auf Ulfs Urteil warten. Dieser Kommentar dient sozusagen als kleine Erinnerung an Ulf. :)
-- Sara
So in Ordnung?
Huhu Thor,
es sieht ja schon recht schick aus. Was mich ein bisschen stoert ist die Abhaengigkeit von Blender, aber darum koennen wir uns auch spaeter noch kuemmern. Ausserdem ist es hier abgestuerzt, als ich so 100000 Gebaeude eingestellt hab. :-D
Noch Lust, weiterzumachen?
-- Ulf
re
generell schon jedoch herscht in der Gamma gerade Krieg.
Davon bin ich derzeit zeitlich völlig eingenommen ;-)
>>Was mich ein bisschen
>>Was mich ein bisschen stoert ist die Abhaengigkeit von Blender..
Das geht mir auch so. Ich würd das gern in java proggen und ein neutrales Format als output ausspucken. Jedoch weis ich nicht welches Format man dafür am besten nehmen sollte. X3D und VRML sind derzeit meine Favoriten jedoch hab ich noch keine simple X3D_TO_PNG Bibliothek/Tool gefunden. Hast du da schon tiefer gehende Erfahrungen sammeln können?
PS: folgendes finde ich auch sehr interessant. Jedoch ist das wohl noch nicht reif genug:
http://de.wikipedia.org/wiki/Generative_Modelling_Language
Duh...
Wir koennen auch einfach eine .blend datei rausschreiben. Sowie ich den Code gesehen habe, brauchst Du nur Dreiecke/Dreiecksnetze. Wir koennen einen einfachen .blend-exporter schreiben...
Ich hab vor einer Weile eine 3D-Bibliothek geschrieben. Es sollte eigentlich recht einfach sein, die zu erweitern.
...
verursacht blender bei euch so sehr schmerzen das ihr euch so sehr mit händen und füßen dagegen wehrt?
oder is das wieder son informatiker ding, wie die leute die auch unbedingt ne eigene gameengine schreiben müssen, anstelle eine bestehende zu nutzen? (ehrgeiz)
ich denke da folgendermaßen darüber...
klar, gehts auch anders.
klar gibts da bestimmt auch passendere sachen.
aber nur weils blender ist, hats überhaupt jemand gemacht.
es fing an mit "schauma bunte bildchen" und ging dann über " schauma so könntem na nen gebäude bauen " und " und so könnte ne kolonie aussehen".
das ganze gapaart mit der multiplen vielfältigkeit der begrenzten unmöglichkeiten der funktionen, ergab dann dieses ergebniss.
meiner meinung nach stribt das thema wieder wenn man da jetzt anfängt wieder was basteln zu wollen,
weils zwar toll ist und ich "du hast doch eh keine ahnung" eh doof bin,
aber faktum von euch eh keiner lust und zeit hat.
>>> punkt <<<
zumindest sind diese ergebnisse mit blender schonmal weit mehr als die 2 jahre davor geschehen sind.
>>> 2 jahre <<<
re
>>Wir koennen auch einfach eine .blend datei rausschreiben. Sowie ich den Code gesehen habe, brauchst Du nur Dreiecke/Dreiecksnetze. Wir koennen einen einfachen .blend-exporter schreiben...
>>Ich hab vor einer Weile eine 3D-Bibliothek geschrieben. Es sollte eigentlich recht einfach sein, die zu erweitern.
Sorry aber ich versteh gerade nicht 100%-ig wie das meinst.
Interpretierungsmöglichkeit A)
- Willst du dass mein script eine .blend-Dateien erzeugt und diese dann von Blender gerendert wird?
Wenn du das meinst: Dann könnte ich doch auch gleich .vrml schreiben dann ist es Renderer-unabhängig.
Interpretierungsmöglichkeit B)
- Willst du dass mein Script mittels Blender eine .blend Datei erzeugt welche dann von deiner Bibliothek gerendert wird?
Gedanken:
Soweit ich das sehe kann ich, mit dem aktuellen Vorgehen (mit Script in Blender Szenerie erzeugen) sehr einfach bereits fertige Blender-Python-Scripte verwenden welche das ergebnis als .vrml oder als .x3d abspeichern. Natürlich kann ich mein script auch umbauen sodass es gleich vrml produziert. Wie auch immer, bleibt dann für mich nach wie vor offen, wie/mit was das .vrml/.blend/.x3d schnell und performant gerendert werden soll. Bisher kenn ich ja nur Blender der das könnte. Zudem befürchte ich, dass das Zwischenformat sehr aufgebläht sein könnte. Gerade bei den XML-Basierten Formaten. Wenn ich mal davon ausgehe dass ein Gebäude 100 Polygone hat und dass man 15k gebäude darstellen möchte. Und ein Polygon zudem in XML-kodiert 20 Byte weg nimmt komme ich auf eine Dateigröße für das rendering einer Kolo von 30 MB. Also man könnte nicht die Dateien für alle kolos halten sondern müsste dies wirklich als reinen Zwischenschritt bei der Bilderzeugung betrachten. Die Verwendung eines Browserplugins zur Direktanzeige der 3D-Kolo im Browser fällt da wohl wegen Datenmenge weg. (Das wäre ja noch eine interessante Alternative zum PNG-Rendern gewesen...)
Blender
@chenlo
Das Problem ist nicht Blender. Das Problem ist, dass der aktuelle Code komplett Blender-spezifisch ist, d.h., wenn wir einen anderen Renderer benutzen wollen, dann muessen wir den Code komplett umschreiben.
Wenn der Code Renderer-unabhaengig ist, dann ist das deutlich einfacher. Zum Beispiel waere es ja moeglich, dass wir den neuen Cloud-Rendering-Service von nvidia benutzen wollen. Die haben da kein Blender laufen...
@Thor
Ich wuerde intern eine Darstellung der Szene in einer Datenstruktur erzeugen, die man dann in verschiedene Dateiformate (z.B. Blender, VMRL, was auch immer) exportieren kann. Fuer sowas gibt es bereits eine Bibliothek, die aber bisher noch nicht das Blender Dateiformat unterstuezt...
re
Klingt gut.
Dann gib mal bitte diese lib damit ich mal schauen kann ob ich das dort ablegen kann. Es wäre mir sehr lieb wenn diese in Java oder C wäre da ich in Python performance Probleme schlecht analysieren / aus dem Weg gehen kann. Ich hätte auch kein Problem damit eine eigene Ablagestruktur zu konstruieren...
Bei ner extra lib wäre für mich auch noch wichtig zu wissen wie / ob man dort Texturen ablegen kann. Weil das hat bisher mit dem Python-Blender-Ding nicht so richtig funktioniert wie ich das wollte..
Wir müssen aber nicht zwangsläufig das .blend Format unterstützen. Blender kommt auch mit VRML etc zurrecht.
Ich kenne mich aber derzeit mit VRML etc zu wenig aus. Kann man dort auch die Position und den Winkel der Kamera ablegen? Weil die muss sich ja von der Kologröße abhängig skalieren beim rendern..
PS: @scorp, mein Script hat schon jetzt quasi nix mehr mit Blender zu tun und benutzt diesen nur als Datenablage und Renderer. Anstelle die Daten dort Blenderspezifisch abzulegen wäre es durchaus Sinnvoll von der Blender-API unabhängig zu werden. Das hätte unter anderem den Scharm dass ich beim nächsten Blender-release nicht meinen kompletten Code umschreiben muss bloß weil sich da was in der Blender-API geändert hat. So etwas wäre nun wirklich doppelte Arbeit für die ich tatsächlich keine Zeit oder Lust hätte...
achso ...
ich verstehe.
es geht euch also garnet darum die objekte direkt anders zu generieren, sondern nur darum es alternativ rendern zu können.
ich weis das es wohl mittlerweile 2 projekte gibt in denen leute alternative renderer gebaut haben die nicht auf die blenderfunktion zurückgreifen, aber unter anderem das .blend file unterstützen.
das bekanntest der beiden ist der YafRay.
jedoch klingt für mich diese cloudrendering geschichte von nvidia vielversprechender,
da man dann ja das rendering online, outsourcen kann ohne auf eigene software oder resourcen zurückzugreifen.
aber wiegesagt, ihr macht das schon...
@thor
im vrml format, werden keine kammeras gespeichert, da das format nur das modell und dessen texturale eigenschafften beinhalltet.
man muss dazu einen player oder ähnliches installieren,
da man vrml nicht rendert sondern direkt anschaut und die kammeraposition selbst bestimmt.
so zumindest sehen meine erfahrungen dahingehend aus.
das typischste format, das von 90% aller renderer und 3d-editierungs-programmen verstanden wird ist .obj
blender kann auch objekte in .obj exportieren, jedoch habe ich bisher da nur schlechte ergebnisse erziehlt,
da wichtige zusatzinformationen wie zb. die kammera und so verloren gingen und wieder nur das objekt gespeichert wurden.