Hi und danke für die Mail

Win-Tuning-Portal.de
Verfügbare Informationen zu "Hi und danke für die Mail"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: rub - marcus86 - forza_duisburg
  • Forum: Win-Tuning-Portal.de
  • Forenbeschreibung: zusammen unschlagbar !
  • aus dem Unterforum: 3D Engine
  • Antworten: 8
  • Forum gestartet am: Dienstag 15.08.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Hi und danke für die Mail
  • Letzte Antwort: vor 17 Jahren, 7 Monaten, 18 Tagen, 20 Stunden, 46 Minuten
  • Alle Beiträge und Antworten zu "Hi und danke für die Mail"

    Re: Hi und danke für die Mail

    rub - 04.09.2006, 10:08

    Hi und danke für die Mail
    Hi Marcus,

    Habe deine Email gerade bekommen.
    Also ich habe bislang noch nicht gesucht, aber die Idee eine Engine im Teem zu proggen gefällt mir eigentlich ganz gut.

    Bei der Arbeit an meiner eigenen Engine (mit der ich vor c.a. 3 Wochen angefangen habe) sind mittlerweile einige Fragen und Lösungsversuche entstanden, wovon ich mal ein paar aufzählen möchte.

    1. Ein VertexBuffer kann nicht unendlich dimensioniert werden.
    D.H. dass ich ca. 170000 Vierecksflächen in den VB packen kann (doppelt so viele Vertexes (also je 2 Dreiecke pro Viereck))

    D.H. wenn man z.B. einen VB für den Boden benutzt, dann reicht einer nicht aus.

    2. Wenn man viele VertexBuffer verwendet kommt der PC nicht mehr hinterher.

    3. Wenn man einzelne Punkte mit X,Y,Z + Name als Klasse(oder einfach als Tabelle in XML) anlegt und diese füllt, dann erreicht die Speicherplatznutzung bei 10000000 Punkten, bei mir (vb.net, XP) 300 MB (wenn die Punkte eben einer Liste zugefügt werden).
    Also muss man hier aufpassen, dass der PC nicht zuviel zu tun hat.
    Die performanteste Liste ist die Collection, aber auch die langsamste.
    Die Hashtable, oder eine DataTable belegen gut doppelt so viel Platz wie die Collection.

    Des weiteren ist meine eigene Engine bislang soweit gediehen, dass ich eine Bodenfläche mit variabler Größe angeben kann, die Einzelnen Felder der Bodenfläche sind bislang 1 breit und 1 tief. So bekomme ich z.B. eine Bodenfläche von 100 * 100.
    Für diese Fläche wird eine Tabelle erstellt, wobei die Rows(Zeilen) die X-Werte sind und die Columns(Spalten) die Z-Werte (also es werden so viele Spalten angelegt, wie meine Tiefe eben ist). Die Werte in den einzelnen Feldern sind meine Höhenwerte der einzelnen Eckpunkte der Bodenflächen. Somit kann bereits eine Landschaft gebastelt werden, indem der User nur ein paar Klicks ausführt.

    Kamera Drehung und Bewegung.
    Ich habe mich dazu entschlossen den Leveldesigner auch gleich über Directx (auf einer Form) darzustellen. Hätte man auch mit GDI+ machen können, aber so lerne ich gleich ,mit DX umzugehen und ich kann es mir gleich so rendern, wie ich es brauche/möchte.
    Eben die Kamera für den LevelDesigner habe ich fast komplett implementiert. Hierbei besteht Aufhänhepunkt von wo der User schaut und weiter sind die Zwei Winkel gegeben (Pan, Tilt (Roll ist noch nicht drin)) Der Punkt, wo der User hinschaut kann somit berechnet werden.

    Was mir hier noch fehlt ist der Schnittpunkt mit den einzelnen Ebenen.
    Hierfür gibt es auch eine nette Logik, mit der man Rechenleistung sparen kann (einfach die Welt in 8 gleiche Würfel unterteilen, und dann die Objekte reinsetzen, wenn Objekte eingefügt werden muss der Würfel dann wieder in so geteilt werden, bis in jedem Würfel nur ein Objekt ist. Dann kann von außen erst mal mit den 8 Würfeln geschnitten werden, und anschließend geht das dann in die Tiefe (vielleicht 2-10 Berechnungen anstatt z.B. 10000 für alle Objekte)).

    Habe mir jetzt auch mal ein Geo-Lern-Programm gekauft, weil das mit den Vektoren etc. doch schon wieder ne Weile her ist.

    Kollision
    Für die Kollision würde ich das Ganze generell in die Teile FesteObjekte und BewegteObjekte teilen.


    Meine Intention eine solche Engine zu schreiben ist die, dass es das Game noch nicht gibt, das ich gerne zocken würde. Hierbei kommt hinzu dass mir das Game spass machen sollte (was schwierig ist, wenn man ja sowiso alles kennt.) Deshalb will ich eine Engine, die Interaktiv arbeitet. D.H. das Game soll sich, bis auf einige Vorgaben, komlett selbst erstelle und im Spielverlauf auch verändern. Des weiteren sollte das Game eine Kombination aus EGOS, Advanture, Wirtschaftssim usw. sein, so dass man auf jeden Fall immer Spielspaß daran hat.
    Dann soll das Ganze noch mysteriös und geheimnisvoll wirken. Eine grobe Vorstellung habe ich bereits.

    Ich progge das Ganze mit VB.Net.
    Habe auch bereits jahrelange Erfahrung mit VB, halte aber VB.Net für die bessere Wahl (OK, stinkt gegen C++ ab, aber das tue ich mir jetzt nicht noch an). In VB.Net progge ich jetzt c.a. 3 Jare.

    Vorteile
    Mann kann dann z.B. einen Handler Setzen, wenn ein Objekt einen Impuls, z.B. durch einen Stoß des Users, bekommt. Dann kann das Objekt bei jedem "RenderLoop" sich selbst bewegen, bis die Geschwindigkeit des Objekt auf 0 zurück gegangen ist. Wenn das der Fall ist, kann das Objekt sich selbst deaktivieren, also den Handler entfernen und somit kann viel Rechenleistung eingespart werden.


    Also ich würde gerne mit Euch, Dir, zusammenarbeiten. Wir müssten halt mal schauen, wie weit das möglich ist, da ich auf jeden Fall in VB.net schreiben werde. Die Vorgangsweisen etc. können wir auf jeden Fall sharen.



    Re: Hi und danke für die Mail

    marcus86 - 04.09.2006, 19:26


    Hallo rub :) ,

    schön das du hier schreibst.

    Alllso ;) , du bist ja schon echt sehr weit und ich erst am Anfang der guten Dinge.
    Ich programmiere ja mit VB6 würde aber für die Engine auch (das erste mal) auf VB.NET umsteigen, allerdings habe ich bei .NET keinerleich vorkentnisse, aber dafür ein großes dickes Buch von 592 Seiten.

    Wollen wir die Engine komplett neu beginnen und du bringst deine bereits geschriebenen Codes hier mit unter? Da wäre wir ja shcon ein gutes Stück weit.

    Dein langer Text überrascht mich, bzw. bin ich sehr erstaunt und fasziniert zugleich.
    Du hast das mit dem "Boden/Fläche" angesprochen. Wie wäre es denn, wenn man für jede Ebene, die das "Game" in der Seiten Ansicht hat, eine extra Tabelle verwendet? z.B. wäre das bei einen einfachen Haus 3 Tabellen, in jede kommt dann die Koordinaten der Flächen und der, mit dem diese verbunden sind.
    Man muss es ja nicht unbedingt so realisieren:

    Code:   Triangles(0) = MakeColorVertex(10, 10, 10, _
        D3DColorARGB(0, 255, 0, 0))
      Triangles(1) = MakeColorVertex(10, -10, 0, _
        D3DColorARGB(0, 0, 255, 0))
      Triangles(2) = MakeColorVertex(10, 10, 0, _
        D3DColorARGB(0, 255, 255, 0))

    Wir sollten mal alles Wissen übersichtlich geordnet zusammentragen, so, das ich das auch etwas shcneller erlernen kann mit .NET, denn es ist schon ein Unterschied zwischen VB und .NET !
    Der Nachteil bei NET wäre ja der, das man die Runtimes brauch, die seeehr groß sind.


    Bin jeden Tag erst ab etwa um 5 daheim, wegen der Arbeit, daher können wir nur am Wochenende volles Programm 100% durchziehen, in der Woche max. abend 4 Stunden.

    Vielen Dank für deine Interesse, wird sicher eine krasse Engine und die Games fantastisch ! (Deine Vorstellung sind schon etwas höher, aber ich denke, ich mach einfach mit ! :) )

    Mfg, Marcus



    Re: Hi und danke für die Mail

    marcus86 - 04.09.2006, 19:49


    Noch was:

    Die Idee, die komplette Welt in Abschnitte zu unterteilen klingt sehr sinnvoll. Wir könnten ja anstatt deiner 8 die Weltgröße festlegen (kommt auf die Speicherauslastung drauf an) und wenn diese Große überschritten wird, wird eine 2. Welt erstellt, die dennoch zusammen hängt.
    Man kann zudem auch noch die Sichtweite festlegen, so als wäre Nebel. und wenn man näher zoomt/läuft/fährt wird wie Welt weiter geladen, der hintere rest wird entladen. So sparen wir recourcen. Dies nutzen eigentlich viele Spiele, da so die Welt rießig sein kann, und der Speicher minimal. Siehe GTA San Andreas. Andere Spiele laden etwas länger und zeichnen die Welt komplett, was nicht sinnvoll ist.

    Wir müssen nun errechnen bzw. testen, wie groß eine Welt max. sein kann. Wir könnten die Weltgröße allerdings auch abhänhig machen, wieviele Poligone darauf erstellt wurden, was allerdings schwerer zu realisieren wäre.

    Hast du denn schon ein konzept, wie die neue Engine im Aufbau sein sollte? Habe ja ein Topic erstellt, wo alle Infos drin sind, da kannst du ja deine Meinung dazu posten.

    Mfg, Marcus



    Re: Hi und danke für die Mail

    rub - 04.09.2006, 21:54


    Freut mich, das Du sogar auf .Net umsteigen würdest.
    Du hast recht, das Visual-Studio für Dot.Net ist wirklich groß.
    Wenn Du die MSDN usw. mit berücksichtigst ist das ungefär ein Gig.
    Kannst Dir aber alles aus dem Netz ziehen (VB-Archiv).
    Beim Umstieg kann ich Dir auch helfen.

    Wegen der Engine:
    Ich denke, dass es das Beste ist, die Grafik so weit es geht vom Rest zu trennen. Also das die VertexBuffer, die dargestellt werden, eigentlich nicht viel mit den einzelnen 3DObjekten zu tun haben.
    Also, das beim Rendern ein VB erstellt wird, in den so viel Objekte gerendert werden bis er voll ist. Dann der Nächste usw..

    Die Idee von Dir mit den Tabellen pro Ebene ist eigentlich gut und hat auch Vorteile. Z.B. dass man den (ich sag mal) Y-Wert bereits als Tabellenname vorgeben könnte, was bereits der erste Index währe.
    Sie hat aber auch Nachteile. So müssen Alle Ebenen Parallel zur Y-Ebene sein.
    In meiner Tabelle ist jeder Wert in einem Feld der Y-Wert einer Ecke, somit sind also auch Ebenen möglich, die nicht Parallel zu Y sind.

    Über das Ganze sollten wir noch ne Weile reden, bis wir den konkreten Plan festlegen.

    Ach ja, ich habe da noch etwas herausgefunden. Du kannst zwar z.B. den Device auf ein Fenster, oder Panel legen, aber wenn Du mehrere Devices erstellst, z.B. für 4 Panels, dann kommt die GraKa nicht mehr klar.
    Deshalb habe ich in meinem Editor jetzt nur noch eine Perspektive. Reicht aber auch, weil man sich ja drehen kann, wie man will

    Ich werde Dir die Tage mal mein Projekt schicken. Es macht keinen Sinn, das jetzt zu posten, ist noch zu verwirrend.



    Re: Hi und danke für die Mail

    marcus86 - 04.09.2006, 22:27


    Super :) Das wird schon klappen !

    Okay, wir sind nun also schon einmal zu 4.


    Wenn .NET sind es 2 Leute, die umsteigen, aber das ist kein Ding, schließlich kann man nie genug lernen.... :D

    So, dies hier ist ein Pic, das hab ich mal so auf die schnelle gemacht! (omg :D) , das wäre mein erstes Konzept. Wir sollte vielleicht ein neues Topic machen, wo alle Ideen rein kommen !





    C000dnnn

    Mfg, Marcus



    Re: Hi und danke für die Mail

    forza_duisburg - 04.09.2006, 22:41


    So Leute,

    nach aufmerksamen Lesen bin ich sehr neugierig darauf geworden.
    Ich werde ab nächster Woche selbstverständlich mitwirken.

    Ich werde selbstverständlich auch auf .Net umsteigen.
    Ein wenig Erfahrung in VB 6 habe ich schon.

    Ich hoffe dann mal auf ein gutes gelingen.



    Re: Hi und danke für die Mail

    rub - 05.09.2006, 18:58


    Wollte noch kurz etwas zu meinem Terminplan sagen.

    Im Forum bin ich den ganzen Tag.

    Ich arbeite bis 18 Uhr, bin also ab ca. 19Uhr bereit für alles rund um die Engine.

    Am Wochenende bin ich meistens vor dem PC, gelegentlich aber auch von FR bis SO unterwegs, so wie das kommende Wochenende.



    Re: Hi und danke für die Mail

    marcus86 - 05.09.2006, 19:08


    okay,...

    durch ein Forum muss das ja nicht alles "live" geschehen, da können wir jeder Stück für Stück etwas machen und im Forum nen post hinterlassen.


    Wir sollten nun schonmal ein grobes Konzept aufbauen. Ich werde dazu einfach mal eine Topic erstellen.

    Mfg, Marcus



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Win-Tuning-Portal.de

    3D Scanner benötigt ? - gepostet von rub am Mittwoch 20.06.2007
    Ich bin wieder zurück - gepostet von forza_duisburg am Donnerstag 10.05.2007
    [HTML] - Textmarken erstellen + Zugriff - gepostet von marcus86 am Dienstag 15.08.2006
    Projekt Start - MRZ Town - - gepostet von marcus86 am Montag 05.03.2007



    Ähnliche Beiträge wie "Hi und danke für die Mail"

    Arbeiten ?! nein danke ?? - Anonymous (Montag 27.06.2005)
    Danke - Francis (Mittwoch 17.08.2005)
    Ein Danke ist uns wichtig - shaddowlink (Sonntag 20.11.2005)
    Danke - waldhexe (Mittwoch 19.07.2006)
    richtig fettes Danke!!!!!!!!!!!!!! - AbendsternMia (Montag 15.01.2007)
    Danke! - warp9 (Donnerstag 03.08.2006)
    Bag Snake thread erledigt bitte löschen danke :) - MovinMelodies (Samstag 16.06.2007)
    Danke Lichti - jeileZick (Freitag 06.05.2005)
    Bewerbung Hexenmeister - Oid (Mittwoch 02.04.2008)
    Anleitung anpassen - freedom (Montag 07.04.2008)