Massive Universe Online

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Displaced
Beiträge: 83
Registriert: So 12. Jul 2009, 10:08

Re: Massive Universe Online

Beitrag von Displaced »

Ich finde das Super. Ich liebe die X Teile, gerade den ersten. Der ist sooo toll!
Eine Neuauflage mit besserer Grafik mit dem Spielstil nur mit mehr Inhalte wäre extrem geil. Ich fande die anderen Teile irgendwie nicht mehr so toll. Wobei X2 noch geht. Muss man sich erst schwer reinfummeln.
Genug geschwärmt.

Zur Demo: Irgendwie kommt dieses Verschwommene der Font's etc ziemlich krass zur Geltung durch das extreme AA.
Vielleicht ein bisschen weniger? Oder Benutzer-definierte Einstellungen?
Zudem wäre es echt gut, das ganze doch 1-2 Pixel größer zu wählen. Das sieht aus wie 10 oder 12. Vielleicht würden 12 oder 14 besser zur Geltung kommen.

Außerdem droppt die FPS wenn man beide Seiten gleichzeitig größer oder kleiner zieht vom GUI Fenster.
Wenn man nur eine Zieht geht das wunderbar.

Mein System: Asus G74S (Intel i7-2630M, NVidia GeForce 560M) Win 7 Pro

Bergmann89
Beiträge: 98
Registriert: Di 15. Nov 2011, 11:36

Re: Massive Universe Online

Beitrag von Bergmann89 »

Hey,

die Performanceschwäche beim Resize ist bekannt. Das werden wir nochma bisl genauer unter die Lupe nehmen.

MfG Bergmann.

Bergmann89
Beiträge: 98
Registriert: Di 15. Nov 2011, 11:36

Re: Massive Universe Online

Beitrag von Bergmann89 »

Hey Leute,

es gibt wieder mal nen kleinen Zwischenbericht zum aktuellen Stand. Thema heute sind die Schiffe und Stationen, die Models und die Game Engine. Wer mehr wissen will kann sich den ganzen Text im Blog duchlesen: http://muo-game.de/de/

MfG Bergmann.

Bergmann89
Beiträge: 98
Registriert: Di 15. Nov 2011, 11:36

Re: Massive Universe Online

Beitrag von Bergmann89 »

Hey,

wir haben heute unsere Homepage etwas umgestaltet und die allgemeinen Informationen auf die Hauptseite gepackt.
Die Blogposts stehen jetzt auf einer Unterseite. Dort findet ihr auch den heutigen Post zu den fortschritten der letzten Woche. Thema des Posts: Unser neues Mitglied; IRC-Channel; Sound Engine

MfG Bergmann.

Bergmann89
Beiträge: 98
Registriert: Di 15. Nov 2011, 11:36

Re: Massive Universe Online

Beitrag von Bergmann89 »

Hey Leute,

es gibt wiedermal ein kleines Update. In unserem heutigen Post dreht sich alles um unsere GameEngine Namens „SpaceMotor“ und die Fortschritte bezüglich der Soundwiedergabe im Spiel. Genauere Infos findet ihr im Blogpost: Demo der GrafikEngine, Prototypanwendung.
Außerdem findet ihr dort auch den Downloadlink zu einer kleinen Demo der Engine. Über ein wenig Feedback zur Engine würden wir uns sehr freuen.

MfG Bergmann89.

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Massive Universe Online

Beitrag von carli »

Hey, wie ich sehe bist du ein Grafik-begeisterter OpenGL-Entwickler.
Ich bin eher ein Fan von Spiellogik und Systemsachen, deshalb bleibt bei meinem Spiel (gwX, http://goldenwipf.de) meistens die Grafikengine auf der Strecke.
gwX ist eine Engine, die Netzwerkspiele mit komplexen Spielinhalt erlaubt. Die Aufgabe der Grafikengine ist, die vom Spielinhalt beschriebene Szene zu zeichnen. Vielleicht willst du uns etwas aushelfen, wenn es darum geht, eine ordentliche Beleuchtung zu implementieren?
Oder vielleicht findest du ja das Netzwerkprotokoll von gwX so gut, dass du einfach unser Netzwerkprotokoll in deiner Engine implementierst und man dann den normalen gwX-Spielen im Internet beitreten kann, aber selbst bessere Grafik hat.

Bergmann89
Beiträge: 98
Registriert: Di 15. Nov 2011, 11:36

Re: Massive Universe Online

Beitrag von Bergmann89 »

Hey,

ich musste mir für die Engine auch viel neues Wissen aneignen. Und einiges ausprobieren. Ich würde euch auch gern helfen, aber für ein weiteres Projekt fehlt mir leider die Zeit. Ich kann euch aber diese Seite empfehlen: http://fabiensanglard.net/ Dort stehen fast alle Techniken die wir auch benutzen. Mit kurzer Beschreibung und Quelltext.
Wie genau hast du dir das mit dem Netzwerkprotokoll vorgestellt?! Die beiden Spiele haben doch vom Inhalt her schon nen ganz anderen Aufbau...

Mfg Bergmann.

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Massive Universe Online

Beitrag von carli »

Bergmann89 hat geschrieben:Hey,

ich musste mir für die Engine auch viel neues Wissen aneignen. Und einiges ausprobieren. Ich würde euch auch gern helfen, aber für ein weiteres Projekt fehlt mir leider die Zeit. Ich kann euch aber diese Seite empfehlen: http://fabiensanglard.net/ Dort stehen fast alle Techniken die wir auch benutzen. Mit kurzer Beschreibung und Quelltext.

Die Techniken sind kein Problem. Das Problem ist die geringe Manpower. Wir haben im Projekt zu viele Grafiker und zu wenig Entwickler. Die drei Entwickler kümmern sich alle schon um Physik, Spiellogik und Menükomponenten.

Bergmann89 hat geschrieben:Wie genau hast du dir das mit dem Netzwerkprotokoll vorgestellt?! Die beiden Spiele haben doch vom Inhalt her schon nen ganz anderen Aufbau...

"vorgestellt"... naja hier kannst du den Source durchlesen: http://goldenwipf.de/hg/index.cgi/file/ ... rkgame.pas
Man kann alle Spiele übers Netzwerk spielen und auch den Spielinhalt ändern, ohne dass sich der Netzwerkcode ändert.
Jeder Spieler hat eine View-Matrix, in der Welt ist Landschaft (Voxel) und die Objekte. Die Objekte haben eine Positionsmatrix (wird über Netzwerk gedifft und komprimiert). Menüs werden auch gedifft und sind im Prinzip XML-Dateien. Klickt der Spieler auf einen Button, kommt ein Event zurück.

Wenn du dich ein bisschen mit der Struktur der gwX-Engine beschäftigst, merkst du ziemlich schnell, dass man mit dem Design eine riesige Vielfalt an Spielen implementieren kann und sich die Engine nie auf irgendwelche Spielinhalte festlegt, sondern nur die Werkzeuge dafür bereitstellt.

Bergmann89
Beiträge: 98
Registriert: Di 15. Nov 2011, 11:36

Re: Massive Universe Online

Beitrag von Bergmann89 »

Bei uns ist es genau andersrum, wir haben genug Progammierer, aber keine Grafiker^^ Ich denke das bei euch sehr schnell ein paar kleine Effekte raus zu holen sind, die keinen großen Aufwand mit sich bringen. Ein einfacher Per-Pixel-PHONG Shader und vlt ne Mumpmap könn da schon vieles raus holen. Ne Shadowmap is auch schnell nachgerüstet. Unsere Engine hab ich in knapp 2 Wochen aus dem Boden gestampft. Wenn ihr wollt kann ich euch da auch einige Klassen zum Laden von Shadern zur Verfügung stellen...
Über unser Protokoll haben wir uns noch keine Gednaken gemacht. Ich hab euers mal kurz überflogen. Grundlegend bringt es das mit, was wir auch brauchen, aber wir benötigen das Ganze doch etwas komplexer, da unser Server höchstwarscheinlich ein verteiles System auf mehreren physischen Servern wird, um ein rießiges Universum aufzubauen. Wir werden uns das nächste Woche alles etwas genauer überlegen und uns euer Protokoll nochmal genauer ansehen, vlt können wir ja einiges als Grundlage nehmen : )

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Massive Universe Online

Beitrag von Bora4d »

Ich habe die Grafikengine-Demo von deinem Link (http://vu2008.admin.webhost.zh32.de/EngineDemo/EngineDemo.zip) heruntergeladen. Bei mir funktioniert es nicht. Es bricht ab, es erscheint mit LCL-Programmierte Settings-Fenster mit der Meldung:

CRITICAL ERROR:
Type: EACcessViolation
Message: Access violation

Hier ist Inhalt von ENGINE.log Datei.

Code: Alles auswählen

15:24:15: Initialize OpenGL Engine
15:24:15: System Hardware:
15:24:16:   Processor 1 Information:
15:24:16:     AddressWidth             : 32
15:24:16:     Caption                  : x86 Family 15 Model 104 Stepping 1
15:24:16:     CurrentClockSpeed        : 1707
15:24:16:     Description              : x86 Family 15 Model 104 Stepping 1
15:24:16:     ExtClock                 : 200
15:24:16:     Family                   : 2
15:24:16:     Manufacturer             : AuthenticAMD
15:24:16:     MaxClockSpeed            : 1707
15:24:16:     Name                     : AMD Athlon(tm) 64 X2 Dual-Core Processor TK-53
15:24:16:     NumberOfCores            : 2
15:24:16:     NumberOfLogicalProcessors: 2
15:24:16:     Version                  : Modell 8, Stepping 1
15:24:16:   Video Controller 1 Information:
15:24:16:     AdapterRAM                 : 268435456
15:24:16:     Caption                    : NVIDIA GeForce Go 6100
15:24:16:     CurrentBitsPerPixel        : 32
15:24:16:     CurrentHorizontalResolution: 1280
15:24:16:     CurrentRefreshRate         : 60
15:24:16:     CurrentScanMode            : 4
15:24:16:     CurrentVerticalResolution  : 800
15:24:16:     Description                : NVIDIA GeForce Go 6100
15:24:16:     DriverDate                 : 20060615080200.000000-000
15:24:16:     DriverVersion              : 6.14.10.8487
15:24:16:     Name                       : NVIDIA GeForce Go 6100
15:24:16:     VideoProcessor             : GeForce Go 6100
15:24:17: CRITICAL ERROR:
  Type: EAccessViolation
  Message: Access violation


Und automatisch erstellte settings.mcf:

Code: Alles auswählen

Canvas:
end;
Context:
end;
Engine:
  ShadowMapping:
    MapWidth = 1024;
    MapHeight = 1024;
    ShiftX = 2;
    ShiftY = 2;
    MapType = 0;
  end;
  GlowEffekts:
    Size = '1.5';
    Overfill = 2;
    Clamp = '0.69999998807907';
  end;
  LightScattering:
    Exposure = '0.00200000009499';
    Decay = '1.00800001621246';
    Density = '0.80000001192093';
    Weight = '3.75';
    Shadow = '0.25999999046326';
  end;
end;


Mein Laptop ist kein Spiellaptop aber Lazarus OpenGL und alle anderen OpenDL-Demos und viele Spiele (Urban Terror Q3-Engine, FIFA 11, PES 11) funktionieren ohne Probleme.

Und dein GUI-Demo hatte bei mir auch nicht funktioniert. Zeigte leeres Fenster.

Viel spaß und erfolg mit eurem Projekt.

EDIT:
Getestet mit Windows XP Sp3
Zuletzt geändert von Lori am Fr 1. Jun 2012, 19:21, insgesamt 1-mal geändert.
Grund: richtiger Highlighter

Bergmann89
Beiträge: 98
Registriert: Di 15. Nov 2011, 11:36

Re: Massive Universe Online

Beitrag von Bergmann89 »

Hey,

könntest du mal mit folgendem Programm deine Hardware auslesen, und in die Datenbank hochladen? Dann kann ich die unterstützten Extensions deiner Grafikkarte mal genauer ansehen. http://delphigl.de/glcapsviewer/listreports.php
Shader Model 3.0 hat sie ja, also sollte es nicht an den Shadern liegen. Da auch die GUI nicht richtig funktioniert hat, tipp ich mal auf die FrameBufferObjekte, aber das kann ich erst sagen wenn ich genauere Informationen zu der Karte hab...

MfG & Thx Bergmann.

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Massive Universe Online

Beitrag von carli »

Bergmann89 hat geschrieben:Bei uns ist es genau andersrum, wir haben genug Progammierer, aber keine Grafiker^^ Ich denke das bei euch sehr schnell ein paar kleine Effekte raus zu holen sind, die keinen großen Aufwand mit sich bringen. Ein einfacher Per-Pixel-PHONG Shader und vlt ne Mumpmap könn da schon vieles raus holen.

Ist drin, nur nicht für jedes Objekt aktiviert
Bergmann89 hat geschrieben:Ne Shadowmap is auch schnell nachgerüstet.

Auch drin, allerdings hat die mit Artifakten zu kämpfen und es sollte mal eine Technik wie "cascading shadowmaps" rein, damit wir die Sonnenposition nicht immer mit der Kamera mitbewegen müssen
Bergmann89 hat geschrieben:Unsere Engine hab ich in knapp 2 Wochen aus dem Boden gestampft. Wenn ihr wollt kann ich euch da auch einige Klassen zum Laden von Shadern zur Verfügung stellen...

Shader-Manager haben wir auch schon, der unterstützt schon jede Menge Eigenschaften, die an- und abschaltbar sind: http://goldenwipf.de/hg/index.cgi/file/ ... r_impl.pas
Bergmann89 hat geschrieben:Über unser Protokoll haben wir uns noch keine Gednaken gemacht. Ich hab euers mal kurz überflogen. Grundlegend bringt es das mit, was wir auch brauchen, aber wir benötigen das Ganze doch etwas komplexer, da unser Server höchstwarscheinlich ein verteiles System auf mehreren physischen Servern wird, um ein rießiges Universum aufzubauen. Wir werden uns das nächste Woche alles etwas genauer überlegen und uns euer Protokoll nochmal genauer ansehen, vlt können wir ja einiges als Grundlage nehmen : )

