Autor |
Beitrag |
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: So 11.05.08 11:05
Schach - das königliche Spiel
>>> Zur Projektseite <<<
>>> Zum Download <<< (~ 3,5 MB)
Die Idee ein Schachprogramm zu schreiben hatte ich schon länger. Vor zwei Jahren bereits begann ich mit der Entwicklung eines 2D-Schachprogramms, welche ich allerdings auf Grund Fehlern im Konzept wieder einstellte. Die Idee für "Schach - das königliche Spiel" kam dann wieder bei der Lektüre verschiedener OpenGL-Tutorials auf.
Bei der bisherigen Umsetzung wurde besonders auf Grafik und Verständlichkeit geachtet. Das Programm ist daher für Leute zu empfehlen, die "einfach mal so" gegen menschliche Gegner (später hoffentlich auch mal gegen KI^^) antreten möchten, (noch) nicht aber für Profis, die sicher einige Features vermissen würden. In diesem Zusammenhang möchte ich auch noch einmal darauf hinweisen, dass es sich bisher nur um eine alpha-Version des Spiels handelt, die einige Bugs enthält. Anregungen und Wünsche, aber auch Kritik und Berichte über technische Probleme oder sprachliche Fehler sind herzlichst willkommen!
Bisher sind alle grundlegenden Schachregeln, sowie die Grafik-Ausgabe via OpenGL implementiert. Die Menü- und Einstellungsdialoge sind mit der normalen Windows-GUI realisert. Der verwendete OpenGL-Header "dglOpenGL.pas" stammt von delphigl.com.
Das aktuelle Schachfigurenset (Skin) ist von Elias Sprengel. Nach wie vor sind aber alle anderen auch herzlich dazu eingeladen eigene Schachfiguren zu erstellen. Eine Anleitung dazu befindet sich im Ordner \docs - bei Fragen stehe ich natürlich jeder Zeit zur Verfügung.
Screenshots befindet sich im Anhang, ich möchte in absehbarer Zeit auch einige auf der Projektseite ausstellen. Eine Liste der Features, Bugs und geplanten Sachen befindet sich auf der Projektseite.
So, jetzt bin ich mal gespannt, was ihr zu sagen habt.^^
mfg
Screenshot aus Version 0.1.2 alpha
Screenshot aus version 0.2 alpha
Zuletzt bearbeitet von Fabian W. am Mi 25.02.09 13:06, insgesamt 10-mal bearbeitet
|
|
huuuuuh
      
Beiträge: 665
Erhaltene Danke: 19
win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
|
Verfasst: So 11.05.08 11:34
11:24:20 Application executed...; in FormCreate
11:24:20 Settings.ini found; in FormCreate
11:24:20 Skinfile found; in FormCreate
11:24:20 OpenGL initialized; in InitializeAll
11:24:20 GLVars initialized; in InitializeAll
11:24:20 SkinVars initialized; in InitializeAll
11:24:20 An error occured while loading skin; in InitFigures
11:24:22 Skin loaded succesfully; in InitFigures
11:24:22 Models initialized; in InitializeAll
11:24:22 OpenGL configurated; in InitializeAll
11:24:22 OpenAL initialization failed; in InitializeAll
11:24:22 Status seems to be allright; in FormCreate
11:24:22 Got QueryPerformanceFrequency: 3579545; in FormCreate
11:24:22 Set ApplicationIdle - StartUp complete; in FormCreate
inhalt der syslog.txt - abbruch bei programmstart : Error occured while skin loaded
edit: hab die ini mal geändert...jetzt hagelts access violations
irgendwann wird dann form_main angezeigt - ohne was drin und mit access violation wenn ich draufklicke
|
|
GericasS
      
