Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Das Spiel hängt hier beim Start leider mit nem schwarzen Bildschirm (gibts nen Fenstermodus?). Danach musst ichs erstmal blind abschiessen, und beim zweiten Wert gabs dann ne halbverdeckte Fehlermeldung über einen ungültigen Integerwert. Sprich antesten konnt ichs leider noch nicht.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Jetzt startet das Spiel zwar, aber ich hab nur Text auf schwarzem Hintergrund. Sprich im Hauptmenü seh ich umrandeten Text, im Spiel selber oben ein weisses Viereck (Minimap?) und da steht dann "Startplatz wählen...". Der Rest des Bildschirms ist schwarz.
GPU ist eine Radeon HD6850 (aktuelle Treiber) auf Vista 64 Bit.
Registriert: Mi Nov 30, 2011 21:41 Beiträge: 136 Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
OK. Bei mir läuft das Spiel einwandfrei, keine Grafikbugs, oder sonstiges. (Win7 64bit neuste Treiber). Ein kleines Tutorial wäre irgendwie ganz nett oder zumindestens ne schriftliche Anleitung, hab da jetzt nix gefunden, oder gibts da was? Meine Leute rennen momentan nur wild in der Gegend rum und mähen den Rasen?!?!?
Grafik ist auf jeden Fall sehr nett gemacht. Die Leute sehen wirklich niedlich aus
edit: OK. Jetzt haben sie ein Fähnchen gesetzt und ein graues Haus gebaut ^^ Macht auf jeden Fall schon Spaß, obwohl ich keine Ahnung hab was ich mache
edit2: Ist es beabsichtigt, dass sich die Grafikbilder im Baumenü überschneiden? Und haben die Farben der Baupunkte irgendeine Bedeutung für Effektivität oder so?
edit3: Hab grad im Holzfäller Lager ein paar Arbeiter ausgewählt, muss ich da aufpassen, dass ich net nochmal den selben auswähle? Und kann man die Reichweite der Holzfällerlager irgendwie sehen?
edit4 ( ): Ein Vorschlag wegen dem mit der Schokolade, ich würde es so machen, dass so bald die Schokolade entdeckt wird, die Leute nur langsam diesen Rohstoff auf wollen, und man nicht erstmal einen Nachteil hat, wenn man sowas findet. (Man könnte zum Beispiel machen, dass sich die Nachricht ringförmig ausbreitet)
edit5: Wenn ich auf Speichern klicke bekomme ich:" Error: Interfacebutton im offenen Spiel nicht abgefangen"
edit6: Vermehren sich die Leute auch irgendwie? Hab jetzt 4 Häuser, 2 Holzfällerlager und 2 Bauernhäuser, aber immernoch die selben 10 Leute... und ist es gewollt, das das Spiel weiterläuft, wenn man zurück aufs Hauptmenü geht?
Registriert: Mi Jun 05, 2013 15:12 Beiträge: 162 Wohnort: Glinde
Programmiersprache: Delphi 7
Ich werde mich erst einmal um Sascha kümmern. Das hat absolute Priorität. Außerdem wollte ich demnächst sowieso meine Texturen umbauen. Jetzt habe ich wenigstens einen sehr wichtigen Grund dazu.
Zitat:
1. Ein kleines Tutorial wäre irgendwie ganz nett oder zu mindestens ne schriftliche Anleitung, hab da jetzt nix gefunden, oder gibt es da was?
Leider habe ich NOCH keines verfasst, da ich normal über TeamSpeak direkt mit dem Tester verbunden war. Der zweite Grund, warum auch noch kein Tutorial vorhanden ist, ist das ich noch am Array und System herumschraube. Würde ich heute eine Kampagne schreiben, könnte ich sie morgen überarbeiten, um sie später wieder überarbeiten zu können. Aber eine kurze Anleitung ist kein Problem. 1. Stelle das Startgebäude. Es muss im Grasland sein (Die Karten sind 100 % zufällig. Wenn du noch kein Grasland siehst, suche es.). Die Punkte zeigen dir die Möglichkeiten (zu den Punkten siehe nächstes Zitat von dir). 2. Wenn die Figuren aufhören zu planieren (betrachte links X/10 Personen arbeiten), baue einen Bauernhof um die Nahrungsversorgung zu sichern. 3. Nach kurzer Zeit werden auch die restlichen Arbeiter mit dem Startgebäude fertig. Wenn die Fahne steht, klick darauf und stelle die Arbeiter ein. Diese kümmern sich um nix anderes mehr, als alle Bäume abzuholzen um Baumaterialien zu generieren. 4. Das zweite Gebäude (Bauernhof) sollte langsam auch planiert sein. Es wird die Bauschablone angezeigt, wenn es fertig ist (du kannst jetzt darauf klicken und sehen was zum Bauen fehlt). Sofern Bauholz vorhanden ist, werden deine Personen anfangen und das Material heranschleppen.(Leider NOCH keine Träger Animation vorhanden.) TIPP: Ein Teil deiner Leute stehen nun herum. Solltest du nicht viele Bäume in der Nähe haben, weil die Karte 'Oase' ist oder Rohstoffe niedrig eingestellt sind, baue einen zweiten Holzfäller. 5. Baue nun Wohnhäuser für deinen Clan. Du brauchst sie. Denn nur Personen mit Wohnung haben auch Lust, Kinder in die Welt zu setzen (siehe 3tes Zitat). 6. Kümmere dich nun darum mehr Nahrung zu bekommen. Dies ist ebenfalls wichtig für die Vermehrung (siehe Nr.4 der Zitate). 7. Das sollte so klappen.
Zitat:
2. Und haben die Farben der Baupunkte irgendeine Bedeutung für Effektivität oder so?
Ja, es handelt sich um die benötigte Planierzeit. Ist aber zu Testzwecken minimal eingestellt. Der Punkt entspricht immer der Eingang zum Gebäude. Es wird die Gebäudeschablone über die Landschaft gelegt, sodass jede Unebenheit die vom Höhenlevel 4 (Bauhöhe) abweicht, planiert werden muss. Planieren dauert Zeit. Jetzt ca 1,2 Sekunden später nach Fähigkeit der Figur 1,2 Sekunden (100 % gelernt) bis 6 Sekunden (0 % bzw. ungelernt).
Zitat:
3. Meine Leute rennen momentan nur wild in der Gegend rum und mähen den Rasen?!?!?
Der Grund warum sie den Rasen mähen (mit einer Schaufelanimation), liegt daran, dass sie wie in "Die Siedler" planieren müssen. Das wilde daran ist Absicht. Die Bewohner fangen jedes Bauprojekt gleichzeitig an. Dies soll verhindern, dass im Multiplayer einer sofort wie bekloppt Baupläne spammt und den Boden so zupflastert, dass der Andere nix mehr bauen kann. Seine Leute werden verhungern noch bevor er seine Grundversorgung aufgebaut hat. TIPP: Planiere immer nur ein Gebäude gleichzeitig oder baue sie als Gruppe nebeneinander, damit der Zeitverlust durch das hin- und herlaufen nicht zu groß wird. Es gibt keine Grenzen zum Bauen daher kann jeder überall Bauen und den Anderen stören. (Absicht damit es nicht heißt "DU HATTEST VIEL BESSERE CHANCEN".)
Zitat:
4. Vermehren sich die Leute auch irgendwie? Hab jetzt 4 Häuser, 2 Holzfällerlager und 2 Bauernhäuser, aber immer noch die selben 10 Leute.
Die Vermehrung ist momentan so eingestellt, dass du nur 5 Kinder von einem "Paar" bekommen kannst, wenn: 1. Das Paar in einer Wohnung lebt (beide müssen auch wirklich leben). 2. Es mehr als doppelt soviel Nahrung gibt (Das ist dein Problem ich werde die Anforderung aber senken. + 1 mehr Nahrung als Arbeiter sollte reichen. Erst muss aber die Grafik geändert werden). 3. Die Mama muss zwischen 15 und 35 Jahre alt sein (der Papa kann praktisch immer). Momentan ist es Zufall wie alt die Person ist. Ich war kurz davor den Lebenszyklus zu implementieren, bevor ich es hier veröffentlicht habe. Das sollte es gewesen sein
Zitat:
5. Grafik ist auf jeden Fall sehr nett gemacht. Die Leute sehen wirklich niedlich aus
Vielen Dank. Ich habe alles selber gemalt. OK bis auf das Brett es war ein Foto meiner Panele im Obergeschoss, das ich durch einen 256 Farbfilter gejagt habe.
Zitat:
6. Ist es beabsichtigt, dass sich die Grafikbilder im Bau-Menü überschneiden?
Nein, auf keinen Fall. Am Freitag, den 26. April ist mein Motherboard abgeraucht. Die richtige Version muss dort verloren gegangen sein. Ich habe einen Tower-PC (dieser ist abgeraucht. Hier liegt meist die aktuellste Version). Ein Notebook mit 600 MHz und 8 MB shared Memory Grafikkarte (nehme ich in der Spätschicht mit zur Arbeit, falls die Pause langweilig wird. Diese Version habe ich benutzt). Meinen Server im Wohnzimmer. (Hier liegt immer nur die öffentliche Version. Damit immer die älteste). Ich selber teste meistens über Hot-Key das Programm, deshalb ist es mir seit dem Absturz nicht aufgefallen. Dürfte dann auch das Mouseover im Bau-Menü fehlen ;( Hot-Key's sind: 'H' := Holzfäller bauen 'B' := Bauernhof bauen 'W' := Wohnhaus bauen 'L' := Lager bauen F3 := Programminformationen F5 := Quicksave F6 := Quickload F7 := Minimap ein/weg blenden F8 := InGameInterface ein/weg blenden F9 := Bodentexturen ein/weg blenden F10:= Ambiente ein/weg blenden F12:= Doppelte Geschwindigkeit Esc:= Ansicht resetten / Bau-Modus Abbrechen / InGame Hauptmenü rufen. (Genau in dieser Reihenfolge. Wenn du nicht im Bau-Menü bist holt er natürlich sofort das Menü)
Zitat:
7. Hab grad im Holzfäller Lager ein paar Arbeiter ausgewählt, muss ich da aufpassen, dass ich net nochmal den selben auswähle?
Die Arbeiter müssten erst wieder entlassen werden (noch nicht verfügbar), damit du sie ein zweites Mal benutzen könntest. Im Menü sind sie bereits als 'Arbeitslos' vorgefiltert. Du solltest bloß nicht alle Personen 'fest' einteilen, ohne freie Träger/Planierer/Bauherren geht es nur sehr schleppend voran.
Zitat:
8. Und kann man die Reichweite der Holzfällerlager irgendwie sehen?
Nein, aber jetzt wo du es sagst. Vorerst brauchst du aber keine Sorgen haben. Die laufen 100 Felder. Das ist ungefähr das 3fache der kleinsten Karten. (Ausnahme: "Jedem das Gleiche" Diese Karte ist von der Größe dynamisch.); Der Rand ist in einem Radius von ca. 2 Bildschirmen vom Lager entfernt. Bauernhof wäre sinnvoll. Ist aber NOCH nicht drin. Ist aber geplant.
Zitat:
9. ( ): Ein Vorschlag wegen dem mit der Schokolade, ich würde es so machen, dass so bald die Schokolade entdeckt wird, die Leute nur langsam diesen Rohstoff auf wollen, und man nicht erstmal einen Nachteil hat, wenn man so was findet. (Man könnte zum Beispiel machen, dass sich die Nachricht ringförmig ausbreitet)
Sehr gute Idee. Bin ich nicht drauf gekommen. Ich dachte mehr an: Zufriedenheit:=(Zufriedenheit der letzten Kontrolle ca. 1 Minute) + (Hat eine Wohnung ? Ja + 1 / Nein - 1 Zufrieden in diese Kontrolle) + (Hat Hunger ? JA - 1 / NEIN + 1) + (Hat Bedarf an Schokolade ? JA - 1 / NEIN + 1) + Bedarf2 + Bedarf3 + Bedarfn* So wollte ich sicherstellen das auch wirklich ein Handel zustande kommt, denn dein Clan muss nicht dasselbe erforscht haben, sondern kann in z. B. Möbel, Erze oder Keramik Monopolist sein.
Zitat:
10. Wenn ich auf Speichern klicke bekomme ich:" Error: Interface-button im offenen Spiel nicht abgefangen"
Das Menü für verschiedene Speicherstände ist noch nicht gebaut. Ich schreibe noch daran herum und teste viel, daher lohnt es sich nicht. Quicksave liegt auf Hot-Key F5.
Zitat:
11. Ist es gewollt, dass das Spiel weiter läuft, wenn man zurück aufs Hauptmenü geht?
Vorerst ja. Ich wollte nicht jedes Mal laden. Eventuell blende ich nachher eine Nebeltextur darüber, damit man es erkennt. Im InGame-Menü möchte ich ungern ein Multiplayer unterbrechen. Sooft muss man da nicht hin.
Kommentare, Fehlermeldungen und sonstigen Anregungen sind natürlich erwünscht. Aber zuerst werde ich die Texturen überarbeiten, damit Grafikbugs verschwinden. Es lohnt sich nicht ein System auf einen Krüppel aufzubauen, Danke.
LG Polarwolf
_________________ 幸福は笑う人に来て ~~ koufuku wa warau hito ni kite Das Glück kommt zu denen die lachen
Registriert: Mi Nov 30, 2011 21:41 Beiträge: 136 Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Zitat:
Sehr gute Idee. Bin ich nicht drauf gekommen. Ich dachte mehr an: Zufriedenheit:=(Zufriedenheit der letzten Kontrolle ca. 1 Minute) + (Hat eine Wohnung ? Ja + 1 / Nein - 1 Zufrieden in diese Kontrolle) + (Hat Hunger ? JA - 1 / NEIN + 1) + (Hat Bedarf an Schokolade ? JA - 1 / NEIN + 1) + Bedarf2 + Bedarf3 + Bedarfn* So wollte ich sicherstellen das auch wirklich ein Handel zustande kommt, denn dein Clan muss nicht dasselbe erforscht haben, sondern kann in z. B. Möbel, Erze oder Keramik Monopolist sein.
Die Idee kannst du ja genauso lassen, einfach nur z.B. Bedarf2 wird erst betrachtet, wenn die Nachricht angekommen ist, oder: Zufriedenheit := 10(Hat Wohnung) -10(Hat Keine) +X (Hat Schokolade) -X (Hat keine Schokolade) X ist zunächst 1 und steigt dann z.B. jede Minute wieder.
Zitat:
Ich selber teste meistens über Hot-Key das Programm, deshalb ist es mir seit dem Absturz nicht aufgefallen. Dürfte dann auch das Mouseover im Bau-Menü fehlen ;( Hot-Key's sind:
Die wären auch nett wenn die irgendwo stehen, selbst externe text datei wär erstmal ok^^, aber hasts sie jetzt ja erstmal hierhin hingeschrieben.
Zitat:
Die Vermehrung ist momentan so eingestellt, dass du nur 5 Kinder von einem "Paar" bekommen kannst, wenn: 1. Das Paar in einer Wohnung lebt (beide müssen auch wirklich leben). 2. Es mehr als doppelt soviel Nahrung gibt (Das ist dein Problem ich werde die Anforderung aber senken. + 1 mehr Nahrung als Arbeiter sollte reichen. Erst muss aber die Grafik geändert werden). 3. Die Mama muss zwischen 15 und 35 Jahre alt sein (der Papa kann praktisch immer). Momentan ist es Zufall wie alt die Person ist. Ich war kurz davor den Lebenszyklus zu implementieren, bevor ich es hier veröffentlicht habe. Das sollte es gewesen sein
OK, da kann man ja fast ne Doktorarbeit drüberschreiben
Mir gefällt das alles sehr gut, insbesondere die Komplexität. Ich finde es sehr wichtig, dass der Spieler sich selbst mit dem Spiel befasst, daher wäre ein kleines Tutorial denke ich ausreichend. Bin selbst Siedler-Spieler und naja, gab halt diejenigen die es spielen können und die die es nicht können, aber irgendwo muss ja auch die Herausforderung da sein.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Auch mit der aktuellen exe hab ich nur Text auf schwarzem Schirm. Wie renderst du denn deine Szenerie, und gibts irgendwo ein Log? Mit dem gDebugger sieht das etwas eigenartig aus. 12 fps, und angeblich keine Texturen.
Registriert: Mi Jun 05, 2013 15:12 Beiträge: 162 Wohnort: Glinde
Programmiersprache: Delphi 7
Als ich mit dem Spiel anfing, wusste ich leider nicht, wie OPENGL intern arbeitet. So wirklich weiß ich das auch leider immer noch nicht. In diesem Beitrag fand ich dann, nachdem ich wochenlang versucht habe den Quellcode zu optimieren die Geschwindigkeiten der einzelnen aufrufe. http://wiki.delphigl.com/index.php/glBegin
Allein durch diesen Artikel hatte ich bereits das Bedürfnis, mein Programm umschreiben zu müssen.
Erfinderisch bin ich trotzdem gewesen. 12,2 MB in 2,86 MB umzuschichten und in eine 2 Unit zu pressen.
Ich habe mir ein Programm geschrieben, welches mir aus jetzt 558 BMP(24Bit) einen Quellcode zusammensetzt. Bilder werden eingelesen und als Modelle aus GL_POINTS in eine Archiveunit(2,83 MB) gelegt. Alle verwendeten Farbcodes werden in die FarbcodeUnit(28,9 KB) gelegt.
Würde ich natürlich nie wieder so machen. Momentan läuft es leider so. Ich Persönlich habe auf meinen Systemen kein Problem.
Programm Start
Code:
// OpenGL-Funktionen initialisieren
InitOpenGL;
// Gerätekontext holen
DC := GetDC(Handle);
// Renderkontext erstellen (32 Bit Farbtiefe, 24 Bit Tiefenpuffer, Doublebuffering)
Dies ist der erste Frame einer Person. Procedure S(A:integer;C:integer;X:integer;Y:integer); Macht nix anderes als die ersten Punkt(GL_Points) des Modells zu legen.
A := Anzahl der folgenden Punkte von links nach rechts auf C := Ruft Farbe 0(Schwarz) übrigens die Haare per glcolor3f(0,0,0); auf X,Y:= sind direkt die Daten in der Textur glVertex3f(X+i,Y,Z/100);
Also nur ein Modell (wenn ich es einmal zusammenfasse)
Code:
for i:= 0 to high(ModellistPerson) do
begin
ModellistPerson[i] := glGenLists(1);
glNewList(ModellistPerson[i], GL_COMPILE);
glBegin(GL_points);
glcolor3f(0,0,0);glVertex3f(-2,-12,0);
...
...
glcolor3f(0.243,0.643,0.345);glVertex3f(+2,0,0);
glEnd;
glEndList;
end;
Der Eventtimer
Code:
// In die Projektionsmatrix wechseln
glMatrixMode(GL_PROJECTION);
// Identitätsmatrix laden
glPushMatrix;
glLoadIdentity;
// Viewport an Clientareal des Fensters anpassen
glViewPort(0, 0, ClientWidth, ClientHeight);
// Perspective, FOV und Tiefenreichweite setzen
glOrtho(0,ClientWidth,ClientHeight,0, -1,1);
drawscene(false); //Alles Zeichnen
glPopMatrix;
glcolor3f(1,1,1);
ShowText;
// Hinteren Puffer nach vorne bringen
SwapBuffers(DC);
drawscene stark vereinfacht.
Code:
// In die Modelansichtsmatrix wechseln
glMatrixMode(GL_MODELVIEW);
// Identitätsmatrix laden
glLoadIdentity;
// Farb- und Tiefenpuffer löschen
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
Sascha eine Frage hab ich an dich. Das Start-Menü kannst du ja sehen. Wenn du in Einstellungen schaust, kannst du da die GL_Quads mit den Spieler Farben sehen ?
LG Polarwolf
_________________ 幸福は笑う人に来て ~~ koufuku wa warau hito ni kite Das Glück kommt zu denen die lachen
Registriert: Mi Nov 30, 2011 21:41 Beiträge: 136 Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Alles mit GL_Points
Schon irgendwie lustig^^ wundert mich, dass es dabei noch flüssig läuft, aber naja mit Displaylists hast du ja auf jeden Fall das Transferproblem umgangen. Also 2 Sachen solltest du auf jeden Fall umstellen, das ist die Sache mit den GL_points und das mit den glLoadName, denn glLoadName wird auf vielen Grafikkarten/Treiber nicht mehr supportet, dir bleibt da heutzutage nix anderes übrig als Colorpicking, aber ist auch am besten dafür geeignet. Die Sprites am einfachsten mit Alpha-Test als Quad rendern, sollte am schnellsten sein (Zerlegung in Triangles kann man machen, kann man aber auch lassen auf die 0,1 FPS kommts jetzt auch nicht an)
Code:
// Viewport an Clientareal des Fensters anpassen
glViewPort(0,0, ClientWidth, ClientHeight);
Das hier kannste eigentich in OnFormResize packen.
edit: Man kann übrigends auch Bilddateien zur Laufzeit laden Dafür kannst du zum Beispiel glBitmap, SDL, etc. nutzen.
edit2: Hab mal den Afterburner laufen lassen, hab trotzdem grad mal angenehme 13% GPU Auslastung (nagut auch bei einer Framerate von 15). Aber Speicherauslastung ist 50 MB Ich glaub mit Texturen kannst du an der Stelle ordentlich einsparen!
Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.