AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Sysygy Image Viewer
Thema durchsuchen
Ansicht
Themen-Optionen

Sysygy Image Viewer

Ein Thema von littleDave · begonnen am 9. Mai 2008 · letzter Beitrag vom 16. Mär 2009
Antwort Antwort
Seite 11 von 11   « Erste     91011   
Benutzerbild von littleDave
littleDave
Registriert seit: 27. Apr 2006
Hallo liebe Community,

ich möchte euch hier mein aktuelles Projekt vorstellen, an dem ich die letzten eineinhalb Jahre gearbeitet habe.

Was ist der Sysygy Image Viewer
Der Sysygy Image Viewer ist eine Art Bildbetrachtungsprogram. Es steht dabei nicht in Konkurenz zu anderen Bildbetrachtern wie z.B. IrfanView, die alle nur in 2D arbeiten. Sysygy Image Viewer stellt die Bilder in ein dreidimensionales Museum, durch das man sich wie in einem First-Person-Shooter frei bewegen kann. Die Steuerung ist dabei identisch mit der gängigen Shooter-Steuerung. WSAD oder die Pfeiltasten zum Laufen, Maus zum Umschauen und Leertaste zum springen. Bevor jetzt gleich jemand denkt: "ach wieder so ein Spin***, der unbedingt einen Shooter machen will, aber keine Ahnung hat" - bitte liest weiter bevor ihr Urteilt (ich persönlich find diese Threads "Wie mache ich einen 3D-Shooter" auch lächerlich, aber dass ist jetzt OT). Das Programm kann auf viele weise eingestellt werden, um auch auf schwächeren Systemen zu laufen. Ebenfalls können die einzelnen Shortcuts neu belegt werden.

Wie benutze ich Sysygy Image Viewer
Als erstes muss man ein Picture-Set erstellt, damit das Program auch weiß, welche Bilder dargestellt werden sollen. Dabei werden die Bilder gleich umformatiert, damit die Grafikkarte diese auch im Museum aufhängen kann. Es können beliebig viele Picture-Sets mit beliebig vielen Bildern erstellt werden. Dies alles kann man mit dem beigefügten GalleryCreator erledigen. Zusätzlich kann man jedem Bild einen fast beliebig langen Kommentar geben, denn dann angezeigt wird, sobald man in der Galerie vor dem Bild steht.
Sobald man ein Picture-Set erstellt hat, kanns auch schon losgehen. Im eigentlichen Programm wählt man dann das Picture-Set aus, dass man sich ansehen will. Danach wählt man noch eine Galerie aus, in der die Bilder aufgehängt werden soll. Nach einer kurzen Ladeperiode kann man sich frei druch das Level bewegen und sich die Bilder anschauen. Aber das ist noch nicht alles. Der Sysygy Image Viewer bietet auch eine Art Mehrspieler-Modus an. Wenn jemand einen Server erstellt, kann man sich zu diesem verbinden und dann gemeinsam durch die Levels laufen. Eigentlich genau so wie in einem First-Person-Shooter nur ohne Waffen und mit Bildern an der Wand. Mit Hilfe eines auf php und MySQL basierenden Master-Servers kann man sich bequem zu verschiedenen Servern verbinden.
Damit es im Single-Player-Modus nicht allzu langweilig wird, kann man zusätzlich noch Bots in die Galerie mit einbinden, die dann ebenfalls durch das Level laufen und sich die Bilder anschauen. Zudem kann man entweder der begefügten Musik zuhören, oder auch eine eigene PlayList mit den eigenen Musikdateien zusammenstellen.

Die Sprache des Hauptprogramms sowie von der Hilfe ist Englisch. Das Hauptprogramm ist zudem multi-language-fähig und beinhaltet bereits eine deutsche Übersetzung, die bei einem deutschen Windows automatisch geladen wird (kann man aber auch manuell einstellen)