Beiträge: 540
Windows Vista Home Premium
D2010, VisualStudio2008
|
Verfasst: So 11.05.08 11:43
Guten Morgen ;
Ich hab es mir eben mal kurz angeschaut, auf den ersten Blick sieht es schon toll aus.
Was mir dann aber sofort negativ aufgefallen ist, das Ziehen der Figuren ist nicht gerade einfach meiner Meinunug nach. Wenn die Figur ausgewählt wurde und ihr dann vorgegeben wird wohin sie zu ziehen hat dauert es eine ganze weile bis dies auch gemacht wird.
Ansonsten sind ja schon alle anderen Bugs auf der Projekthomepage aufgelistet. Falls mir doch noch was auffallen sollte schreib in ein edit.
LG
GericasS
_________________ Alexander N.
Neue Bewaffnung Amilo xi2428 T9300
|
|
Fabian W. 
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: So 11.05.08 11:54
@huuuuuh: Dass das Syslog nicht ganz so geht wie ich das will und er nach dem Fehler dennoch weiterläd weiß ich. Allerdings weißt der Fehler darauf hin, dass irgendwas mit den .3ds-Dateien des Skins nicht stimmt. Welche .ini und was hast du in der geändert?
@GericasS: Das Ziehen der Figuren ist Geschmacksache - allerdings muss du nicht unbedingt warten bis die Figuren gezogen sind, falls dir das zu lange dauert. Falls sich noch mehr Leute über diese Methode des Ziehens beschweren werde ich es ändern, oder eine Auswahlmöglichkeit einbauen.
|
|
GericasS
      
Beiträge: 540
Windows Vista Home Premium
D2010, VisualStudio2008
|
Verfasst: So 11.05.08 11:58
Fabian W. hat folgendes geschrieben: |
@GericasS: Das Ziehen der Figuren ist Geschmacksache - allerdings muss du nicht unbedingt warten bis die Figuren gezogen sind, falls dir das zu lange dauert. Falls sich noch mehr Leute über diese Methode des Ziehens beschweren werde ich es ändern, oder eine Auswahlmöglichkeit einbauen. |
Zweiteres wäre meiner Meinunug nach das Beste. Aber ich werds mir nochmal anschauen mit dem ziehen =)
_________________ Alexander N.
Neue Bewaffnung Amilo xi2428 T9300
|
|
huuuuuh
      
Beiträge: 665
Erhaltene Danke: 19
win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
|
Verfasst: So 11.05.08 12:05
hab die settings.ini geändert...die nullwerte auf eins gesetzt
|
|
DelphiMarkus
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: So 11.05.08 12:15
Ich habe das gleiche Problem wie huuuuuh.
Es kommt immer eine Fehlermeldung.
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: So 11.05.08 12:53
Fabian W. hat folgendes geschrieben: | @GericasS: Das Ziehen der Figuren ist Geschmacksache - allerdings muss du nicht unbedingt warten bis die Figuren gezogen sind, falls dir das zu lange dauert. Falls sich noch mehr Leute über diese Methode des Ziehens beschweren werde ich es ändern, oder eine Auswahlmöglichkeit einbauen. |
Eigentlich ist die Methode schon gaz in Ordnung, nur die Implementierung nicht^^
Teilweise werden Mausklicks einfach verschluckt, und wenn sie mal angenommen werden, dann friert das Bild kurz ein. Beim Zugziel das gleiche. Einen Zug zu veranlassen, ist schon richtige Arbeit^^
Erinnert mich irgendwie an den SelectionMode von OpenGL, kann das sein? Wie Sascha (Willems) mal festgestellt hat: der ist bei den meisten Karten Müll.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
Fabian W. 
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: So 11.05.08 13:50
@huuuuuh und DelphiMarkus: Da es bei anderen zu funktionieren scheint bin ich etwas überrascht - was für GraKas habt ihr? Neueste Treiber? Welches OS / OpenGL?
@huuuuuh: Naja, also wenn du einfach irgendwelche Werte in der settings.ini umstellst brauchste dich nicht zu beschweren wenns access violations hagelt.^^
@Martok: Zitat: | Teilweise werden Mausklicks einfach verschluckt, und wenn sie mal angenommen werden, dann friert das Bild kurz ein. Beim Zugziel das gleiche. Einen Zug zu veranlassen, ist schon richtige Arbeit^^ |
Dass Mausklicks verschluckt werden ist mir noch nicht aufgefallen, kann es sein, dass in einem solchen Fall das Fenster nicht selektiert war oder du die Maus ein Stück bewegt hast während des Klicks? Auch hier wäre mal interessant zu wissen welche GraKa du einsetzt und ob der Treiber auf dem neuesten Stand ist.
Zitat: | Erinnert mich irgendwie an den SelectionMode von OpenGL, kann das sein? Wie Sascha (Willems) mal festgestellt hat: der ist bei den meisten Karten Müll. |
Jap - haste nen anderen Vorschlag?
//EDIT: Kann es sein, dass diese "Bild-Hänger" nur vorkommen, wenn die Option "Light" auf "high" eingestellt ist?
|
|
huuuuuh
      
