Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 12, 2025 23:03

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Hexfeld Problematik
BeitragVerfasst: Mi Aug 30, 2006 08:20 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich möchte nochmal zum Thema Hexfeld nachhaken. Sascha hat ja im Wiki den Artikel Hexfeld erstellt.

Ich habe selbst auch schon mit Hexfeldern experimentiert, hatte aber das Problem, dass der Hintergrund an den Nahtstellen zwischen den Feldern ab und an durchschien. Wie kann man das verhindern? (Der Effekt trat vorallem auf, wenn man etwas weiter weg zoomte.)


Ich werden später mal meinen Code posten. Hab den momentan nicht zur Hand.

Nebenbei: Es gibt auch eine Mathematische Formel mit der man bestimmen kann, ob 2 Hexfelder zueinandern benachbart sind. Die Formel werden ich vielleicht im Wiki noch ergänzen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 30, 2006 09:01 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo Flash,

ich glaube das hängt damit zusammen, dass deine Sechsecke nicht hunderprozentig gleichmässig sind.
Wenn ich mal das Beispiel aus dem Wiki nehme : Die Kanten haben dort in z-Richtung eine Länge von 2 während die 'schrägen' Kanten eine Länge von Wurzel(1.75²+1²)~2.015564437 haben.

Viele Grüße
dj3hut1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 30, 2006 15:11 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Viel kann ich dazu leider nicht sagen. Ich rendere zwar, was auf den Shots im Wiki sichtbar ist, über die Hexfelder nochmal ein Liniengitter mit Linienbreite = 3, aber das auch nur fürs optische Feedback. Aber selbst wenn ich die weglasse scheinen bei mir auch bei weiten Zooms keine Risse oder Schlitze zwischen den Hexfeldern. Evtl. solltest du mal mit den Einheiten (k.a. wie groß du renderst) rumexperimentieren, oder mal versuchen die Z-Range zu optimieren, also zNear und zFar recht nah beieinander.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Aug 30, 2006 17:09 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
ne kleine frage, nebenbei, wieso werden hexfelder verwendet und nicht einfach normale quadrate, das ginge doch auch oder?

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 31, 2006 08:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Hexfelder sind eine taktische Entscheidung, da du damit in 6 anstelle in 4 Richtungen gehen kannst. Und außerdem sehen Hexfelder besser als normale Quadrate aus. ;-)

PS: denke auch mal, dass es von klassischen Brettspielen herkommt. Die basieren mehr oder Weniger alle auf Hexfeldern. (Mechwarrior, Siedler von Katan etc...)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 31, 2006 08:24 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Es gibt genau 3 verschiedene mögliche Nachbarschaftsbeziehungen:

4N : Quadrat - Du kannst nur die 4 Verticalen/Horizontalen Nachbarn betreten
6N : Hexfeld - 6 Nachbarn
8N : Quadrat - Du kannst auch noch die diagonalen Nachbarn betreten. (Zu den 4N)

6N ist einfach etwas besonders, da diese Form eben nicht üblich war(!). Früher waren die Brettspiele wenn dann auf Quadratbasis. 6N Wirkt da einfach neu und kreativ.


Es gäbe vielleicht noch 3N. Aber ein Spiel auf Dreiechsbasis habe ich noch nicht gesehn. Wäre aber sicherlich interessant.
Hier könnte ja mal jemand von DGL einen Vorstoß wagen, und ein 3N basiertes Spiel bauen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 01, 2006 14:32 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 29, 2006 21:13
Beiträge: 142
Wohnort: Ballenstedt/Sachsen-Anhalt
Flash hat geschrieben:
Es gäbe vielleicht noch 3N. Aber ein Spiel auf Dreiechsbasis habe ich noch nicht gesehn. Wäre aber sicherlich interessant.

Es gibt ein Spiel namens Triomino, das ist Domino mit 3 Ecken. Saumäßig kompliziert am Anfang ;)
Zitat:
Hier könnte ja mal jemand von DGL einen Vorstoß wagen, und ein 3N basiertes Spiel bauen.

Hab ich auch schon überlegt, aber ich komme auf keine sinnvolle Speichermethode, da man das Anlegen ja auch irgendwie überprüfen muss (auf korrekte Züge meine ich).

_________________
Gott sei Dank bin ich Atheist!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 01, 2006 15:13 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Martok hat geschrieben:
Flash hat geschrieben:
Zitat:
Hier könnte ja mal jemand von DGL einen Vorstoß wagen, und ein 3N basiertes Spiel bauen.

Hab ich auch schon überlegt, aber ich komme auf keine sinnvolle Speichermethode, da man das Anlegen ja auch irgendwie überprüfen muss (auf korrekte Züge meine ich).


Öhm... Ich hab das gester mit nem Kumpel mal durchdiskutiert. Da wir eh gerade an nem Spiel schreiben, werden wir wohl mal versuchen die Karte 3N basiert zu machen. Ich selbst bin auch gespannt in wie weit das was wird.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 01, 2006 16:32 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 29, 2006 21:13
Beiträge: 142
Wohnort: Ballenstedt/Sachsen-Anhalt
Hört sich interessant an! Ich hoffe doch, dass ihr das recht bald veröffentlicht *g

3N halte ich für einiges schwieriger als Hexfelder, da man keine 2d-Arrays benutzen kann. Es hat zum Beispiel nur jeder 2. ein oben, die dazwischen liegenden nur ein unten. Dadran bin ich gescheitert.

Was wird denn das für ein Spiel?

_________________
Gott sei Dank bin ich Atheist!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 01, 2006 23:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Mag sein dass 3N interessant klingt und auch innovativ erscheint, aber das bedeutet noch lange nicht dass es auch Spaß macht. Zum einen schränkt man damit die Bewegungsfreiheit des Spielers ein, und auch in Sachen KI dürfte es wohl etwas schwieriger umzusetzen sein. Aber solltest du da wirklich was in der Richtung umsetzen bin ich mal gespannt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 02, 2006 14:07 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
3N Sollte nicht schwerer sein, auch das kann man problemlos als 2d verwalten. Immerhin stelle jeder Stripe eine 1d linie da. DIe bewegungsfreiheit wird eigendlich auch nicht eingeschränkt. DIe Auflösung dagegen wird erhöht. z.B. Kann eine Barrikade in 6 eckiger Form gebaut werden ohne, das Artefakte der 6ecke auftauchen.
3N und 6N haben bei Strategie spielen den Vorteil, das man echte Forts bauen kann, Bei denen sich Waffen gegenseitig Feuerschutz geben können.
Rein von der spielbarkeit wird 3N extrem ähnlich zu 6N sein..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 03, 2006 14:46 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das haben wir uns auch gedacht. Vorallem hat 3N noch den Vorteil, dass man die Auflösung der Karte höher machen kann. Hügel und Berge können dadurch ziemlich coole Formen annehmen.

Wir (Ich) wollten eigentlich 8N benutzen. Aber dann diskutierten wir drüber und das Ende vom Lied war, dass bei 8N die Bewegung in Diagonale Richtung viel "schneller" wirkt als in den Hauptachsen. Wir haben uns das dann mal bei 3N angeguckt, und da ist es wesentlich runder. Aber wie bereits angesprochen: Da Hexfelder auch aus 3Ecken bestehen haben sie ziemlich ähnliche Eigenschaften. Das einzige wo sie nicht mithalten können ist die Auflösung des Spielfelds.


Zurück zur Problematik: Sascha, du zeichnest deine Hexfelder mit GL_POLYGON? Packst du die in Displaylisten? Polygon ist doch recht langsam. Und wie sieht die Karte ohne den recht dicken linien aus? Siehst du dann Spalten zwischen den "Tiles"?

Ich hatte die Hexfelder bei mir aus 6 Dreiecken zusammengebaut. Wie mir gerade auffällt (der Code is schon etwas älter) habe ich nicht GL_TRIANGLE_FAN benutzt sonnder normale Dreiecke. Und da kam es dann zu besagten ritzen (wohl in verbindung mit schlechter Tiefenpufferauflösung). Aber selbst wenn die Tiles in sich keine Artefakte zeigen, würde mich interssieren, ob man sie bündig aneinander legen kann, ohne das man etwas über die Ränder rendert. ;) (Wie bei dir die dicken Linien)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 03, 2006 14:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ja, ich rendere via GL_POLYGON und packe alles in eine Displayliste. Aber selbst ohne ist dass schnell genug, sind ja nicht wirklich viele Polygone die da trianguliert werden müssen. Ritze zwischen den Tiles habe ich (wie ich oben schon geschrieben habe) auch ohne die Linien nicht, die Linien dienen nur zum optischen Feedback für den Spieler.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 04, 2006 13:15 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Was mir noch aufgefallen ist am Artikel:
Bei den darüber- und darunterliegenden Feldern ist es Abhängig von der Zeile, ob z.B.:die Koordinate des linken oberen Felds (x;y-1) oder (x-1;y-1) ist.
Also: Wenn ich mich in einer Zeile mit nach rechts verschonenen Feldern bin, hast Du recht, dann ist die nächste Zeile nicht verschoben und ich kann einfach die y-Koordinate anpassen, falls ich nach links-oben laufen will.
Bin ich aber in einer nicht-verschobenenen Zeile, dann wäre das Feld in der gleichen Spalte nach rechts verschoben und wenn ich nach links-oben marschieren will, muss die Spalte mit angepasst werden.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 15 Queries | GZIP : On ]