mir ist gestern Abend eine Idee gekommen: Ich habe hier noch kein Projekt gesehen bei dem viele Leute der Community zusammen was gemacht haben. Man könnte ein Projekt machen, welches z.B. einen Gang mit x Räumen darstellt. In diesen Räumen werden dann Sachen demonstriert. Man müsste dann einen Server und im Programm einen Updater haben. Das hätte den Vorteil, Leuten zu ermöglichen auch mehreres auf einmal zu sehen. Es ist einerseits wie eine Werbung für OpenGL, andererseits haben Anfänger den Vorteil aus den Codes zu lernen und statt Monate lang an einem eigenen Projekt zu arbeiten Kleinigkeiten dort in Räume zu stellen um auch etwas zu zeigen. Viele OpenGL-Versuche scheitern denke ich wegen totaler Verzweiflung, so könnte man das verhinden. Der Code müsste nur etwas kommentiert sein, dafür wäre es aber sinnvoll eine Kommentardatei anzulegen, in der die Standardkommentare an der Standardstelle stehen, dann kann man einfach // #1 bei der Init schreibt und derjenige der es braucht muss nur kurz nachschlagen. Zusammen würde an sich letztendlich doch nicht programmiert werden, aber es würde ein einziges Projekt entstehen, bei dem z.B. an der Wand vor der Tür der Name des Programmierers steht. Um es noch weiter aufzupeppen kann man auch eine kleine Außenwelt einbauen, in der auf irgendeine Weise noch Himmel/Regen/Landschaft/... oder Physik demonstriert werden kann. Der Vorteil hierbei ist, dass *nur* die Grundlage programmiert werden muss, danach läuft es von alleine - oder es kommen keine neuen Demos hinzu. Ich weiß nicht ob dieser Vorschlag schonmal kam, habe auch nichts dazu auf die Schnelle gefunden, aber ich wollte den Gedanken nicht verlieren und lieber gleich auf den Tisch knallen statt alles wieder weiter aufzuschieben und letztendlich aufzugeben.
Registriert: So Feb 06, 2005 17:29 Beiträge: 187
Programmiersprache: C, C++
Hallo,
ich habe jetzt erstmal noch nicht abgestimmt, weil ich mir einfach noch nicht ganz sicher bin. Ich warte erstmal ab was andere noch fuer vor und nachteile aufzaehlen.
Prinzipiell gefaellt mir die Vorstellung von so einem Projekt schon einmal gut, man muesste halt noch ausarbeiten, wie das dann genau aussehen und aufgebaut werden sollte. Ein Problem sehe ich, wie du auch schon leicht angeschnitten hast, dass das ganze einfach wieder verlaeuft, keine Beispiele eingefuegt werden etc. . Ich waere mir nicht sicher ob man wirklich eine Update-Funktion braucht, oder ob nicht ab und zu eine neue Version zusammenstellen reicht. Dann waere man allerding schon wieder verdammt nahe an dem, was auch das dglsdk bietet, oder irre ich mich?
Als ich dein Posting jetzt gelesen hab, hatte folgendes Bild im Kopf: Man bewegt sich wie bei einem FPS durch einen dunklen Korridor, von welchem kleinere Gaenge zu Tueren mit den Raeumen fuehren. Als Beispiele koennte ich mir zB einen im Raum schwebenden texturierten Wuerfel vorstellen (sehr einfach), oder auch ein simples Partikellagerfeuer. Oder was fuer Demos waren jetzt gemeint? Und was ist mit Interaktion? Soll der Benutzer mit bestimmten Tasten Animationen etc. beeinflussen koennen oder ist es wirklich nur eine Art "Showroom"?
Ein Vorteil meiner Meinung nach waere bei so einem Projekt, das alles kompakt und aus einem Guss waere. Die Beispiele waeren alle einheitlich geschrieben, also nicht einmal sdl dann wieder vcl etc., dass koennte dazu beitragen, dass mehr Beispiele beigefuegt werden, auch von Leuten, die sich noch nicht so lange mit OGL beschaeftigen.
Ob das ganze jetzt wirklich fuer Einsteiger soviel bringt, ist natuerlich auch die Frage, aber einen gewissen "Coolness-Faktor" haette es bestimmt.
Naja, mal schauen, was andere noch zu sagen haben.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Die Idee gefällt mir auf jeden Fall.
Interaktionen um die dargestellten Effekte zu beeinflussen hätten sicher was. Eine Idee, wie man die einzelnen Räume implementieren könnte wären z.B. Klassen. Eine Mutterklasse für einen Raum und den rest erledigen virtuelle Methoden.
Wie Average Idiot schon sagte, dürfte es aber eine gewisse Einschränkung im Lernfaktor geben, vorallem weil da eine Menge Framework drumherum sein wird, dass sicherlich nicht sehr simpel sein wird (oder hast du da schon eine geniale Idee?).
Bin mal gespannt, was daraus wird. Code würde ich sicherlich auch beisteuern, z.B. meinen Wassereffekt würde ich da gerne sehen
Man könnte auch sozusagen eine Abzweigung machen und dort dann Räume hinbauen, in denen die "Auswirkungen" von Tutorials gezeigt werden. Zum Beispiel einen Raum indem dann eine kleine Miniaturlandschaft mit dem Code aus dem Terrain-Tutorial gerendert wird. Oder einen Raum in dem ein paar schöne Shadereffekte ablaufen oder sowas.
//Edit:
Was mir gerade einfällt: Genial wäre ja auch, wenn man die Räume irgendwie modulartig einbinden könnte, aber das würde das Framework noch einmal komplexer machen, auf der anderen Seite wäre das Updaten aber deutlich einfacher (achja, nen Updateserver könnte ich vielleicht bereitstellen, falls daraus wirklich was wird)
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nette Idee. Aber mehr als Werbung für DGL wäre das nicht. Der lernfaktor geht wohl gegen null.
Wie bereits sehr richtig angemerkt wurde wäre die Hauptaufgabe erstmal die Ganze Szene hinzustellen. Also quasi ein eigenen "Labyrinth" Spiel, oder die Map eines Shooters. Schon alleine das wäre ne Menge Code die einen Anfänger total aus dem Konzept bringt. Jemand der mit unseren mini-Codes probleme hat, wird wohl kaum von einem Framework + 20 MiniCodes einen Vorteil haben.
Das nächste ist ein Fehler in der Vorstellung. Nur weil die verschiedenen Rendertechniken in getrennten "Räumen" laufen, heißt das nicht, dass die auch in verschiedenen Codes laufen. Code-Organisation ist ein echtes Problem. Vorallem wenn der Code groß wird. Leider haben wir hier dazu noch kein Tutorial (was aber nötig wäre). Bei den kleinen "Techdemos" die jedes Tutorial liefert hat man dieses Problem nicht.
Zitat:
Viele OpenGL-Versuche scheitern denke ich wegen totaler Verzweiflung, so könnte man das verhinden.
Diese Aussage würde ich gern in Zweifel ziehen. Denn wer OGL wirklich lernen will kann auch die "Mühe" auf sich nehmen, sich hier zu registrieren. Und bei uns hat noch jeder der wollte die OGL Grundzüge gelernt.
Die Grundidee eines DGL-Gemeinschafts-Projekts ist nebenbei nicht neu. Gescheitert ist es bisher immer Leute zusammen zu bringen.
Interessanter fände ich, wenn die Leute mit vielversprechenden Einzelprojekten mal was zusammen machen. Partikelengine hier, Map von da, Texturloader von jenem, Fontsystem von diesem, Shader von dem etc.
Da könnte man mal zeigen was die Leute von DGL so können - wenn sie wollen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Flash hat geschrieben:
Interessanter fände ich, wenn die Leute mit vielversprechenden Einzelprojekten mal was zusammen machen. Partikelengine hier, Map von da, Texturloader von jenem, Fontsystem von diesem, Shader von dem etc. Da könnte man mal zeigen was die Leute von DGL so können - wenn sie wollen.
Hey, also gegen Hilfe bei meinem Strategy Game hätte ich so gesehen nichts. Vorallem wenns dann in Richtung Physik und sowas geht, sehe ich bisher nur ein schwarzes Loch. Wir könnten mal nen Thread mit "Hilfesuchern" und "Langeweile habenden" aufmachen
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Das Framework ist zwar nicht leicht, aber dass die verschiedene Räume extra Dateien bekommen ist wichtig und vereinfacht es auch wieder.
Viele Leute die hier Fragen posten verzweifeln dennoch und fragen einfach irgendwann nicht mehr. Das sehe ich als Problem, Anmeldungen gibt es wohl genug.
Die Verknüpfung von Einzelprojekten wäre interessant, aber denke ich unmöglich. Ein Rennspiel hat eine komplett andere Physik z.B. als ein Ballerspiel. Man kann das nicht gleichsetzen und dann gäbe es noch viele Fälle die offen bleiben würden.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Nils hat geschrieben:
Viele Leute die hier Fragen posten verzweifeln dennoch und fragen einfach irgendwann nicht mehr. Das sehe ich als Problem, Anmeldungen gibt es wohl genug.
Also da muss ich ganz ehrlich sagen. Wenn jemand etwas nicht versteht und nicht weiter nachfragt, dann kann ich ihm auch nicht mehr helfen. Und wenn ich auf eine Frage antworte und da keine Frage oder Rückantwort kommt, dann gehe ich davon aus, dass das Problem gelöst ist. Wenn trotzdem noch Probleme sind kann ich das nicht wissen. Da steht der Entwickler in der Schuld sich darum zu kümmern, dass er die benötigten Infos bekommt.
Ich für meinen Teil habe es schon immer versucht so hinzubiegen, dass die Leute nicht einfach stumpf einen Code kopieren sondern auch wissen was der macht. Um nicht in 2 Wochen wieder mit einer ähnlichen Frage auf der Matte zu stehen. Aber genau das ist auch ein Problem was ich sehe. Es ist schön vorgefertigen Code zu haben das Live zu sehen etc. Nur denke ich, dass dann viele die nicht mal wissen wie man eine Textur auf ein Quad aufbringt sich gleich auf Shader etc stürzen werden. Und da ich nicht davon ausgehe, dass sie das dann kapieren werden wird es nur auf Copy&Paste hinauslaufen. Aber ein gewisses maß an Grundwissen sollte man schon haben, denn ansonsten spielt man (Die Erstellern der Codes) nur noch Supporter für seine Codeschnippsel.
Dieser Effekt wird sicher noch verstärkt werden, um so komplexer die Anwendung dann wird. Denn viele sind dann alleine schon durch die fremden Technologien (Objekt Orientierung) oder der Größe des Ganzen einfach hoffnungslos überfordert. Ich habe das bei Einstellungstest in der Firma gesehen. Fertig studierte hatten Probleme mit Projekten die aus 5-6 Quellcodedateien bestehen. Und da das erwartungsgemäß größer werden sollte muss man wirklich extrem darauf achten, dass es übersichtlich ist. Denn sonst werden da selbst erfahrene Entwickler ins straucheln kommen. Und da mache ich bei mir keine Ausnahme. Also nach Möglichkeit sogar so wie Lord Horazont das mit modular (Pluginsystem) vorgeschlagen hat. Denn dann hat man nicht 20 "Räume" sondern nur die 2 Wichtigen. Aber auch da würde die Integration der Räume abstumpfen. Also nicht von einem Raum in den Nächsten schauen können etc. Den Code des Frameworks würde ich auch eher bedeckt halten. Also wenn man erst mal das Framework erlernen muss bevor man den Effekt verstehen kann, dann ist das einfach zu viel.
Also ich bin nicht generell gegen so etwas. Aber da sollte man sich schon genau überlegen was man mit so einer Anwedung erreichen will und was das Wahrscheinlichste ist was man damit erreichen wird. So nett wie die Idee auch ist. Aber das kann sehr schnell nach hinten gehen.
Gemeinschaftsprojekt: Da sollte man sich auch gut überlegen wie man so etwas aufzieht. Denn eigentlich ist allen nichts geworden, weil man sich nicht einigen konnte. Und das ist nicht nur in diesem Forum so. Ich denke irgendwo braucht man ein bisschen Hirarchie oder klar getrennte Bereiche, denn ansonsten zieht jeder in (s)eine eigene Richtung.
also an und für sich finde ich die idee ganz spaßig, allerdings könnte man überlegen ob man es nicht evtl ein wenig umgestaltet, denn den lernfaktor an sich finde ich dabei auch nicht soo hoch..
Meine idee wäre daher, evtl nicht räum machen für einzelne Demos, sondern jeder DGL User bekommt seinen eigenen Raum, den er nach belieben schmücken, dekorieren kann etc Das ganze dann aber auf beschränktem maß, also jeder hat nen raum der 20x20m groß ist, 2 Fenster hat etc.. Was er aus diesem Raum macht ist ihm dann überlassen, am anfang ist es einfach nen Weißer raum mit schwarz hinter den Fenstern.
Das ganze wäre insofern cool, da es ein gewisses maß an rivalität und konkurenzdenken weckt, jeder will den schönsten Raum haben = es fördert das man an seinem Raum werkelt
Zur umsetzung: Das stell ich mir nicht soo schwer vor, sofern man einige regeln setzt. Das grund-framework müßte erstmal jemand schreiben (da würde ich mich sogar für anbieten, hätte ich spaß dran ^^), das würde ich so aufziehen, dass es eine klasse gibt (nennen wir sie mal TRaum) von der jeder seinen eigenen Raum in einer DLL (!) ableitet.
Diese klasse bietet dann im grunde nur eine einzige funktion: Draw() in der der ganze Raum inhalt gezeichnet. Ein paar weitere gäbe es dann noch um die Wände etc zu zeichnen, also z.B. DrawLeftWall(), so das man auf jede Wand/Fenster einzeln zugreifen kann im code um div. spielereien damit zu machen. (Alternativ kann man auch einfach die wände selber zeichnen. Das man dabei zu "groß" wird könnte einfach durch Clipping Planes verhindert werden. Klar, die kann man deaktivieren etc, aber man soll halt einfach nicht schummeln )
Somit gäbe es dann das Haupt-programm und viele DLL-Räume der User.
Vorteil der DLL wäre, das es wirklich ein unabhängiger Raum ist, der eigene Texturen/Objekte etc mitbringen kann wie er mag.
Registriert: So Feb 06, 2005 17:29 Beiträge: 187
Programmiersprache: C, C++
Hmm, der Vorschlag von Aya hat definitiv auch etwas .. aber nicht das nachher keine anderen Projekte mehr laufen, weil sich alle immer mit ihren Raeumen uebertrumpfen wollen
Zu der Groesse eines Raumes: Die muesste man gar nicht mal beschraenken. Ich wuerde stattdessen dafuer sorgen, dass immer nur ein Raum gleichzeitig gerendert wird, man also nicht von einem in den naechsten schauen kann.
Wie stellst du dir eigentlich die Fenster vor? Quads? Die muesste man dann ja nicht vorgeben, koennte dann ja jeder nach Belieben handhaben ... Meine Raeume haben keine Fenster
Zu der Umsetzung: Da bin ich selbst wohl eher ungeeignet, allerdings wuerde mich doch sehr interessieren, wie man ein grosses Projekt modular aufbaut. Sollte also etwas daraus werden, dann waere es vielleicht nicht lehrreich fuer absolute Beginner, aber lehrreich fuer Leute wie mich, die bisher keine groesseren zusammenhaengenden Programme geschrieben haben.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Die Idee von Aya ist definitiv besser als die Grundidee. Besonders lehrreich fände ich es nämlich nicht. Aber so bekommt man das ganze einen Programmieren2.0-Touch
_________________ Blog: kevin-fleischer.de und fbaingermany.com
So wie das Aya die Idee noch verbessert hat, finde ich es gut. Eigentlich ist die Umfrage mist. Denn wie man gerade sieht gibt es Leute, die begründet Abstand nehmen und es gibt andere die was verbessern und das Projekt für die eher negativ gegenüber eingestellten in einem anderen Licht erscheinen lassen.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Genau. Ja nein abstimmungen gehen hier im Forum eigentlich immer in die Hose. Da muss man beim erstellen schon etwas weitsichtig "Zwischenlösungen" anbieten.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Also mit Aya's Idee könnte ich mich auch anfreunden, wobei mir die Grundidee auch gut gefallen hat. Jedoch ist sie schwerer umzusetzen...
Wenn jeder einen Würfel als Raum als Vorgabe bekommt wird das bestimmt lustig, man kann ja schließlich alles einbauen was einem so einfällt Nur die Vorgabe sollte man noch erkennen können, sprich der würfelförmige Raum, damit das ganze einen Rahmen hat und letztlich gut zueinander passt.
Wenn das Framework steht will ich auch mitmachen Mal sehen, was sich in meinem Raum so alles tummelt.
Schön wäre auch, wenn man vom Framework etwas Benutzer-Interaktion übergeben bekommt,
sprich Mausbewegung, Tastenanschläge etc., damit man seinen Raum etwas Leben einhauchen kann.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das Problem wird wie so oft sein: Einer muss damit Anfangen. Jemand der Ahnung, Zeit und die Fähigkeit hat wenigstens noch 1 bis 2 andere zu motivieren mitzumachen. Sonst wird das nix.
Damals als das Wiki gestartet ist war das auch so. Zuerst hatte ich einfach angefangen das Redbook zu übersetzen. Dann haben immer mehr mitgemacht. Am Ende so 5 Mann. Dann kamm der Bruch mit dem Copyright und das Wiki wurde aufgesetzt. Dort hat Sascha und meine Wenigkeit Artikel reingestellt. Ruckzug kam da dann was in Bewegung. Aber es muss halt jemand anfangen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Also, Aya, wirklich eine sehr schöne Abwandlung.
Das mit dem Raum dekorieren gefällt mir sehr. Dass die anderen Räume nicht zusätzlich gerendert wird, Average, sollte klar sein . Wenn dann jemand einen komplexen Pool hat in dem sich dann sinnloserweise die Partikel vom Feuer nebenan, dass eh nicht sichtbar ist unsichtbar spiegeln... naja
Also, wenn das Framework steht, ich wäre bereit auf jeden fall einen Raum zu gestalten. Nur das mit den DLLs stößt mir ein wenig sauer auf... DLLs und OOP verträgt sich in meinen Augen nicht wirklich (Ok, interfaces... Naja... ). Hat nicht irgendwer lust, nen Interface zu ner guten OOP-Scriptsprache (Lua z.B.) zu schreiben? (nee, muss nicht wirklich sein, DLLs gingen auch)
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 29 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.