Beiträge: 665
Erhaltene Danke: 19
win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
|
Verfasst: So 11.05.08 14:29
graka hab ich VIA/S3G UniChrome Pro IGP (basiert auf ati glaub ich) treiber neueste
OS: WinXP SP2 Build 2600
OpenGL is das neueste, hab ich zuerst auch gedacht, aber dann dürften andre OpenGL sachen auch nich funzen, tun sie aber...
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 11.05.08 14:53
Hi,
Also erstmal muss ich sagen: ich bin begeistert  .
Okay, Kritikpünktchen: - Beim Auswahlmenü am Anfang wurde mir bei Lesen der Optinen etwas schwindelig mit dem drehenden Brett im Hintergrund
eventuell langsamer bis kaum noch Drehung drin
- Eine Toolbar und ein Hauptmenu, bitte dort auch das Drehen nach jedem Zug abstellbar machen
- Skalierung des Brettes(a1..H8 )
- Züge Rückgängig
- Da sich die(fps=?) Zahl oben im Fenster nicht maßgeblich verändert, scheinst du ständig neu zu zeichnen? mach das doch nur, wenn gescrollt wird?
- Wenn ich mit der Maus(gedrückt) die Form verlasse, kann ich die maustaste hochnehmen und wieder auf die Form, dann wird immer noch gedreht(trotz maus oben)
- Das Ziehen der Figuren finde ich dagegen garnicht schwierig.. einfach draufklicken zum einrasten und dann aufs Zielfeld...
- Bei der Konsole doch bitte die normale Schachnotation verwenden, nicht jeden Halbzug einzeln
Ansonsten muss ich sagen, dass ich das echt gut finde, so. Mal ganz abgesehen davon, dass, finde ich, die 3D-Variante immer das taktische Denken ganz schön erschwert.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: So 11.05.08 15:12
Fabian W. hat folgendes geschrieben: |
Zitat: | Erinnert mich irgendwie an den SelectionMode von OpenGL, kann das sein? Wie Sascha (Willems) mal festgestellt hat: der ist bei den meisten Karten Müll. | Jap - haste nen anderen Vorschlag? |
Ja: www.saschawillems.de/?p=27
Zitat: | nd I also coded my own selection method. {...} I implemented my own selection with a simple color selection. So instead of using OpenGL’s selection I render a very simplified version of the scene where the different objects (regions) have different colors, read back the color under the cursor from the framebuffer and select the object based on that color. Works exactly as good as OpenGL’s selection mode, is faster and I don’t have to care for driver-related problems. |
Hab ich auch selber schon mal gecodet, ist relativ simpel.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
Fabian W. 
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: So 11.05.08 15:15
@Hidden: Erstmal Danke für das Lob!
1 und 2) Joah, ich werde die Drehung langsamer machen - sieht wahrscheinlich auch besser aus.^^
3) Die Skalierung des Bretts wird mi dem ersten "richtigen" Skin eingeführt - dieser ist wie gesagt nur provisorisch.
4) Was meinst du mit "Scrollen"?
5) Das Maus-Drück-Problem ist nicht allzu gravierend, oder?
6) Ich finde das Ziehen auch nicht schwer, zumal man wenn man sich Zugmöglichkeiten anzeigen lassen will sowieso 2 mal klicken muss (insgesamt, mit Zug). Allerdings ist es natürlich schon nervend, wenn Fehler auftreten wie Martok sie beschreibt.
7) Steht auf der Liste!
@Martok: Super, ich werde mir das mal zu Gemüte führen.  Sag mir aber trotzdem noch ob das nur bei der einen Light-Einstellung auftritt und wie dein System ausschaut, Danke! 
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 11.05.08 15:32
Hi,
mit Scrollen meinte ich das Drehen des Bretts mit der Maus^^ warum ich den Begriff gewählt habe weiss ich auch nicht XD
Mir ist gerade mal aufgefallen, dass die Animation zum Schlagen viel zu lang ist... Die würde ich um mindestens die Hälfte schneller machen. Sieht dann wahrscheinlich auch mehr nach Schlagen aus  Dann könntest du, wenn es kein zu großer Aufwand ist, auch beide Figuren gleichzeitig ziehen. Wäre imho etwas weniger passiv, der Schlagvorgang.
Edit: Ach so, kleiner Tipp: Um deine Weissen Figuren einen dünnen Rand zu Zeichnen dürfte die Sichtbarkeit stark erhöhen. Jedenfalls sollten sie sich von den ebenfalls weissen Figuren auf den Nachbarfeldern absetzen.. eventuell auch mit Lichteffekten oder so.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am So 11.05.08 15:37, insgesamt 2-mal bearbeitet
|
|
DelphiMarkus
      