Systemvoraussetzungen
Minimale Systemvorraussetzungen
  • Getesten mit Windows XP SP 2 (Windows 9x/ME/NT/2000/Vista sind nicht getestet) (Windows 9x/ME/NT/Vista wird offiziel nicht unterstützt)
  • 256 MB RAM (je nach Betriebssystem kann auch mehr benötigt werden)
  • 40 MB Festplattenplatz + Platz für die Picture-Sets (ein Picture-Set mit 50 Bildern braucht ca. 5 MB)
  • OpenGL 1.3 - fähige Grafikkarte mit mindestens 64 MB Video RAM
  • Minimale Bildschirmauflösung: 800x600
  • Windows kompatible Soundkarte
  • Maus und Tastatur
Empfolene Systemvorraussetzung
  • Windows XP SP 2
  • 1024 MB RAM
  • 40 MB Festplattenplatz + Platz für die Picture-Sets (ein Picture-Set mit 50 Bildern braucht ca. 5 MB)
  • OpenGL 2.0 - fähige Grafikkarte mit 128 MB Video RAM (GeForce 6800 Ultra oder ähnliche)
  • Windows kompatible Soundkarte mit Surround-Sound-Support
  • Internetanbindung mit ca. 10KB/s upload und 50KB/s download
  • Bildschirmauflösung >= 1024*768x32
Ein kurzer Blick in die Features
  • Komplett selbstgeschriebene Engine. Die Engine enthällt einen Textur- und ResourceManager, Kollisions-Engine, Server/Client-Engine, Script-Engine, Sound-Engine, KI-Engine und eine Grafik-Engine
  • Die GrafikEngine benutzt OpenGL zur Ausgabe. Das selbstgeschriebene Level-Format ist in einem VFS eingebettet und ist objekt-orientiert aufgebaut. Objekte steuern dabei die einzelnen Surfaces und helfen bei der Kollisionskontrolle. Die einzelnen Surfaces haben viele verschiedene Einstellungsmöglichkeiten, angefangen vom Blending-Mode bis hin zur Shader-Einbindung.
  • Die Lightmaps werden vom Editor ber Raytracing berechnet. Bisher ist nur Direct-Lighting eingebaut, für spätere Engine-Versionen ist auch Indirect-Lighting geplant. Die Lightmap-Auflösung jedes Surface kann beliebig skaliert werden. So kann für Surfaces mit wenig Licht- und Schattenabwechlsung eine kleinere Auflösung gewählt werden, um speicher zu sparen. Die Lightmaps werden dann noch durch einen Anti-Aliasing-Filter gejagt, um weichere Kanten zu zeichnen. Die Berechnungsdauer für die Lightmaps der mitgelieferten Karten hat insgesammt 15 Stunden gedauert.
  • Soundausgabe per FMod: die einzelnen Sound-Ermitter haben jeweils eine eigene Playlist, die automatisch verwaltet wird. Jeder Sound-Ermitter hat verschiedene Optionen, wie z.B. 3D oder 2D Sound. Dabei können die Sounddateien wahlweise aus dem Virtual-File-System oder direkt von der Festplatte geladen werden.
  • Selbstgeschrieben Script-Engine, die Pascal als Gramatik benutzt. Sie unterstützt viele Grundarten wie Byte, Single und String. Ebenso können Functios und Procedures mit beliebig vielen Parametern erstellt werden, die optional auch var-Parameter seien können. Ebenso unterstüzt die Script-Sprache die üblichen for, repeat und while-Schleifen. If und case-Anweisungen (auch mit Strings) sind ebenfalls vorhanden, genauso wie Kompileranweisungen wie {$IFDEF} oder {$INCLUDE}. Zudem können weitere Units per uses-Deklaration hinzugefügt werden. Es können "echte" Delphi-Funktionen eingebunden werden. Als zusätzliche Hilfe können diese externen Funktionen auch in Klassen zusammengefasst werden, die auch Klassenvererbung unterstützen. Auch können Variablen aus dem Programm heraus ausgelesen und verändert werden. Ein Compiler kompiliert die Skripte einmal in ByteCode, der dann von einer RunTime-Klasse ausgeführt wird.
  • Selbstgeschriebenes Multiplayer-Protokoll mit Chatunterstützung, Rechtesystem, Kick- und Bannoption, Web-Interface zur optionalen Steuerung des Servers, File-Download, Passwortsystem, ...