Wir nutzen Enet, eine effiziente UDP-basierte Netzwerkbibliothek, die Pakete beliebiger Größe zwischen Servern und Clients hin- und herschickt (hier der oop-Wrapper, threadsicher gemacht)
http://goldenwipf.de/hg/index.cgi/file/ ... ooenet.pas
Wie man dann die Schicht darüber designt, sei dann frei wählbar.

Bergmann89
Beiträge: 98
Registriert: Di 15. Nov 2011, 11:36

Re: Massive Universe Online

Beitrag von Bergmann89 »

carli hat geschrieben:Auch drin, allerdings hat die mit Artifakten zu kämpfen und es sollte mal eine Technik wie "cascading shadowmaps" rein, damit wir die Sonnenposition nicht immer mit der Kamera mitbewegen müssen
Kleiner Tipp meiner Seits: Nur Backfaces in den DepthBuffer rendern, dann habt ihr zwar keine Selbstschattierung, aber das macht der PHONG-Shader eh besser ;) Ich würde das Licht aber auch bei Cascaded Shadow Maps mit der Kamera mitbewegen. Der Sinn der CSMs ist ja nur die Auflösung um den Betrachter zu erhöhen, indem man das Frutum auf mehrere ShadowMaps aufteilt. Wenn das Licht immer an der selben Position ist, dann bewegt sich der Betrachter irgendwann aus dem hochaufgelösen Teil raus, und dann sieht es auch wieder sch*** aus^^ Die Sonne ist ja eig. eh ein Parallellicht, also sollte das nicht so schwer sein. Bei unserer Demo ist auch alles Parallellicht.

carli hat geschrieben:Wir nutzen Enet, eine effiziente UDP-basierte Netzwerkbibliothek, die Pakete beliebiger Größe zwischen Servern und Clients hin- und herschickt (hier der oop-Wrapper, threadsicher gemacht)
http://goldenwipf.de/hg/index.cgi/file/ ... ooenet.pas
Wie man dann die Schicht darüber designt, sei dann frei wählbar.
Wir haben lNet, die kann UPD und TCP, und sollte für unsere Zwecke ausreichen.

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Massive Universe Online

Beitrag von Bora4d »

Hab"s gemacht hier: http://delphigl.de/glcapsviewer/generatereport.php?reportID=261
Genaues kannst du dort nachschauen.

Im programm ganz unten werden 3 Sachen als [not supported!] markiert:
-Geometry shader limits(0)
-Tesselation shader limits(0)
-Transform feedback limits(0)

Die Grafikkarte ist einfaches NVidea-OnBoard-Karte für Laptops. Sehr verbreitet ist sie nicht.
Vielleicht lohnt es für euch nicht mal nach Fehler zu suchen.

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Massive Universe Online

Beitrag von carli »

Bergmann89 hat geschrieben:Wir haben lNet, die kann UPD und TCP, und sollte für unsere Zwecke ausreichen.

UDP ist zwar paketorientiert, aber die Pakete haben begrenzte Größe und können verloren gehen. TCP ist zu langsam.
Mit der Enet-Schicht über UDP kann man beliebig große Pakete verschicken und diese haben wahlweise auch Zuverlässigkeit. Normalerweise würdest du sowas selbst implementieren, also zusätzliche Arbeit und Fehlerpotenzial.

Antworten