Beiträge: 303
OpenSuSE
Delphi 2009 Pro., Lazarus
|
Verfasst: So 11.05.08 15:32
Ich habe eine SIS 630/730 Grafikkarte und der Treiber müsste der neuste sein.
|
|
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 11.05.08 16:24
Fabian W. hat folgendes geschrieben: | @huuuuuh: Naja, also wenn du einfach irgendwelche Werte in der settings.ini umstellst brauchste dich nicht zu beschweren wenns access violations hagelt.^^ |
das ist doch nicht dein ernst
du hast dafür zu sorgen, dass das vernünftig abläuft und dein programm fehlertolerant ist. nicht der arme user, der nicht in dein progy sehen kann.
und so schwierig ist das doch nicht? 1, 2 if anweisungen und die sache ist erledigt. das sollte doch machbar sein, oder?
<erstaunte grüsse>
GG
|
|
Fabian W. 
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: So 11.05.08 16:45
@Hidden: Achso, ja das wäre eine Überlegung wert, allerdings müsste ich dann auch Sonderfälle beachten, wie zB das Ziehen von Figuren, das Selektiertsein von Figuren, oder auch das Verschieben anderer Fenster über das des Spiels hinweg - da muss ich ja dennoch immer neuzeichnen. Von daher werde ich mir den Ansatz erst einmal nur notieren, ja?!
@huuuuuh und DelphiMarkus: Eure beiden Grafikkarten bzw OnBoardchips sind ja nicht unbedingt die verbreitetsten am Markt. Ich werde mich mal informieren ob die irgendwelche Besonderheiten aufweisen. Z.B. erstelle ich beim Laden Displaylisten um die Rendervorgänge zu beschleunigen, vielleicht werden die ja nicht unterstützt - habt ihr vielleicht irgend eine Ahnung über eventuelle Besonderheiten eurer Chips?
Martoks Bild-Häng-Probleme konnte ich reproduzieren, wie vermutet tritt das Problem nur bei "Light" - "High" auf. Die verschluckten Klicks (wahrscheinlich) ebenso. Kann die Probleme sonst noch wer bestätigen?
OT:
@Grenzgaenger: Kannst du mir sagen was dein Post in diesem Topic zu suchen hat? Derartige Äußerungen lasse ich mir allen Falls via PN gefallen, du wirst auch gleich eine von mir erhalten.
mfg
|
|
huuuuuh
      
Beiträge: 665
Erhaltene Danke: 19
win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
|
Verfasst: So 11.05.08 16:57
ich kann also zu meiner graka nur sagen dass die in kmbination mit wenig ram (<512mb) den rechner abstürzen lässt
und das einzige spiel was da mehr oder weniger flüssig läuft is trackmania alle andern hängen sich auf, aktualisieren das bild nur alle 10 sekunden oder starten erst garnich
und es is ne schei* grafikkarte 
|
|
Fabian W. 
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: So 11.05.08 17:03
huuuuuh hat folgendes geschrieben: | ich kann also zu meiner graka nur sagen dass die in kmbination mit wenig ram (<512mb) den rechner abstürzen lässt
und das einzige spiel was da mehr oder weniger flüssig läuft is trackmania alle andern hängen sich auf, aktualisieren das bild nur alle 10 sekunden oder starten erst garnich
und es is ne schei* grafikkarte  |
Okay, das beruhigt mich schon ein wenig.^^ Nichts desto trotz werde ich Augen und Ohren offen halten, du bist ja nicht der einzige.
mfg
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mo 12.05.08 06:57
Hi,
Eine Sache habe ich glaube ich vergessen  ich finde, wenn du das Brett nach jedem Zug drehst, geht jedes Mal die taktische Übersicht verloren.
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|