Screenshots
GalleryCreator:
http://www.godlikesoft.de/images/ext...b/Screen51.jpg http://www.godlikesoft.de/images/ext...b/Screen52.jpg

Sysygy Image Viewer:
http://www.godlikesoft.de/images/ext...b/Screen53.jpg http://www.godlikesoft.de/images/ext...b/Screen54.jpg http://www.godlikesoft.de/images/ext...b/Screen55.jpg
http://www.godlikesoft.de/images/ext...b/Screen56.jpg http://www.godlikesoft.de/images/ext...b/Screen57.jpg
(der Balken rechts unten ist nur die aktuelle Position der Musikwiedergabe, keine Zeitbeschränkung)

Noch kurz ein Hinweis
Für alle, die keine Lust haben die Readme zu lesen: ich möchte euch warnen, dass das Erstellen eines Picture-Sets relativ lange dauern kann (je nach Auflösung des Ursprungsbildes 1 bis 2 Sekunden pro Bild). Ihr könnt zwar jederzeit das Hinzufügen abbrechen, doch ich würde euch raten, die Anzahl der Bilder auf ca. 50-60 pro Picture-Set zu begrenzen. Ihr könnt natürlich auch mehr verwenden, doch ich wollt euch nur sagen, dass das doch etwas Zeit in Anspruch nehmen kann.
Ich könnte zwar den Vorgang beschleunigen, dadurch würde aber die Qualität der Bilder zu sehr leiden - und das wäre gerade in einem Bildbetrachter nicht so toll.

Download
  • Download: 1.3 (mit Setup)hier (ca. 36 MB).
  • Download: 1.3 (ohne Setup)hier (ca. 37 MB)
  • Download: Beispiel-Picture-Set hier (ca. 8 MB)
  • Download: Patch auf Version 1.3 hier (ca. 2,5 MB)
  • Editor: auf Anfrage (bisher ohne Hilfe)
  • Lizenz: Freeware (Redistributionerlaubnis nur auf persönliche Anfrage)
  • Sprache: [Readme]: Englisch, [GalleryCreator]: Englisch, [Hauptprogramm]: Multi-Language (Englisch + Deutsch enthalten)
  • Version: 1.3
  • Programmiert mit: Delphi 7
  • Release-Datum: 13.05.2008

ChangeLog
Die neue Version steht als Patch sowie als kompletter Download zur Verfügung. Beide Dateien sind unter dem oben angegebenen Download-Link verfügbar. Der Patch ist nur für ein Update von der letzten Version aus gültig.

Version 1.3
  • Programm: Neue Karte hinzugefügt
  • Gallery Creator: seltene Probleme beim erstellen von Picture-Sets behoben (dank der Mithilfe von bitsetter)
  • Gallery Creator: Bilderqualität beim Hinzufügen von Bildern einstellbar
  • Gallery Creator: Bilder, die nicht eine Farbtiefe von 24 Bit haben, können jetzt auch hinzugefügt werden
  • Fehlendes Texturpacket nachgeliefert (wird nur benötigt, wenn keine Shader ausgewählt sind)
  • Chat-Fenster im Multiplayer nach hinten verlagert
  • Bot-Chat wird jetzt im Programm angezeigt (deaktivierbar)
  • Rechtschreibfehler in der deutschen Sprachdatei behoben
