AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenes 3D MMORPG mit Delphi möglich?

Ein Thema von Zudomon · begonnen am 8. Dez 2011 · letzter Beitrag vom 2. Mär 2021
Antwort Antwort
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 30. Mär 2015, 19:26
Prozedurale 3D Pilze!

20150329_1.jpg20150329_2.jpg20150329_3.jpg
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 30. Mär 2015, 20:06
Ok, Du provozierst ja geradezu eine Nachfrage:

Wie sieht denn so eine Prozedur ganz grob aus?

prozedure DefinierePilz;
begin
Definiere 1000 Dreiecke aus einem Array von Punkten als Gittermodell aber immer zufällig etwas anders.
ÜberzieheDasModellMitEinerHaut;
end

Und das Ergebnis speicherst in Records, nicht in Objekten? Hatte ich das so richtig verstanden?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 30. Mär 2015, 20:21
Bisher ist da noch kein Zufall mit drin... d.h. es wird wirklich nur ein einziges Objekt erstellt.
Das Ergebnis wird hinterher in ein Geometrieobjekt umgewandelt und zum Rendern bereitgestellt.
TGeoBase ist in der Tat ein Record. Unterdessen benutze ich aber schon einige Klassen.

Delphi-Quellcode:
function crtMushroom: TGeoBase;
var
  i, i2, j: Integer;
  lp: Integer;
  c: TVecArray;
  cc: Integer;
  s: Integer;
  m: TMatrix;
  v: TVec;
  gb, gb2: TGeoBase;
begin
  Result.Clear;

  s:=16;

  SetLength(c, 7);
  c[0]:=Vec(0,-0.1,0);
  c[1]:=Vec(-0.15,0,0);
  c[2]:=Vec(-0.175,0.15,0);
  c[3]:=Vec(-0.225,0.4,0);
  c[4]:=Vec(-0.175,0.8,0);
  c[5]:=Vec(-0.15,1.2,0);
  c[6]:=Vec(-0.15,1.3,0);

  gb.Clear;
  gb.Modifier_ExtrudeLattice(c, s);
  gb.Modifier_TransformTex0(MatOff(MatScl(0.99), Vec(0.5, 0.5)));
  gb.Modifier_MapAtlas(2, 2, 1, 0);
  gb.Modifier_SmoothGrp(1);
  Result.add(gb);

  SetLength(c, 4);
  c[0]:=Vec(-0.15,1.3,0);
  c[1]:=Vec(-0.16,1.3,0);
  c[2]:=Vec(-0.6,1.3,0);
  c[3]:=Vec(-0.9,0.9,0);

  gb.Clear;
  gb.Modifier_ExtrudeLattice(c, s);
  gb.Modifier_TransformTex0(MatScl(1,0.02,1));
  gb.Modifier_SmoothGrp(2);
  gb.Modifier_TransformTex0(MatOff(MatScl(0.99), Vec(0.5, 0.5)));
  gb.Modifier_MapAtlas(2, 2, 0, 1);
  Result.add(gb);

  SetLength(c, 4);
  c[0]:=Vec(-0.9,0.9,0);
  c[1]:=Vec(-0.8,1.3,0);
  c[2]:=Vec(-0.3,1.6,0);
  c[3]:=Vec( 0.0,1.6,0);

  gb.Clear;
  gb.Modifier_ExtrudeLattice(c, s);
  gb.Modifier_SmoothGrp(4);
  Result.add(gb);

  Result.Modifier_Weld(lt_Position);
  Result.Modifier_Subdivide(1, true, false);
  Result.Modifier_Noise2(MatScl(1,0.2,1), Vec(0.5,1,0.5)*0.5, 4);
  Result.Modifier_Subdivide(1, true, false);

  gb_Sel:=st_Intersect;
  lp:=Result.FindLayer(lt_Position);
  Result.Layer[lp].SelP_Clear;
  Result.Layer[lp].SelP_ByGrp(4);

  gb:=CutGeoBase_SelP(Result);
  gb.Modifier_MapPlanar(MatScl(0.59)*MatRotX(pi/2)*MatPos(0.5, 0.5, 0));
  gb.Modifier_MapAtlas(2, 2, 0, 0);
  Result.add(gb);

  SetLength(c, 3);
  c[0]:=Vec( 0,1.0,0);
  c[1]:=Vec(-0.3,0.95,0);
  c[2]:=Vec(-0.45,0.7,0);

  gb.Clear;
  gb.Modifier_ExtrudeLattice(c, s);
  gb.Modifier_SmoothGrp(1);

  SetLength(c, 3);
  c[0]:=Vec(-0.45,0.7,0);
  c[1]:=Vec(-0.3,0.95,0);
  c[2]:=Vec( 0,1.05,0);

  gb2.Clear;
  gb2.Modifier_ExtrudeLattice(c, s);
  gb2.Modifier_SmoothGrp(2);
  gb.add(gb2);

  gb.Modifier_TransformTex0(MatScl(1,0.02,1));
  gb.Modifier_Weld(lt_Position);
  gb.Modifier_Subdivide(1, true, false);
  gb.Modifier_Noise2(MatScl(3), Vec(0.5,1,0.5)*0.5, 4);
  gb.Modifier_Subdivide(1, true, false);
  gb.Modifier_TransformTex0(MatOff(MatScl(0.99), Vec(0.5, 0.5)));
  gb.Modifier_MapAtlas(2, 2, 0, 1);

  Result.add(gb);
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.543 Beiträge
 
Delphi 12 Athens
 
#4

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 30. Mär 2015, 21:31
Ich glaub ich hatte anfangs mal sowas wie Pilze gesehn (die kleinen roten Knubbelchen) ... bevor ich wusste, daß man Essen muß.

Aber nach meinem ersten Tot, hab ich nie wieder welche gesehn.



Auf'm Ultrabook, im Energiesparmodus, war es aber nicht spielbar. (hatte es anfangs fast vergessen, da der Modus für's normale Leben ausreicht) ... 1-2 FPS.
Eine etwas bessere Graka sollte man also schon benutzen.

Witzig ist, daß der Sound schon abgespielt wird, kurz nachdem die Sounddatei erst angefangen hatte sich runterzuladen.


Es wäre nett, wenn man irgendwo die Maus umgrehen könnte.
Ich kann sorum einfach nicht und drehe mir die Maus immer um, also Hoch und runter.
Das war schon mit Maus so, aber jetzt mit Trackball, ist das ganz schlimm.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (30. Mär 2015 um 21:35 Uhr)
  Mit Zitat antworten Zitat
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 30. Mär 2015, 21:41
Maus-Flipping ist fast von Anfang an implementiert gewesen... im Menü ist so ein Joystick Symbol und da hast du das

Achja und die Pilze waren jetzt recht selten, weil sie viel zu spärlich verteilt waren... habe das vorhin erst angepasst, als ich sie dann durch das Model ersetzt habe.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.543 Beiträge
 
Delphi 12 Athens
 
#6

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 30. Mär 2015, 22:06
Na dann .... nicht, daß sich wer wundert, wenn überall meine Leichen rumliegen.

Mal sehn ob ich einen Fliegenpilz finde.



Die Third-Person-Ansicht war auch witzig.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 31. Mär 2015, 10:33
Auf'm Ultrabook, im Energiesparmodus, war es aber nicht spielbar. (hatte es anfangs fast vergessen, da der Modus für's normale Leben ausreicht) ... 1-2 FPS.
Eine etwas bessere Graka sollte man also schon benutzen.
Apropos:
Gibt's ne Empfehlung zur Hardware? Auf meinem Laptop mit separater Graka komme ich glaub ich auf 6 FPS ( NVIDIA GT 550M), dabei ist nicht mal das HD Display drin. Dem Geräusch nach gibt sich die Kiste allerdings echt Mühe.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.543 Beiträge
 
Delphi 12 Athens
 
#8

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 31. Mär 2015, 11:05
Ein kleiner 2,5 Jahre alter i7U, mit 1,9 GHz und Intel HD Graphics 4000, schaffte so um die bis 15-20 FPS
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Zudomon

Registriert seit: 14. Feb 2007
84 Beiträge
 
Turbo Delphi für Win32
 
#9

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 2. Apr 2015, 13:45
Huhu! Sorry für die späte Antwort...
irgendwie komme ich hier mit dem Forum nicht zurecht! Ich hab mir den Thread einfach als Link gespeichert, der setzt mich aber dann immer nur auf die Seite, die ich gespeichert habe und dann denke ich so, och, schade, dass keiner mehr geschrieben hat, bis ich dann unten zufällig sehe, dass es noch eine weitere Seite gibt.

Also zu dem Quellcode und Technologien, ich bin da sehr verschlossen. Dokumentiert ist da eh nichts. Eigentlich ist der Quellcode ja das Kapital, von daher wird dieser unter Verschluss gehalten. Seit mir da nicht böse. Gut die eine Mushroom Funktion war mal eine Ausnahme. Aber vielleicht vermache ich ja ich testamentarisch, dass der Quellcode an euch übergeben wird, wenn es mal soweit ist, wobei, lebe ich dann gefährlich?! So lebt es vielleicht dann doch noch nach meinem ableben weiter. Aber durchwurschteln müsst ihr euch dann selbst.
Früher (also vor vielen vielen Jahren) hatte ich ja auch mit dem Gedanken gespielt, zumal es viele ja immer anraten, die Engine an sich zu verkaufen. Aber ich glaube, da ist die Konkurrenz einfach schon zu groß und Support liefern will ich da auch nicht groß. Außerdem habe ich gelernt, nachdem ich mal einen Alround Editor schreiben wollte und auch sehr weit gekommen bin, dass eine, für das Projekt zugeschnittene Engine wesentlich Effektiver optimiert werden kann.

Außerdem macht es unheimlich Spass, so viel allein auf die Beine zu stellen, von daher würde ich es nun einfach weiter durchziehen. Für die Übersetzungen habe ich ja nun schon einige Mitstreiter, die Spass daran haben, zu übersetzen. Und einen talentierten Musiker, der mir seine Musik überlässt. Aber ich hüte mich schon lange davor, mich irgendwo zu verpflichten. Das setzt mich nur unter Druck.

Hardwareempfehlung? Naja... also das Spiel ist wohl extrem GPU-lastig. Jemand sagte mir letztemal, dass 99% GPU Auslastung wäre, während andere kommerzielle Spiele wie Battlefield und co. so 60-90% haben. Ich hatte vorher ne 2,3 GHz CPU... nun sind es 4 und es hat nichts gebracht. Neue Grafikkarte dagegen extrem. Habe eine GeForce GTX 780 ti und komme da auf High auf 90 - 130 FPS. Wenn man in der "Natur" da rumläuft dann sind es noch so 50-60 FPS.
Ultra Einstellung ist experimentell und soll quasi High-End von Next-Gen Karten darstellen.

Und hier noch ein kleines Update des Projektes.
Habe nun meine erste prozedurale Textur in der Engine (ja, ich hatte schonmal ganz zu Anfang was prozedural gemacht, aber das hat nicht annähernd an eine richtige Textur erinnert).
Diesmal sieht das schon anders aus:
20150401_1.jpg

Die Ziegelsteine sind hier prozedural. In der Quali (2048²) dauert es noch etwa ne halbe Minute, bis das ganze generiert ist. Aber es läuft auch noch unoptimiert auf CPU. Möchte das hinterher auf GPU haben.
  Mit Zitat antworten Zitat
Benutzerbild von rweinzierl
rweinzierl

Registriert seit: 22. Mär 2005
98 Beiträge
 
#10

AW: Eigenes 3D MMORPG mit Delphi möglich?

  Alt 31. Mär 2015, 07:59
Hallo

Auch von mir Respekt ! Ein solches Projekt über Jahre durchzuziehen! Immer wieder erstaunlich was Menschen schaffen können wenn sie Spass an Ihrem Hobby haben. Wirklich aufrichtigen Respekt.

Ich habe nur minimal mit OpenGL und VRML/X3D gearbeitet. (Aber kein Vergleich mit diesem Projekt)

Was mich neugieriegerweise intessiert, wie lautet die Vision des Projektes / Quellcode.

Soll der Quellcode eines Tages als Open Source freigegen / oder als Closed Source verkauft werden ?
Sollen weitere Mitstreiter gefunden werden die am Source Code mitarbeiten ?
Ist zwar nur meine Meinung aber ohne ausführliche Kommentare wirds für aussenstehende schwierig Code diesen Umfangs zu verstehen.

Alles alleine zu machen hat Charme, aber irgendwann wirds zu viel / dann machts auch keinen Spass mehr.

mfg

Reinhold





Bisher ist da noch kein Zufall mit drin... d.h. es wird wirklich nur ein einziges Objekt .

Delphi-Quellcode:
function crtMushroom: TGeoBase;
var
  i, i2, j: Integer;
....
begin
  Result.Clear;
.....
  Result.add(gb);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz