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

Aktuelle Zeit: Di Apr 16, 2024 08:53

Foren-Übersicht » Sonstiges » Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 26 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: 3D Indoor Engine "Sysygy"
BeitragVerfasst: Mi Nov 15, 2006 00:02 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Hallo liebe Community,

nun ist es endlich soweit. Nach über eineinhalb Jahren harter Arbeit hab ich es endlich geschafft, Version 1.0 meines Projektes hochzuladen.

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:
Bild Bild

Sysygy Image Viewer:
Bild Bild Bild
Bild Bild
(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: hier (ca. 35 MB).
  • Editor: auf Anfrage (bisher ohne Hilfe)
  • Lizens: Freeware (Redistributionerlaubnis nur auf persönliche Anfrage)
  • Sprache: [Readme]: Englisch, [GalleryCreator]: Englisch, [Hauptprogramm]: Multi-Language (Englisch + Deutsch enthalten)
  • Version: 1.2
  • 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
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 positionieren
  • 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)


Grüße
Dave

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Zuletzt geändert von littleDave am Mi Mai 21, 2008 23:42, insgesamt 5-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 16, 2006 11:59 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Oh, sorry.

Mit screen shots schauts etwas mager aus. Hab bisher nur ein brauchbares aus dem Editor.

Bild


Werde aber weitere erstellen und die dann hochladen.
Hab auch ein kurzes Video mit Fraps erstellt (ist nur ca. 3 MB groß). Der Download: hier

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Zuletzt geändert von littleDave am Di Dez 18, 2007 16:04, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 21, 2006 12:17 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Nach einem nicht gerade sehr erfolgreichem Start habe ich mich jetzt nochmal hingehockt und so schnell wie möglich eine neue Version erstellt.
Erstmal sorry für die unbrauchbare Version und für den viel zu großen Download. Werds in Zukunft besser machen *ganzliebmitgroßenAugenSchauend*.

Changes
-------
* Keine None-Power-of-Two - Fehler mehr: alle Lightmaps und Texturen wurden auf Power-Of-Two-Größen geändert und werden jetzt auch,
falls nötig, automatisch geändert
* Der Fehler mit der Config-Datei ist jetzt auch behoben: das Programm erstellt jetzt automatisch den benötigten Ordner und weitere Fehler beim Speichern der Config-Datei werden erstmal unterdrückt.
* Der Download ist ganze 10 MB kleiner geworden. Habe unbenutzte Texturen aus den Texture-Packages gelöscht und auch die Model-Anzahl verringert.
* Habe endlich ein paar brauchbare Screen-Shots erstellt
* ein paar kleinere Änderungen und Neuerungen
* und werde jetzt die Projektbeschreibung mal etwas besser gestalten:

Hier nun eine (wenn auch kurze) Feature-Liste:

Level
-----
* Objekt-Orientierter Levelaufbau
* Jedes Level ist in einzelne Räume aufgeteit, die dann durch Portals gezielt gerendert werden sollen (Portal-Rendering ist noch nicht fertig)
* Jeder Raum erstellt vor dem ersten Rendern eine eigene Display-Liste, um die Performance zu erhöhen
* Jede Oberfläche unterstützt bis zu 4 Texturen: die ersten beiden sind als normale Texturen gedacht, die 3. Texture ist die Normal-Map und die 4. Texture die Lightmap

Dateiformat
-----------
* eigenes durch virtuelle Ordner strukturierte Dateiformat (ungefähr so wie Zip-Dateien)
* die Daten der einzelnen Dateien können per zLib komprimiert werden

GUI
---
* die GUI ist Objekt-orientiert aufgebaut und unterstützt bisher folgende Typen: Label, Button, Edit, Scrollbar, ProgressBar, ListBox
* die Schrift der GUI wird momentan noch per Windows-Font erstellt und ist somit nicht gerade Performant und somit auch systemabhängig
* die GUI kann noch nicht aus einer Datei geladen werden, sie wird Momentan noch per Quelltext erstellt

Multiplayer
-----------
* die Engine hat einen auf TCP/IP-Basis laufenden Server
* beim ersten Start wird automatische eine UniqueID generiert, um eine sinnvolle Bann-Liste zu verwalten
* der Traffic ist noch lange nicht optimiert, somit ist das Spielen übers Internet momentan noch nicht gerade sehr sinnvoll (pro Verbindung erhöht sich der Upload-Traffic des Servers um ca. 14 KB/sec :-( )

Benutzte Units, die nicht von mir erstellt wurden
-------------------------------------------------
* dglOpenGL.pas (find ich persönlich einfach perfekt, Respekt Jungs)
* glBitmap.pas (bin ich durch die DGLSDK erst drauf gestoßen, eine wunderbare Unit)
* Jan Horns MD3-Loader (zwar eine sehr stark veränderte Version, aber man sollte den eigentlichen Ersteller doch nennen)
* modifizierte Version von Michael Potes Font2.pas zur Darstellung von Bitmap-Fonts

Texturen
--------
* Alle Texturen sind freie Texturen, dich ich über 2 Jahre gesammelt habe (wollt damals schon mit OpenGL anfangen, hab aber nach 1 Woche aufgegeben, die Mathematik war mir damals noch zu komplex; außerdem waren meine Programmierfähigkeiten auf einem noch nicht ausreichenden Nivau)

Models
------
* Ich habe noch nie ein Model erstellt, ich hab nichtmal das nötige Kleingeld für die Software. Deswegen benutze ich im Moment noch freie Modelle, die ich mal gefunden habe.


Compiler
--------
* Delphi 6


Steuerung
---------
W : vorwärts
S : rückwärts
A : nach links gehen
D : (wer hätte das gedacht) nach rechts gehen
Leertaste : springen
Linke Maustaste : schießen
Mausrad : Waffe auswählen
ESC : zurück ins Hauptmenü bzw. im Hauptmenü: beenden

Folgende Tasten sind nur wärend der Entwicklung vorhanden
F1 : Kollisionsabfrage ein/aus (standart ist ein)
F2 : Maus-Captureing ein/aus (sinnvoll, wenn man das Programm minimiert und die Maus benutzen will)
F3 : Bumpmapping ein/aus (funktioniert nur mit NVidia-Karten)
F4 : Lightmaps aktivieren
F5 : Lightmaps deaktivieren
F6 : zu einem beliebigen Startpunkt des Levels springen
F6 : VSync ein/aus (standart ist ein)
Alt + Enter : Fester Maximieren/Wiederherstellen


Hier ein Beispiel für den Aufbau eines Texturpackages:
------------------------------------------------------

Code:
  1.  
  2. [Root] // immer vorhanden
  3. |___ Texturordner (Typ: Ordner) // Ordner hat den Namen der Texture
  4.   |___ DATA (Typ: Datei) // beinhaltet die eigentlichen Daten einer Textur
  5.   |___ EXTENSION (Typ: Datei) // beinhaltet die Dateiendung einer Textur (nur für den Editor)
  6.   |___ NORMALMAP (Typ: Datei) // beinhaltet Informationen zur dynamischen Erstellung von NormalMaps (noch nicht vorhanden)
  7.   |___ SPECIAL (Typ: Datei) // beinhaltet spezielle Daten, z.B. ob die Textur dynamisch ist (Render2Texture) (noch nicht vorhanden)
  8. |___ Weiterer Texturordner (Typ: Ordner)
  9.   ...
  10.  



Und hier ein Beispiel für den Aufbau einer Level-Datei:
-------------------------------------------------------

Code:
  1.  
  2. [Root] // immer vorhanden
  3. |___ MAPINFO (Typ: Ordner) // beinhaltet Informationen des Levels (Autor, Levelname, ....)
  4.   |___ DATA (Typ: Datei) // die Daten der Levelinformationen
  5. |___ MAPDATA (Typ: Ordner) // beinhaltet alle Vertexe, benutzte Texturen usw. des Levels
  6.   |___ DATA (Typ: Datei) // das Level
  7. |___ LIGHTMAPS (Typ: Ordner) // beinhaltet alle Lightmaps
  8.   |___ Room1 (Typ: Ordner) // Die Lightmaps für einen Raum
  9.     |___ DATA (Typ: Datei) // die Daten des Texturepackages der Lightmaps
  10.   |___ Room2 (Typ: Ordner) // ...
  11.     |___ DATA (Typ: Datei) // ...
  12.  




ToDo:
-----
* Portal rendering
* Spiegelungen
* Dynamische Texturen (z.B. Monitore, die das Geschehen von einer Kamera aus wiedergeben)
* Spiegelungseffekte (z.B. glänzendes Metall)
* [Halb]-durchsichtige Wände (z.B. Glas)
* Benutzung von Shadern (z.B. Parallax Mapping), dafür muss ich mich erstmal mit Shadern beschäftigen
* Dynamische Lightmaps (das wird sau schwer ...)
* Lightmaps per Multitexturing rendern (im Moment noch per Blending)
* Kollisionsabfrage von Schüssen (Treffer oder Nicht und Abziehen von Lebensenergie)
* ein gescheites HUD
* Chat zwischen den einzelnen Spielern
* Verringerung der Bandbreite vom Server
* eine Art Lobby, in der jeder Spectator oder jeder tote Spieler sich aufhält
* eine Particle-Engine, die z.B. Wand-Decals rendert oder Funken bei Wandtreffern rendert
* BOTS (das kann dauern)
* Einbinden von runden Oberflächen, wie z.B. Zylinder oder Kugeln
* 3Ds-Importer für Static-Meshes
* Optimierung der Geschwindigkeit der Kollisionsabfrage
* eine Sound-Engine

...
und natürlich GANZ VIEL BLUT UND SPLATTER EFFEKTE USW. (hehe)



Ich überlege mir gerade, ob ich den Quelltext der Engine öffentlich machen soll, bin mir dessen aber noch nicht sicher. Also wenn großes Interesse besteht, hab ich damit im Moment kein Problem (außer dass ich noch zu einigen [viell. auch einigen vielen] Zeilen einen Kommentar hinzufügen sollte).

Screenshots:
Bild Bild
Bild Bild
Bild

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Zuletzt geändert von littleDave am Di Dez 18, 2007 16:09, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 28, 2007 10:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Nach dem ich in den letzten 3 Monaten kaum zum programmieren gekommen bin, konnte ich auch relativ schlecht meinen Fortschritt demonstrieren.

Doch in den letzten Wochen habe ich es dann doch mal wieder geschafft, mich hinzusetzen und einiges an Quelltextzeilen zu schreiben.

Hier mal eine List of changes:

Changes
-------

* Komplette Neuerstellung des Netzwerk-Codes
* der Server ist jetzt eine eigene Applikation
* Waffendatenbank erstellt
* Ein paar grundlegende Waffeneffekte wurden eingebaut (Wandtreffer, Funken ...)
* Einbau von Reflextionen (noch nicht ganz fertig)
* und wie immer: eine Menge Bugs beseitigt (aber höchstwahrscheinlich nicht alle :-) )


Leider habe ich keinen neuen Testdownload, da die aktuelle Version noch nicht sehr stabil läuft (die Reflextionen wurden bisher nur temporär eingebaut). Dafür gibts aber 2 neue Screenshots:

Bild Bild

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Zuletzt geändert von littleDave am Di Dez 18, 2007 16:12, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 10, 2007 10:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Sodala, es gibt wieder etwas neues zu berichten:

Also erstmal zum Projekt selbst:
mitlerweile spiele ich sehr stark mit dem Gedanken, doch keinen Shooter zu erstellen. Ich habe eher ein anderes Ziel vor Augen:
ich habe damals für meine Klasse eine Abi-CD erstellt. Dafür hatte ich eine 3D-Galerie erstellt, in der die Klassenphotos und co. in Bilderrahmen ausgehängt sind. Dabei kann man, wie in einem FPS, sich frei durch die Galerie bewegen. Doch da ich da noch nicht so viel Ahnung von OpenGL hatte, war die Engine eingentlich für die Katz. Also, sie hat funkioniert, aber doch eher schlecht als recht, vor allem vom Quelltext her. Ich habe diese Galerie so modifiziert, dass man eigene Bilder einbinden konnte und hab das ganze ins Inet gestellt - und der Download-Traffic meiner Website stieg ins unermäßliche (das hätte mich 290 Euro mehr für einen Monat gekostet, wenn Lycos keinen Müll gebaut hätte; aber das ist ne andere Story).
So, also noch mal kurz Zusammengefasst: ich denke, ich werde eine Galerie erstellen, in der man seine eigenen Photos einbinden und sie dann gemütlich anschauen kann. Dann noch mit nem "Multiplayer-Modus", und die Galerie ist eine etwas andere Art, Photos gemeinsam auf der Coutch anzuschauen.

Nun etwas zur Engine:
Es hat sich einiges getan, (obwohl das meiste von außen nicht sichtbar ist):
zum einen habe ich den Quelltext aufgeräumt und gleichzeitig noch erweitert. Außerdem hab ich zwei neue Grundformen eingebaut: Kreise und Zylinder (wobei letzteres noch den ein oder anderen Bug hat). Auch ein paar Optimierungen (wie z.B. doppeltes Rendern von Polygonen wird jetzt vermieden) sind hinzugekommen.
Des weiteren hab ich eine GLSL-Unterstützung mit eingebaut. Somit lassen sich so einige Effekte auf den Bildschirm zaubern...

Ich hab gestern abend noch schnell eine Download-Version erstellt (die diesmal erheblich kleiner geworden ist). Ich hoffe ich hab keinen schlimmen Bug übersehen. Es einige Features funkionieren (im Moment) nicht mehr so ganz (z.B. keine Fehlermeldung mehr, wenn keine Verbindung zum Server aufgebaut werden konnte); das liegt daran, dass ich gestern sehr viel neu geschrieben habe und noch nicht alle Features der alten Version wieder eingebaut habe.

Es ist empfehlenswert, dass die Grafikkarte glSlang unterstützt. Ich überprüfe zwar am Anfang ob GLSL unterstützt wird, weiß aber gerade nicht ganz genau, ob dies auch wirklich genutzt wird. Außerdem hab ich den Editor mal mit als Download hinzugefügt. Eine genaue Erklärung zum Editor würde zum einen den Rahmen als auch meine Zeit sprengen. Also, falls wer lust hat, kann er sich den ed mal anschauen.

Kurze Einleitung:
- SysygyServer.exe starten und auf "Start Server" drücken
- SysGame.exe starten und auf "Connect" drücken
- Dann auf "Join Game"

Die Tastaturbelegung ist noch die, wie bereits zuvor beschrieben.

Download: hier (3,9 MB)

Bild Bild

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Zuletzt geändert von littleDave am Di Dez 18, 2007 16:15, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 06, 2007 19:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
So,

nachdem ich die letzten 4 Monate mit Praktikas beschäftigt war, kam ich kaum zum Programmieren. Doch machmal hab ich es dann doch wieder geschafft, mich hinzusetzten und wieder etwas weiter zu programmieren. Leider ist mein Webtraffic für diesen Monat schon wieder verbraucht (falls jemand einen günstigen Webhoster mit php-unterstützung kennt, kann er mir ja mal eine PN schreiben), sonst hätte ich heute schon die neue Version hochgeladen. Aber das hol ich so schnell wie möglich nach.

Allgemein habe ich jetzt mein komplettes Konzept auf den Kopf gestellt und mein neues Ziel angefangen einzubauen: eine Bildergallerie. Dabei habe ich an der Render-Engine nichts mehr ändern müssen. Nur den Textur-Loader habe ich etwas erweitern müssen. Dabei war die Implementierung auch kein Problem: im Editor kann ich einer Fläche einen bestimmten Tag setzen. An diesem Tag erkennt der Textur-Loader den "Bilderrahmen" und läd dann das Bild und passt die Fläche so an, dass das Seitenverhältniss des Bildes erhalten bleibt.

Aber auch die Engine an sich habe ich weiter verbessert. Portale schränken jetzt z.B. den Frustum für den Sichtbarkeitscheck ein, viele doppelten Render-Vorgänge wurden herausgenommen, und und und :-). Des weiteren habe ich die GUI verbessert.
In den letzten 4 Tagen habe ich einen Master-Server auf php- und MySQL Server erstellt. Dieser Server verteilt dann die IPs der Server, die sich an dem Masterserver registrieren. Ebenfalls unterstützt der Server eine News-Liste, die dann direkt ins Programm geladen wird.

Ich hoffe, dass ich es schaffe, innerhalb der nächsten Tage eine Testversion hochzuladen. Bis dahin gibt es ein paar Screenshots als Versöhnung :-)

Bild Bild
Bild Bild

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Zuletzt geändert von littleDave am Di Dez 18, 2007 16:20, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 11, 2007 14:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
So, endlich habe ich es geschafft, eine Testversion hochzuladen. Sie ist diesmal wieder etwas größer Ausgefallen (ca. 7 MB), aber ich glaub das kann man schon verkraften :-)

Hier ist der Link: Sysygy-Alpha01.zip

Ich habe eine kurze Hilfe ins Netz gestellt, dafür müsst ihr das Programm öffnen und auf Multiplayer gehen. Die "News" ist die Hilfe. Ich habe gerade keine Zeit, die hier nochmal zu posten, aber viell hol ich das ja noch nach.

Benötigt:
OpenGl 1.3 oder besser
glSlang ist vorteilhaft
ca. 70 MB Grafikspeicher
und 128 MB Arbeitsspeicher

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 16, 2007 12:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Da es am Wochenende viel zu heiß war, um überhaupt herauszugehen, habe ich mich, wie es sich für einen guten Programmierer gehöhrt, mal wieder vor der Flimmerkiste aufgehalten :-)

Erstmal habe ich den Bug gesucht, der bei jedem die angebliche Fehlermeldung "Kein OpenGl 1.3" hervorgerufen hat. Und wie immer war es der einfachste Fehler überhaupt, den man aber erst nach stundenlangen suchen findet. Ich habe bei der Abfrage if GL_VERSION_1_3 then ein NOT vergessen. Die einfachsten Dinge findet man immer am schwersten ... naja.

Außerdem habe ich den Server aufgepeppelt. Neben einer Statistikfunktion habe ich einen voll funktionsfähigen HTTP-Server eingebaut, der dann per WebAdmin den Server fernsteuern kann. Dabei war der Einbau des HTTP-Servers kein Problem, da ich vor ca. 1 Jahr bereits einen sehr guten geschrieben hatte. Durch die einfache Struktur und interne Session-Verwaltung war es dann kein Problem mehr, die Seite zu erstellen.

Das ganze habe ich gleich heute wieder hochgeladen:
Der Download ist hier

Viel Spaß beim Ausprobieren :-)

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 23, 2007 20:06 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
So, nach ein paar weiteren wochen Programmierung bin ich jetzt schon wieder sehr viel weiter gekommen. Ich habe jetzt eine Sound Engine eingebaut, durch die Menu-Sounds, Player-Sounds, Musik und später auch noch Level-Sounds abgespielt werden. Als Basis benutze ich FMod.

Außerdem habe ich einige Bugs beseitigt. Ebenfalls habe ich die Ordnerstruktur etwas überarbeitet. Mittlerweile bin ich bei Version 0.2 angelangt. Somit kommt ein finaler Release immer näher :-)
Ich habe jetzt außerdem eine readme.txt in das Packet mit eingefügt, dadurch sollten erstmal die meisten Fragen beantwortet werden.

Nachdem der GalleryCreator nicht gerade sehr gut gelungen war, habe ich diesen komplett neu erstellt. Dabei habe ich darauf geachtet, dass er möglichst einfach zu bedienen ist. Ich hoffe, dass es mir gelungen ist.
Bild

Hier mal eine Feature-Liste der aktuellen Version

Code:
  1.  
  2. Renderer:
  3.  - Portal rendering
  4.  - Portal to Portal visibility Check
  5.  - Multitexturing
  6.  - Vorberechnete, hoch aufgelöste LightMaps
  7.  - SkyBox
  8.  - LensFlare
  9.  - RealTime - Reflektionen
  10.  - Shader - Support
  11.  - MD3 - Model - Rendering
  12.  - Ingame - GUI (noch nicht ganz ausgereift, aber das Grundgerüst steht schon mal)
  13.  - Rauch/Feuer - Rendering
  14.  - Texturekompression
  15.  - automatische Generierung von Display-Listen für statische Objekte
  16.  - Frustum-Check
  17.  - Render-Callbacks (z.B. beim Rendern von Reflextionen)
  18.  
  19. GUI:
  20.  - Label
  21.  - Edit
  22.  - Button
  23.  - ListBox
  24.  - ListView
  25.  - CheckBox (ist noch nicht eingebaut, da diese noch ein paar Fehler hat)
  26.  - ImageBox
  27.  
  28. File-Format
  29.  - virtuelles Dateisystem mit Ordnern und Dateien, Dateien können komprimiert werden
  30.  - Dateityp-Spezifisches Ordnersystem
  31.  
  32. SoundEngine
  33.  - FMod als Basis
  34.  - Datei und Stream-Support
  35.  - im Moment nur 2D-Sound-Modus; 3D wird aber bald folgen
  36.  - Objekte haben ein Sound-Material zur Soundauswahl
  37.  - PlayList-gesteuerte Wiedergabe
  38.  
  39. Netzwerk
  40.  - Server/Client Model auf TCP/IP-Basis
  41.  - Passwortschutz möglich
  42.  - MasterServer-Unterstützung
  43.  - verschiedene Player-Stadien (verbinde, lade, spiele, ...)
  44.  - verschiedene Player-Rechte (normal, admin)
  45.  - WebAdmin auf HTTP/HTML Basis zur Fernsteuerung
  46.  - UDP-Broadcast für LAN-Server-Detection
  47.  - Bann-List
  48.  - Datei Up/Download
  49.  - Player Chat
  50.  
  51. Allgemein:
  52.  - Anpassbare Steuerung mit zwei verschiedenen Key-Bindings
  53.  - Anpassbare Spielerfigur
  54.  - Anpassbare Grafik
  55.  - Multilanguage-Support
  56.  - Menu-Skin-Auswahl
  57.  


Die aktuellste Version kann hier heruntergeladen werden. (ca. 9 MB)

Noch ein kleiner Hinweis: falls ihr bereits eine Vorgängerversion auf eurem Rechner habt, könnt ihr die neue Version einfach darüberkopieren. Ihr könnt vorher auch alle Ordner (bis auf den Galleries-Ordner) löschen, da sich diese jetzt in einem Unterverzeichnis befinden.

Freu mich auf jedes Featback


Nur mal so am Rande:
Da dies mein zweites großes OpenGL-Projekt bin, hätte ich nie gedacht, dass ich mal so weit komme, wie ich jetzt schon bin. Dabei möchte ich nicht verachten, durch wen ich das hinbekommen habe: durch euch, die DGL-Community. Die sehr guten Tutorials, allgemein das wunderbare Wiki, und nicht zu vergessen, das Forum! Ohne das alles hätte ich glaub ich nicht das durchhaltevermögen gehabt, dieses Projekt überhaupt bis hier hin zu bringen. Ich glaube es ist Zeit mal ein großes Danke zu sagen:

DANKE!!!!!


Ich hab mir aus interesse mal die Ordnergröße des Projektes angeschaut: 5 GB!!!! Aber ich habe auch viele verschiedene Sachen drinnen:
Insgesammt habe ich
- 2 * 250 MB Texturen (die ich in den letzten Jahren gesammelt habe) (2mal, da ich mit zwei verschiedenen Sets an Texturen arbeite)
- 100 MB Models (ich habe noch ein paar Models in petto, aber die veröffentliche ich erst später)
- ca. 100 MB Maps (ich hab schon viele erstellt, die meisten kann man zwar wegwerfen, ein paar andere werde ich mir aber aufbewahren)
- ca. 5-10 MB Quelltext mit DCUs usw. (von allen Programmen zusammen, also Editor, MainApp, Server, GalleryCreator und noch 4 weitere Entwicklungs-Tools)
- der verbleibende Restplatz wird von Backups verbraucht, die ich in unregelmäßigen Abständen von verschiedenen Teilen mache

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Zuletzt geändert von littleDave am Di Dez 18, 2007 16:34, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 10, 2007 16:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Es war ein Tag wie jeder andere. Doch plötzlich und ganz unerwartet wird der Bildschirm schwarz! Komisch, dachte ich mir, was ist denn nu scho wieder? Zuerst dachte ich "jaja, PC mal wieder zu heiß gelaufen, 10 min warten und alles läuft wieder." (War schon mal so) Aber nicht heute. Nachdem der ersten Diagnose musste ich erstmal eine Rauchen: anscheinend war die Festplatte kaputt!!! Hm, was ist auf der alles drauf, .... AHHHH ALLES!!!! Das durfte nicht sein, also hab ich weiter geschaut, um einen möglichen Fehler zu finden, ALLES, bloß nicht die Festplatte!!!! - Nach 2 Stunden schwitzen habe ich dann gott sei dank herausgefunden, dass nur der Primare IDE - Master - Steckplatz irgendeinen Wackelkontakt hat - puh, Festplatte funktioniert noch. Aber meine Grafikkarte hats zerlegt. Naja, nachdem ich eine alte Ersatzgrafikkarte eingebaut hatte (irgendwann weiß man, warum man jeden scheiß aufhebt), konnte ich wieder den Windows-Desktop sehen. Vor lauter Aufregung habe ich erstmal ein 5 GB - Backup meiner Wichtigsten Daten auf einem USB-Laufwerk abgelegt - puh, ich sag nur glück im unglück. Eins will ich euch aber noch sagen: MACHT BACKUPS - EGAL VON WAS - AM BESTEN NICHT AUF DER SELBEN FESTPLATTE

So, nachdem ich das los bin komme ich nun zum eigendlichen Thema. In den letzten Wochen habe ich versucht, eine eigene Script-Engine zu entwerfen - mit Erfolg (auch ja, das Tutorial von Nico/Delphic hat mir wirklich sehr geholfen). Ich bin gerade dabei, diese in die Engine mit einzubauen.

Die Scriptsprache verfügt über folgende Features:

* Sprache der Scriptsprache ist Pascal sehr sehr sehr ähnlich
* Script wird in Byte-Code übersetzt
* "procedures" und "functions" mit Parametern, optional auch "var"-Parameter
* unterschiedliche Typen: byte, shortint, word, smallint, integer, cardinal, string, single, pointer
* Einbindung von externen Proceduren und Funktionen, ebenfalls mit beliebigen Parametern, optional auch var-Parameter
* Einbindung von Methoden (Proceduren in Klassen)
* "uses" - Deklaration zur Einbindung von weiteren Script-Units
* Erstellung eigener Datentypen
* Konstanten
* globale und lokale Variablen
* Script ist Pausier- und Resumebar

Das Komplettparket der ScriptEngine ist gerade mal 8000 Zeilen lang, aber es muss noch einiges eingebaut und gebugfixed werden.

Hier mal ein Beispielscript:

Code:
  1.  
  2. unit Testunit;
  3.  
  4. uses
  5.   SysUtils;
  6.  
  7. { === funktionen können auch ohne Script-Deklaration hinzugefügt werden, aber jetzt mach ich es
  8.    mal so, dass die Deklaration im Skript ist }
  9.  
  10. procedure WriteLn(s: string); external; // statische Funktion im Hauptprogramm (nicht klassenzugehörig)
  11. procedure WriteLnToMemo(s: string); external of object; // klassenzugehörige funktion
  12.  
  13. function TestProcedure(var i: integer): string;
  14. begin
  15.   while i < 30 do
  16.   begin
  17.     WriteLn(IntToStr(i));  // IntToStr ist in "SysUtils" deklariert
  18.     i := i + 1;
  19.   end;
  20.  
  21.   result := StrToInt(i);
  22. end;
  23.  
  24. var p: string;
  25.     i: integer;
  26. begin
  27.   i := 3;
  28.   p := TestProcedure(i);
  29.   if p <> '30' then
  30.   begin
  31.     WriteLn('Das sollte nicht passieren');
  32.   end;
  33. end.
  34.  


Sobald ich mit den Bug-Fixes fertig bin und alles ganz rund läuft, werde ich euch den Quelltext zur Verfügung stellen. Aber noch etwas Gedult solltet ihr noch haben, muss mich erstmal von dem Schock mit der Grafikkarte erholen ... :-)

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 18, 2007 19:50 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Sodala, wie im meinem letzten Post angekündigt, ist hier der Quelltext der ScriptEngine. Ich werde zwar noch einiges ändern [müssen], aber es sollte schon so eigenes funktionieren.

Hier noch schnell ein paar Bugs, die ich noch nicht beseitigt habe:
Code:
  1.  
  2. procedure SampleProc(c: integer);
  3. var i: integer;
  4.  
  5.   procedure SampleSubProc;
  6.   begin
  7.     i := 25; //   <<<<  das wird nicht funkionieren - es kann nur auf lokale, procedure-interne Variablen zugegriffen werden
  8.     c := 25; //  <<<< geht ebenfalls nicht
  9.   end;
  10.  


Code:
  1.  
  2. var TestVar : integer;
  3.  
  4. procedure TestVar;
  5. begin
  6.  
  7. end;
  8.  
  9. begin
  10.   TestVar := 25;  // geht nicht - wird als procedure erkannt, egal ob "procedure TestVar" am Anfang oder ende steht
  11.  


Außerdem gibt es noch ein paar Probleme mit dem "uses" - Deklarationen. Aber das wird noch ausgebessert. Bin für Anregungen und Kritik immer offen.

Hab übrigens eine Beispielanwendung hinzugefügt, damit man etwas besser sehen kann, wie man die Komponten benutzen kann.

Hier ist der Downloadlink: click here

PS: man kann sogar noch das Script Tutoial etwas herauslesen :-)

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 21, 2007 22:04 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
So, ich hab jetzt meine Scriptsprache fest in meine Engine integriert. Dadurch ist es nun endlich für mich möglich, mehr dynamik in die Levels einzubauen. Zum einen ist es dadurch z.B. möglich, die Texturmatrix per Skript noch zu ändern, oder den Visibility-Test von Portalen zu beeinflussen. Aber die Hauptinteraktionsmöglichkeit besteht darin, das Level verändern zu können und den Spieler zu verschieben. Ebenfalls sind jetzt die Ingame-GUI-Flächen nun sinnvoll einsetzbar. Ich habe bereits ein Testlevel mit einem Aufzug erstellt. Da ich im Moment kein Internet zu Hause habe, könnte ich einen möglichen Snapshot erst später hochladen. :(

Durch den Einsatz in meine Engine konnte ich die Performance meiner Skriptsprache genauer unter die Lupe nehmen. Zwar sind diese Werte nicht mit anderen Sprachen vergleichbar, da ich den selben Code nicht mit Delphi nachgebaut habe, doch um eine grobe Orientierung zu bekommen, reichen diese Zeiten auch erstmal aus (Hinweis: mein System: Athlon XP 2600+ , GeForce 7600 GT , 1024 MB RAM)

2 kurze Scripts mit je ca. 20 Instructions : 0,02 ms
65 lange Scripts mit je ca. 300-500 Instructions: 4,3 ms

Ich denke, dass diese Zeiten noch ausreichen sollten, um eine flüssige Darstellung zu gewährleisten. :twisted:


Im Moment arbeite ich sehr stark an der Version 0.3, die bereits sehr weit fortgeschritten ist. Doch leider hat die Skriptsprache ein weiteres, großes Problem hervorgerufen: den Multiplayer-Bereich! Ich habe noch keine Idee, wie ich es hinbekomme, die Skripts mit dem Server zu synchronisieren, falls da wer Anregungen oder Ideen hat, bitte meldet euch!

So, nun wollt ich euch noch schnell eine Feature-Liste der aktuellen Version zeigen:
Code:
  1.  
  2. Engine Version: 1045
  3. App Version   : 0.3.5.1048
  4.  
  5. Renderer:
  6. - Portal Rendering
  7. - Multi Texturing
  8. - High resolution light maps created by raytracing
  9. - SkyBox
  10. - Fog
  11. - Lensflares
  12. - glSlang Support
  13. - Realtime reflections
  14. - individual properties for every surfrace
  15. - Texture compression
  16. - MD3-Model-rendering
  17. - Anisotropic filtering
  18. - Fullscreen and Window mode
  19. - Ingame Menus
  20.  
  21. Sound
  22. - Sound Engine based on FMod
  23. - Streams and Samples
  24. - 3D and 2D sounds
  25. - individual sound category volumes
  26. - Playlist based playback
  27. - Sound Ermitter for Level Sounds Playback
  28.  
  29. Multiplayer
  30. - Multiplayer over TCP/IP
  31. - Game Lobby
  32. - Chat
  33. - Banning
  34. - Game Password
  35. - MOTD
  36. - Remote admin (also password protected)
  37. - HTTP/HTML Web Interface
  38. - Master Server Support
  39.  
  40. Script
  41. - Script Engine for individual events
  42. - Script language based on pascal
  43. - Bytecode Interpreter for faster script execution
  44. - Script are executed by events
  45. - Script pausing and resuming
  46. - Loading and saving compiled data
  47. - global variables which are accessable from every script
  48.  
  49. GUI
  50. - Simple GUI System with skinning support
  51. - User Events are handled automatically
  52. - different compontents:
  53.     * Panel
  54.     * Label
  55.     * Button
  56.     * CheckBox
  57.     * ImageBox
  58.     * TextBox
  59.     * ListView
  60. - Windows-Font Rendering
  61.  
  62. FileSystem
  63. - Simple Virtual File System
  64. - Structed with folders and files
  65. - Files can be stored compressed to save memory
  66. - Direct extraction to memory
  67.  
  68. Level
  69. - Each Level can have one skybox
  70. - ... and one Fog Entry
  71. - Levels are seperated into rooms
  72. - allows multiple level preview Screenshot
  73.  
  74. Application specific
  75. - SysygyED with every needed component:
  76.     * Texture editor
  77.     * Model file creator
  78.     * Surface property editor
  79.     * Lightmap creation
  80.     * Shader Editor
  81.     * Script Editor
  82.     * Sound Editor
  83.     * Ingame-Menu editor
  84. - GalleryCreator for fast and easy creation of galleries
  85. - ServerApplication of dedicated server
  86.  
  87. - Main app:
  88.     * Multi language support
  89.     * Key Binding changable
  90.     * Menu skin changable
  91.     * Render-options changable
  92.     * Player Model changable
  93.     * Single Player Menu with gallery and map list, each with preview
  94.     * Multi Player Server List with application news, LAN, Internet, Favorites or direct connect
  95.     * Game Menu while playing for fast gallery and map change, song skipping
  96.     * Multi Player Lobby with chat, server information and player list
  97.     * Remote Server Admin included to GUI
  98.     * WebAdmin for HTTP-Remote-Admin
  99.     * Server statistics
  100.     * Bann list
  101.  


Freu mich über jedes Feadback

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 28, 2007 20:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
So, wie in meinem letzten Post angekündigt, habe ich nun eine aktuelle Version hochgeladen. Ich habe ein komplett neues Level erstellt, um nicht immer das gleiche zu zeigen. Das level hab ich innerhalb von 3 Tagen zusammengebastelt. Daher ist es noch nicht ganz ausgereift.

Insgesamt ist einiges hinzugekommen: eigene Musik-Playlisten erstellen, SoundErmitter, ...

Das Packet ist 10 MB groß und kann hier heruntergeladen werden.

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Nov 24, 2007 23:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Hallo an alle!

Meine Engine meldet sich mal wieder zurück. Langsam kann ich sagen, dass mein Programm das Alpha-Stadium verlässt und Richtung Beta wandert. Zwar ist die aktuelle Version immer noch im Alpha-Stadium, aber die nächste wird wohl ziemlich sicher schon eine Beta sein. Deswegen schreib ich jetzt mal einen ausführlichen Statusbericht:

Was ist Sysygy?
Sysygy ist der Name meiner 3D-Engine und dem dazugehörigen Program :D. Die Engine entwickle ich nun seit über einem Jahr. Am Anfang wollte ich noch einen 3D Shooter machen, was ich aber später verworfen habe. Danach habe ich mich dazu entschlossen, eine 3D-Bildergalerie zu erstellen. Dabei erstellt man zuerst eine Liste der Bilder, die in der Galerie ausgestellt werden sollen. Sobald man dies erledigt hat, kann man dann durch eine Karte gehen, in der die Bilder ausgestellt sind - und alles dabei komplett in 3D. Also wie ein FPS, nur total harmlos.

Was kann Sysygy?
Die Engine ist meine zweite 3D-Engine überhaupt. Dementsprechend sind meine Ansprüche an Grafik und co sehr gering. Denoch bin ich weiter gekommen, als ich es mir am Anfang vorgestellt habe.
Da mir eine simple Galerie zu simpel war, hab ich versucht, alles möglichst variabel zu halten. Somit ist es möglich, fast beliebige Maps zu erstellen. Das "fast" ist ein großes "FAST", da die Engine noch nicht sehr viele Grundformen darstellen kann. Denoch kann man doch schon so einiges aus der Engine herausholen. Durch die eingebaute, selbstgeschriebene Skriptengine ist es sogar möglich, dynamische Levels/Elemente zu erstellen. Ebenso ist durch die Unterstützung von glSlang eine weitere Vielfallt von Effekten möglich. Was noch komplett fehlt ist eine Partikel-Engine. Aber da werd ich mir später drüber gedanken machen.
Sysygy unterstüzt ebenfalls einen Mehrspielermodus. Dabei können die Spieler untereinander Chatten und gemeinsam durch das Level laufen. Nichtvorhandene Dateien werden vom Server nachgeliefert. Der Server unterstützt auch einen Remote-Admin-Bereich. Darin kann der Benutzer das Level wechseln, Spieler kicken oder die Servereinstellungen verändern. Dies kann ebenso durch den eingebauten WebAdmin gemacht werden.

Wie benutzte ich Sysygy?
Sysygy ist eine Art Bildbetrachter. Ein Bildbetrachter ist ohne Bilder eher nutzlos. Bei Sysygy ist es nicht anders. Zuerst muss man seine Bilder in Gruppen zusammenführen. Dies wird mit dem "GalleryCreator" gemacht. Nachdem man dort eine Galerie erstellt hat, kann man das Hauptprogramm starten. Unter "Einzelspieler" kann man sich die Bilder alleine anschauen, unter "Mehrspieler" mit anderen zusammen. Im Einzelspielermodus wählt man zuerst eine Bilderliste aus und wählt dann die Karte aus. Im Mehrspielermodus wird dies alles durch den Server gemacht.

Wie schaut die Zukunft von Sysygy aus?
Ich habe mir vorgenommen, die Bildergalerie möglichst bald abzuschließen. Sobald diese beendet ist werde ich die Engine nicht auf der Festplatte verstauben lassen. Das Ziel, einen 3D-Shooter zu erstellen, hab ich noch nicht komplett abgelegt. Sobald meine Engine richtig läuft, werd ich ziemlich sicher den Shooter anfangen. Das wird dann sicher nicht mehr so schwer als wenn ich eine komplett neue Engine dafür erstellen müsste.

Wo kann ich mir Sysygy runterladen?
Die momentan aktuellste Version gibt es hier zum runterladen. Das aktuelle Packet ist 15,7MB schwer. (Diesmal habe ich 3 weitere Spielermodelle hinzugefügt)

Wichtige Changes:
Code:
  1.  
  2. - Ich hab die Struktur meiner SFE (SingleFileEngine) geändert. Dadurch sind alle alten Packete unlesbar geworden. Sollte Nachfrage an einem Converter entstehen, werde ich einen online stellen.
  3. - GUI-Skin etwas geändert
  4. - Bugfix: mache Einstellungen der SoundEngine wurden nicht an FMod weitergeleitet
  5. - Bugfix: seltene Abstürtze beim auslesen der News sollten nun nicht mehr auftreten
  6. - Server-Log um einiges verständlicher gemacht
  7. - Performance bei Portalen erhöht
  8. - Texturqualität nun einstellbar
  9. - Kollisionserkennung etwas verändert
  10.  


Und was kommt nun noch?
Noch ein paar Screenshots:

Bild Bild Bild

EDIT:
An alle, die sich schon die neuste Version heruntergeladen haben: ich hatte eine fehlerhafte Datei in das Packet eingebaut. Somit waren keine Menü-Sounds und auch keine Musik höhrbar. Falls bei euch das Problem aufgetreten ist: ich habe gerade eine aktualisierte Version hochgeladen (30. November 2007). Ich bitte euch, das Packet nochmals herunterzuladen. HINWEIS: das Package verändert nicht das Verhalten des Programms. Es ist also auch mit der fehlerhaften Datei lauffähig.

Grüße

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Zuletzt geändert von littleDave am Di Dez 18, 2007 16:23, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 05, 2007 14:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
In den letzten beiden Tagen habe ich meinen Bloom-Post-Scene-Effekt überarbeitet. Dafür habe ich zum einen eine Shader-Variante zu der None-Shader-Variante hinzugefügt. Die Shader-Variante wird automatisch benutzt, sobald die Hardware dafür vorhanden ist (glSlang + NPOT-Texturen). Die Bildqualität sowie die Performance hat sich dadurch sehr verbessert. Hab hier mal zwei Screenshots zur veranschaulichung - einmal mit Bloom und einmal ohne Bloom:

Ohne Bloom:
Bild

Mit Bloom
Bild

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Zuletzt geändert von littleDave am Di Dez 18, 2007 16:24, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 26 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.102s | 17 Queries | GZIP : On ]