Version 1.2
  • Screenshots werden jetzt im Programmordner gespeichert (falls Konfiguration so eingestellt)
  • letzten vier Sekunden vom ersten Lied rausgeschnitten (war keine Musik mehr)
  • Nachrichtenfenster bei Multiplayer-Ereignissen anders positioniert
  • Namen der Spieler werden jetzt angezeigt (Multiplayer)
  • Chatfenster jetzt auch außerhalb der Lobby (Multiplayer)
  • Esc schließt die Lobby bevor das Menü angezeigt wird (Multiplayer)
  • Gammawert wird jetzt gespeichert und ausgelesen
  • allgemeine Soundeinstellungen können geändert werden
  • Schriftfarbe der Servereinstellungen in der Lobby geändert
  • AVs im Server behoben
  • Probleme beim Betreten der Galerie behoben (nur Mulitplayer)
  • Länge von Chat-Nachrichten nicht mehr so arg begrenzt
  • Pos1- und Ende-Tasten funktionieren bei den Eingabefeldern
Version 1.1
  • Ordner der Konfiguration jetzt beim Start wählbar (falls eine Wahl auf Grund der Rechte nicht möglich ist, kann man keine Auswahl treffen)
  • Kleiner Rechtschreibfehler in der deutschen Sprachdatei behoben
  • Taste für dauerhaftes Rennen eingeführt (default: Feststelltaste)
  • Weiche Animationsbewegungen deaktivierbar (manche mögen das nicht)

Feedback, Bugreports oder Ideen sind wie immer sehr erwünscht

Grüße
Dave
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
 
Benutzerbild von littleDave
littleDave

 
Delphi 7 Professional
 
#101
  Alt 15. Jul 2008, 19:08
Erstmal sorry für die späte Antwort - bin im Moment sehr im Lernstress wegen Uni-Prüfungen und hab daher gerade nicht so viel Zeit.

Zitat von xZise:
Hallo Dave,
ist es möglich Musik relativ zum Pfad einzubinden?
Weil ich benutze es unter Windows Vista und Ubuntu 8.04. Und beide haben ja unterschiedliche Pfade zu der Musikdatei.
Nein, das ist nicht möglich. Die Playlist speichert immer den kompletten Pfad zu den Liedern. Vielleicht lässt sich da was machen - ich setz es mal auf meine ToDo-Liste (mit niedriger Priorität), da es ja eher nicht so häufig vorkommen wird.

Zitat von xZise:
Übrigens eine (meiner Meinung nach) passende Hintergrundmusik (Freie Musik, also keine rechtlichen Probleme imho): http://www.jamendo.com/de/album/26005

MfG
xZise
Ich habs mir mal runtergeladen und angehört - klingt wirklich nicht schlecht und würde wirklich passen . Ich schau mal, ob ichs in ner nächsten Version einbaue

Grüße
Dave
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

 
Delphi 7 Enterprise
 
#102
  Alt 27. Aug 2008, 10:45
so hab das ding grad ma getestet und hammer geil ^^

2 sachen:

1. AntiAliasing einstellung im proggi fehlt und VertSync (ein/aus)

2. ich hab das ding grad mal im internet getestet, hab nen server aufgemacht alles ok

ich verbinde mich alles ok (router NAT/PAT port freigegeben).

ein kumpel von mir ist denn auf den server gekommen.
der server hat ihn erkannt, aber er wurde nicht bei mir im Client in der lobby unter besucher angezeigt.
er musste erst reconnect machen damit er bei mir im client war.

ansonsten
  Mit Zitat antworten Zitat
furuha

 
Delphi 2005 Personal
 
#103
  Alt 4. Mär 2009, 19:02
Coole Sache!

Hätte auch großes Interesse daran selbst eine Map zu erstellen, wenn du da ein paar mehr Infos hast? (Hab jetzt nicht alle Seiten gelesen - hoffe ich habe nichts verpasst^^)


Furuha
  Mit Zitat antworten Zitat
busybyte
 
#104
  Alt 16. Mär 2009, 18:55
Echt klassse Grafik und Atmosphäre, als Spiel würde ich es sogar kaufen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 11 von 11   « Erste     91011   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz