ich hab' vor einer Weile in der Projekt-Sparte mein SoundLib 3 beta 2 vorgestellt. Seitdem ist einige Zeit vergangen, das Projekt stand nie wirklich still. Ich hab' auf jeden Fall einige Fragen: * Gibt es unter Euch Leute, die es einsetzen? * Habt Ihr Gründe, es nicht einzusetzen? * Was fehlt Euch noch? * Wo könnt Ihr Euch einen Einsatz vorstellen?
Wer Neu ist, was das Topic angeht, für den ein kurzer Überblick, was SoundLib 3 bisher leistet: * Einfach erlernbares objektorientiertes Interface (OOP) * Spielt WAV, OGG, FLAC MOD/NST/WOW, S3M und XM files * Ausgabe: DirectX, WaveOut * 3D-Positionierung von Soundquellen, Doppler-Effekt * User-Streams und User-Samples möglich * Switching von Interface, Soundkarte und Wiedergabeformat on-the-fly * Schneller 32-Bit-Mixer, theoretisch unlimitierte Kanäle * Ausgabe mit 8, 16 und 24 Bits möglich * Ausgabeformate: Mono, Stereo, Surround (Dolby Pro Logic [II] compatible), Mehrkanal (5.1 bis 7.1) * Automatische Frequenzumrechnung (Interpolation, Volume ramping) * Pitch control, Looping * Umfangreiche XML-basierte Hilfe
Ich arbeite gerade (wieder) an der Beta 3, aber mir fehlt Feedback. Was u.A. neu in Beta 3 sein wird: * SoundLib lädt/spielt Impulse-Tracker-Files, AIFF-Files, Wave64 (Wave-Dateien > 4 GByte) * Überarbeitete Struktur: Sounds können hierarchisch hinzugefügt/entfernt werden (bisher starre Struktur; ermöglicht Filter) * Neues Buffering-System (Geringere Latenz, Loops in Audio-Streams möglich) * Viele kleine Verbesserungen (Knackfreiere MOD-Wiedergabe, besserer XM-Support... )
Zur Diskussion steht: * Filter-Paket (L/H-Filter, EQ, Delay, Flanger...) * ASIO-Support (Für möglichst echtzeitnahe Wiedergabe in Audio-Applikationen) * Midi-Support (benutzt das noch jemand?) * CD-Playback (nochmal: braucht das noch jemand?) * NICHT zur Diskussion: MP3-Support (OGG, FLAC müssen reichen), Aufnahmefunktionalität (kommt mit späteren Versionen) * Weitere Anregungen von Euch?
Mein Hauptaugenmerk liegt bei SL3 nicht auf einer wahnsinnig großen Feature-Menge, sondern auf Einfachheit in der Nutzung. Zielgruppen sind Spiele und Audio-Applikationen (aber keine Multi-Format-Medien-Player). Ich würde mich freuen wenn Ihr mich ein wenig unterstützen und mir vielleicht ein paar Anregungen geben könntet.
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Dein Problem liegt wohl in der Unbekanntheit und in der Lizensierung. Es gibt fmod, das ist auch frei nutzbar(für hobbyisten) aber bietet jahre lange Erfahrung, Support und hat eine Liste von Partnern die aus der Spitzenklasse der Gameindustrie kommen(gute werbung). Für schwer kommerzielle Projekte ist dein Produkt natürlich günstiger aber bei den Preissegment interessiert keinen ob es 1500$ oder 5000$ kostet, man nimmt das mit den meisten published titeln. Man muss auch noch sagen, dass Sound zu wenig beachtung geschenkt wird, man steck zig tausende von $ in Grafik und knausert dann bei der Audioabteilung. Ich an deiner stelle würde mir überlegen welches Zielsegment mich mehr interessiert und direkt auf dieses hin entwickeln.
Im Professionellen Bereich ist uns eine sehr gute Doku und ein schneller einstieg(viele out of the box demos) das KO Kriterium. Wir gucken ned erst auf dem Preis und lernen auch nicht die Featuresliste auswendig, sondern gucken auf die handhabbarkeit und wie schnell wir unsere dinge mit dem Produkt umsetzen können. Je weniger Zeit wir investieren müssen um unsere Todo's um zu setzen je mehr wandert es im Ranking nach oben.
Als hobbyist sind mir die Features wichtig, ich will möglichst durch Features meines kleinen Projektes von den Großen absetzen, denn durch Qualität und Umfang kann man nicht Punkten.
Die meisten Produkte, die wir bei uns nutzen kommen von unseren Entwicklern, die Zuhause als Hobbyprojekte sich mit Middleware auseinander setzen und sie so toll fanden und dann Kollegen zeigen und dann wird es im nächsten Projekt ausgetestet. JMonkey, Memcache, Bullet, mein Framework ^^ und vieles mehr(ja wir nutzen viel OpenSource aber auch viel Kommerzielles wie vivox, mysql und tonnenweise software die man zur erstellung braucht).
Dinge die mir wichtig sind(nach wichtigkeit sortiert): -Platformunabhängigkeit -C++ OO implementierung(keine dll bindings oder c wrapper und somit schick statisch mit reinlinken) -small fingerprint(möglichst wenig ressourcenverbrauch egal ob cpu/ram/io) -out of the box compilierbarkeit auf vc++2003 und höher, gcc(durch z.B. cmake) -examples -lesezugriff auf das fileversionierungssystem(ich hasse zip downloads die alle Nase lang erstellt werden, da ich nicht sehe was der Entwickler so geändert hat und zu Problemen bei mir führen kann) -keine dependencies auf boost(das wohl grausamste was ich ertragen muss, ich nutze leider eine bibliothek die boost files braucht und das kostet viel compilierzeit und boost ist grottig lahm und braucht viel Speicher) -keine Hauseigene Lizenz(gibt nur Probleme im Fall eines Rechtstreits) gut sind hier lgpl, Apache2 und bsd bzw. dual lizenzen
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Wahrscheinlich ist das Problem, dass du wirklich ein wenig zu "großspurig" bist. Schau dir z.B. Audorra an. Bietet auch viele deiner Fetures, ist scheinbar hoch optimiert, hat verschiedene Open Source Lizenzen, die einem entweder gut Freiheit lassen (MPL) oder zu GPL und LGPL kompatibel sind. Zudem lassen sich die BackEnds auch sehen: - Win32-WaveOut - Win32-DirectSound - Win32-WASAPI - OpenAL - libao - PulseAudio Hier sieht man auch einen weiteren Vorteil: Plattformunabhängigkeit! Die wenigstens Hobbyprojekte schaffen es in große oder gar kommerzielle Projekte. Wen visierst du an? Bei Kleinspieleentwickeln ist Plattformunabhängigkeit mittlerweile fast Pflicht, weil die 90% (oder so) Windows-PCs auf dieser Welt zum Großteil PCs von Firmen und Muttis, Vatis, Omis, Opis sind - also keine Leute, die kleine Freewarespiele spielen. Mit Linux und Mac erweitert man seinen Nutzerpool imens! Und achso: Ich bin auch kein großer Freund von MP3 und habe alle MP3s, die ich genutzt hätte, in ogg umkonvertiert. Ich konnte es, weil Qualität nicht so wichtig war. Aber eine Unkonvertierung ist immer schlecht (bei verlustbehafteten Formaten).
_________________ Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut. Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’. Und du schaust mich an und fragst ob ich das kann. Und ich denk, ich werd' mich ändern irgendwann. _________________Farin Urlaub - Bewegungslos
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
MP3 Support braucht man auch garnicht, erstmal gibt es nur das Urformat Mp3 frei verfügbar(was ich vieleicht 1-2 mal gesehen hab), das heutige ist hat eine kostenpflichtige Lizenz und zweitens ist Ogg und Flac viel besser. Ogg wird mit html5 auch ein standard format sein, was jeder browser können ->muss<- und ausser IE können das alle größeren schon. Also wird das sich zukünftig auch immer mehr durchsetzen, noch dazu ist die api wirklich sehr einfach und trotzdem sehr mächtig.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
die ogg API? O_o Ansonsten gebe ich dir recht. ogg ist toll und besser als MP3. Aber MP3 ist nun mal weit verbreitet...
_________________ Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut. Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’. Und du schaust mich an und fragst ob ich das kann. Und ich denk, ich werd' mich ändern irgendwann. _________________Farin Urlaub - Bewegungslos
also erstmal danke für die (wirklich!) qualifizierten Kommentare. Das hat mir erstmal den Einblick auf die andere Seite gegeben, der mir im Moment tatsächlich fehlt. Großspurig würde ich nicht sagen, das Projekt ist über die Jahre gewachsen (SoundLib 2, auf dem Version 3 [lose] basiert, stammt aus dem Jahr 2001). Da ich ohnehin in der Audiosoftwarebranche arbeite, bringe ich zudem ein gewisses Grundwissen mit, das mir ein paar Dinge leichter macht. Und ich arbeite ggf. nicht ganz allein (kompletten Plattform-unabhängigen Midi-Support kann ich durch einen weiteren Mitstreiter realisieren).
Völlig richtig erkannt finde ich aber die fehlende Richtung: Die suche ich nämlich im Moment. Die ganze Idee des Libraries unterstützt eben eher Content-Producer und nichtumgekehrt solche Leute, die Content einfach nur anwenden wollen. Konkret: Spiele und Audio-Applikationen. Am ehesten würde es mir wohl helfen, wenn tatsächlich mal jemand das Library in einem größeren Projekt einsetzt und mir Feedback liefert. Das letzte größere Spiel, das SL3 einsetzt, stammt aus dem Jahr 2007 und hat mir schon einige Einsichten geliefert. Kommt man über DGL vielleicht an entsprechende Interessenten?
Die Lizenz ist ein heikles Thema. Tut mir leid, in dem Lib steckt zuviel Know-How drin, das ich einfach nicht so ohne Weiteres weitergeben möchte (das Lib war auch Bewerbungsgrundlage bei meinem jetzigen Arbeitgeber). Ich verweise allein auf den Module-Player, der in Eigenregie entstand. Entsprechend schaut es eben auch mit dem Wunsch nach SVN o.Ä. aus: kein Source, kein SVN für Andere (oder?). Wenn nicht eine eigene Lizenz, was kann man da nehmen?
Plattformunabhängigkeit ist wichtig (ich kann aktuell tatsächlich auf Mac und auch mit 64 Bit [Mac/Win] kompilieren und ausführen), und wäre sicher einer der nächsten Schritte. Der Verweis auf OpenAL in diesem Zusammenhang ist nett, SL3 kann sogar OpenAL, aber ich hab's nicht freigeschaltet, da diese Schnittstelle sämliche Hardware-Eigenschaften verbirgt und daher leider komplett unnütz für ein eigenständiges Lib ist. Man sollte daher lieber die wirklich sinnvollen Backends supporten und keine halben Lösungen anstreben. Linux: Ich kann mir aktuell noch nicht vorstellen, dass für diese Plattform in absehbarer Zeit irgendwelche größeren Spieleprojekte entstehen. Habt Ihr vielleicht ein paar Beispiele, die meine (aktuelle) Meinung widerlegen?
DLL Hell: Tak, Du meintest, dass Du lieber statisch linkst. Aber das sehe ich in Hinsicht auf meinen Basis-Compiler (Delphi bzw. Free Pascal) eher schwierig (kein C++ möglich). Eine DLL löst meine meisten Probleme in Hinsicht der angestrebten Compilerunabhängigkeit. Aber vielleicht gibt's da auch andere Lösungen, die ich nur nicht kenne?
Linux: Ich kann mir aktuell noch nicht vorstellen, dass für diese Plattform in absehbarer Zeit irgendwelche größeren Spieleprojekte entstehen. Habt Ihr vielleicht ein paar Beispiele, die meine (aktuelle) Meinung widerlegen?
Also große kommerzielle Spiele gibt es für Linux in der Tat nur wenige. Von UT 3 und Doom 3 gab es eine native Linux-Version, ansonsten fällt mir gerade noch "World of Goo" ein....ABER Linux ist die Welt der Hobbyentwickler...wenn deine Zielgruppe also Hobbyentwickler sind, kommst du um Linux nicht herum
Zitat:
Die Lizenz ist ein heikles Thema.
Ja, in der Tat. Du musst bedenken, dass wenn deine Lizenz nicht kompatibel mit GPL ist sie nicht zusammen mit GPL-Software benutzt werden kann. Binde ich also mit meiner Anwendung deine Library ein, bin ich nicht mehr in der Lage andere Libraries zu nutzen vielleicht die nur unter GPL verfügbar sind. Gut, die meisten wichtigen Libs (Qt, SDL, ...) stehen unter LGPL, aber für mich wäre das ein absolutes No-Go-Kriterium, insbesondere da ich meinen Quellcode in der Regel selbst unter GPL veröffentliche. Verstehe mich nicht falsch, natürlich darfst du deinen eigenen Quellcode unter jeder Lizenz veröffentlichen die du für sinnvoll hältst. Ich will dich jetzt nicht zur GPL zwingen. Allerdings solltest du gut überlegen, ob du damit deiner Zielgruppe nicht vielleicht Möglichkeiten verbaust.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hallo Stefan,
Ich für meinen Teil würde SoundLib nicht einsetzen. Dafür gibt es mehrere Gründe. Der erste Grund ist, dass ich komplett mit Linux arbeite, dementsprechend liefe deine Bibliothek nur mit wine als Layer dazwischen, etwas, was überhaupt keinen Sinn ergäbe. Der zweite Grund ist die Lizenz. Ich für meinen Teil veröffentliche meine Bibliotheken als Duallizenziert unter GPL/LGPL und MPL. Erstens habe ich da mehr Rechtssicherheit als bei einer selbst zusammengeschusterten Lizenz, die möglicherweise noch Rechtschreib- oder Übersetzungsfehler enthält. Zweitens ist das wohl die Lizenzierung die mir die größte Nutzerbasis bei bestmöglicher Wahrung meines geistigen Eigentums als OpenSource bietet. GPL/LGPL für diejenigen, die GPL-Bibliotheken verwenden oder die LGPL präferieren, MPL für alle anderen. Daher wäre für mich, falls ich denn eine Audiobibliothek bräuchte, Audorra schon allein wegen den oben genannten Punkten eher geeignet. Dass nebenbei auch noch (optional) mehr Formate unterstützt werden und ich auch noch statisch Linken kann, sei nur nebenbei erwähnt. Ein Vorteil, den ich bei Audorra schon gemerkt habe ist übrigens auch, dass ich Fehler im Code oder andere kleinere Probleme notfalls selber beheben und dem Autor zur Verfügung stellen kann. Ich frage mich übrigens, was für eine Audioanwendung du dir vorstellst, die nur OGG, FLAC und WAV öffnen kann…
Wie schon erwähnt ist Linux auch eher selten die Zielscheibe von kommerziellen Anbietern. Wenn überhaupt werden solche Titel erst im nach hinein zu Linux portiert beziehungsweise kompatibel gemacht. Daher sind die meisten Spiele unter Linux OpenSource-Projekte, mindestens aber Freeware. Weshalb sich Linux-Kompatibilität für deine Lib wohl erst lohnen würde, wenn du einen kommerziellen Abnehmer gefunden hast, der sein Projekt auch nach Linux portieren möchte, da du ja bisher keine GPL-kompatible Lizenz anbietest.
Ich finde es übrigens reichlich … merkwürdig, was du hier gerade tust. Vor zwei Jahren (wobei diese zeitliche Differenz nicht unbedingt zu deinen Lasten ausgelegt werden kann und soll, schließlich kann ein Projekt durchaus mal so sehr einschlafen, dass es nichts neues zu berichten gibt) hast du dein Projekt hier vorgestellt, wobei die beiden Posts in dem Thread (der gerade mal sechs Tage gelebt hat) deine einzigen waren. Jedenfalls bis du gestern hier wieder aufgetaucht bist und Kommentare zu dieser Bibliothek haben wolltest, die schon seit einiger Zeit in den dunklen Kellergewölben des Projekteforums vor sich hin fault. Um kurz zu verdeutlichen, was genau eigentlich das (mein) Problem ist. Grundsätzlich ists ja okay, dass du hier ein Projekt vorstellst und Kommentare möchtest. Somit ist es auch okay, dass du einen Thread im Meinungsforum erstellst (dazu ist es ja da), der als Rückfrage an die Community dient. Dass du in diesen Post Inhalte packst, die eigentlich eher in den Projektthread gehören (die Featureliste, der Link auf deine Projektseite, statt dessen wäre ein Link auf den (aktualisierten) Projektthread angebrachter), ist zwar nicht perfekt, aber wer ist das schon. Ich finde es nur nicht okay, dass du DGL quasi allein als Werbeplattform für deine (closed source) Bibliothek missbrauchst, was sich darin zeigt, dass du mit deinem Account einzig und allein den Projektthread und diesen Meinungsthread erstellt hast (was übrigens gegen die expliziten Regeln des Projekteforums verstößt).
Ich kann dennoch verstehen, dass du nach Feedback suchst. Viele Fehler habe ich in Thorium auch erst gefunden, nachdem Wilson angefangen hat, es zu benutzen. Und das hoffe ich dir gegeben zu haben. Meinen Respekt übrigens, dass du ruhig bleibst, obwohl deine Bibliothek hier gerade ziemlich schlechte Kritik kassiert.
greetings
_________________ 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: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Da TAK in der Branchearbeitet weiß er es vielleicht besser, aber ich fantasier mal aus meiner Praxiserfahrung:
Wenn ich eine Lib habe und in deren Umfeld mal Debugging anfällt, dann hasse ich es, den Fremd Code nicht zu haben. Zumindest leserechte.
Wenn du eine Firma willst, die deinen Code nutzten soll, dann mach das doch so, dass sie den Code zur Einsicht miterhält allerdings ausdrücklich nicht das Recht diesen Code in zu verändern bzw. anders einzusetzen als mit dir abgesprochen.
Du provitierst dabei davon, dass sie eventuelle Bugs in deiem Code entdecken können und dich daraufhin informieren, was zu fixen ist. Gleichzeitig haben sie die Sicherheit, dass sich in deinem Code keine Hintertüren oder Performancefallen verbergen.
Zum Kommentar vonHorazont: Ich dachte auch, dass der Thread eigentlich ein Zeichen ist, dass du das Projekteforum nicht gaz verstanden hast. s geht darum sein Projekthier etwas zu Dokumentieren, den Fortschrittzu beschreiben.
Um mal ein plakatives Beispiel zuverwenden. Wenn hier EA vorbei kommt und einen Fifa2011 Thread aufmacht und dann schriebt "Das sind die Features, und es wurde in C++ geschrieben." dann ist das nicht Sinn der Sache.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
danke nochmal für das Feedback. Ich werde mir mal anschauen, was ich bezüglich der Lizenzsituation machen kann. Ich habe mich hauptsächlich mit meiner Seite auseinandergesetzt (aber auch dafür gesorgt, dass die andere Seite nicht zuviel nachdenken muss, dazu später).
Horazont: Ich denke nicht dass mein Lib hier irgendwie verrissen wird. Die Postings waren bisher sehr sachlich, allerdings habe ich das Gefühl, dass Du Dich irgendwie angegriffen fühlst, ich kann aber nicht wirklich erkennen warum. Schauen wir uns mal die Lizenzsituation an. Bei Audorra hast Du zwar die Wahl bei der Lizenz, aber bist Du Dir bewusst, dass dies nicht alles abdeckt? Sowohl MPEG als auch MP3 sind abgabepflichtige Formate. Bei MP3 weiß ich sogar sehr genau, dass der Entwickler eines Libraries, der Fremddekoder nutzt, abgabepflichtig ist. Weißt Du, dass Du als Nutzer der Lib ab einer gewissen Menge von verkauften/verschenkten Menge ebenso Abgaben zahlen musst? Diese Frage scheint mir hier völlig offen, die vermeintliche Lizenzsicherheit ist durch die Formatvielfalt dahin. Ich kann hier keinen Vorteil entdecken. Davon abgesehen steht es dank dem API jedem frei, weitere Formate hinzuzufügen. Siehe meinen alten Thread, bei dem ich einen ziemlich umfangreichen Dekoder extern anbinde. (Den ich gelöscht wägte. Danke.)
Um den Projektfortschritt kümmere ich mich noch. Die Situation: Vor 2 Jahren habe ich mit meinem Job angefangen und entsprechend zwar am Projekt gearbeitet, aber zu viele Baustellen aufgerissen. Und betrachtet es auch einmal anders herum: Ich habe kein Feedback bekommen, also habe ich auch nicht mehr gepostet.
Guitar Hero: Den Code gibt's nach dem aktuellen Lizenzmodell bei einem kleinen Zusatzobolus. Das Schöne ist, dass man in Delphi nur die Units austauschen muss und sonst nichts. Der Code wird nach außen (als DLL) so repräsentiert, wie er auch intern funktioniert
Die Feedbacklosigkeit bei dir hat meiner Meinung nach 3 Gründe. 1. eine Flaute Manchmal ist im Forum irgendwie weniger los als ein andern mal. Wenn man in so einem Zeitraum was schreibt, geht das gerne mal unter. 2. Umfang deiner Projektvorstellung Schau dir mal den Projektthread von Audorra an. Lang, viel erklärt, ein wenig Hintergrundwissen, Bilder, etc. Zudem hällt uns igel457 auf dem laufenden. Die meisten Projekte beginnen nicht fertig. Meist hat man eine Idee und den festen Wunsch ein(e) Spiel/Projekt/Engine zu basteln. Dann erstellt man einen Projektthread und jeder, der will, kann den Fortschritt sehen. So ein Forum ist mehr als ein Frage-Antwort-Pool, hier spielen auch soziale Faktoren mit rein. 3. Die "Umgebungsvariablen" deines Projekts Damit meine ich das, was schon angesprochen wurde. Open Source, Linux und der ganze Kram. Halt das, was "die Leute" nicht anspricht.
Zu MP3 sag ich einfach mal nichts. Das wirst du am besten wissen und ich diskutiere auch oft genug gewisse Dinge in meinen Projekten nicht. Die 3 Punkte, die ich genannt haben, gehen natürlich auch ineinander über, das ist klar.
Ich hoffe, wir können dir helfen, aber versteh bitte auch Horazont, dass er u.U. leicht aggressiv rüberkommt. Er spricht hier stellvertretend als Moderator für einen Großteil des Forums. Bedenke, dass du hier nur dein Projekt vorstellst. Mehr nicht. Flash hat es mit dem EA-Beispiel auch gut getroffen. Die Projektecke gibt gerne Hinweise, Tipps und Feedback. Wenn die Leute sich aber am sozialen Leben im Forum beteiligen, hat man bessere Chancen, denn das ist Sinn und Zweck dieses Unterforums: Projekte von Mitgliedern des Forums, nicht Mitglied werden, um ein Projekt vorzustellen.
LG Ziz
Edit: Vielleicht nochmal ein paar "positive" Worte. Das Projekt an sich klingt interessant, nur dass das "Windows only" für mich halt ein No Go ist. Hast du vielleicht ein paar Spiele/Anwendungen, die deine Bibliothek verwendet haben? Schau dir ruhig auch mal die anderen Projektthreads an, dann siehst du, wie man die auf unterschiedliche Art und Weise führen kann. Du könntest dich auch persönlich mal vorstellen in einem Vorstellungsthread im entsprechenden Unterforum.
_________________ Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut. Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’. Und du schaust mich an und fragst ob ich das kann. Und ich denk, ich werd' mich ändern irgendwann. _________________Farin Urlaub - Bewegungslos
Registriert: So Mai 11, 2003 10:36 Beiträge: 285 Wohnort: Oldenburg
Programmiersprache: Object Pascal
Ich schließe mich dem, was Ziz gesagt an und ergänzte es mal: Für ein 3D Spiel ist deine Lib gar nicht mal so schlecht. Da kann man denke ich gut auf OGG oder auf freie Formate setzten. Wenn ich jedoch ein Audio Player schreiben wollte(Betonung auf Audio), ist die Lib ungeeignet. Ich habe insgesamt ca 5 Audio & Multimedia Bibliotheken unter Lazrus erfolgreich Testen können. Einige davon Unterstützen auch Video Formate. Alle haben jedoch eins gemeinsam: Die unterstützen viel mehr Formate als deine Bibliothek, außerdem sind sie Plattform Unabhängig und bieten zusätzlich ein besser Lizen-Model an.
Daher noch mal die Frage: Welche Zielgruppe möchtest du ansteuern ? Die Hobby Entwickler wohl nicht.
_________________ MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Fähigkeit als Audio Bibliothek für Spiele: Deine Lib macht sich sehr gut als Bibliothek für Spiele, die Vorzüge von Ogg gegenüber mp3 sind wohl klar und als Publisher hätte ich keine Lust mp3 zu nehmen(der darf die Lizenzgebühren zahlen, die anhand der verkauften Boxen entsteht). Mp3 ist fest gefahren und veraltet, ogg ist ein container format, was ich hier lieber nochmal klar stellen will, in der regel meint man ja vorbis, wenn man ogg sagt. Vorbis ist der audiocodec für Musik aber ogg kann noch theora, speech und ein bischen mehr. Man kann ogg nutzen um eigene Formate rein zu packen, wie bei AVI oder mkv. Ogg kennt bits, bytes, chunks und timechunks, kann beliebig metadaten dran klemmen, wie zusatzinfos für rumblepad oder änhliches. Das wird heute noch garnicht genutzt aber ist vorgesehen und wird sich wohl auch bald etablieren, da den OpenSource Programmierer sowas einfach spaß macht.
Schutz des geistigen Eigentums: Es geht auch recht trivial, eine dual lizenz, welche Hauseigen ist(einfach wie bisher zum antesten öffentlich) und eine z.B. Apache2 mit einer NDA gekoppelt(zum ernsthaften entwickeln auf anfrage). Die NDA verbietet nicht nur das sprechen über sourcecode sondern auch die veröffentlichung von teilen. Diese kann man dann auch in verschiedenen Versionen bieten(Hobby free, Indie %Gewinnbeteiligung, Prof. fester Betrag mit möglichen Support).
Ob dies aber notwendig ist ^^. Ich glaube viele unterschätzen wieviel Geld sich mit Support und Spenden machen lässt. Blender 3D bezahlt, durch spenden, die Gehälter ganze Entwicklergruppen. Sollte ich also damit Geld machen wollen wäre eine Alternative das offen legen, einen stark reduzierten support(weit auseinander gezogende Docu update phasen und keine Forenhilfe). Spenden gut hervorheben und betonen das das Projekt davon lebt und was man durch spenden erwarten kann(z.B. ein Spendenpool für das portieren auf eine Platform). Support kann durch Foren und E-Mail in ABOs möglich werden aber da muss man gucken wie die Zeitlichen Möglichkeiten von dir da sind. Man kann auch einfach sich Addons ausdenken, die du als Shareware anbietest und wirfst die Basis-Lib einfach for free raus. Ideen wären hier Asset Manager(verwalten aller Sounds innerhalb eines Entwickler-Netzwerkes), Plugins für Max, Maya, Blender, die auf basis der EditorMeshes z.B. OcclusionAreas, Lautstärkeabsorbation, Scripting und ähnliches dem Designer in die Hand drückt. Bullet Physics hat heute z.B. ihre neue Version released und ihr bullet format erweitert. Man exportiert über ein Plugin die physikalisch wichtigen Meshes raus. In ein momentan noch in entwicklung befindlichen externen Editor kann man dann anfangen Physikalische Eigenschaften zu setzen und in echtzeit zu prüfen. Auf der letzten Siggraph gabs einige gute Papers zu neuen Technologien für künftige games(aktuell alles prototypen) musst mal im forum suchen, hatte alle links gepostet. Man sollte aber wirklich Windows, Linux, MacOSX support haben, sonnst ist das gribbeln in den fingern(es selber zu machen) einfach zu groß. Viele Leute kannst du bestimmt auch mit Microphone support und Features für diesen Bereich anlocken, da hier wirklich wenig passiert und die Libs die das gut können sind selten cross.
http://www.jenkinssoftware.com/Guck dir das mal an, Raknet ist die führende Lib in sachen Netzwerk für Games, viele größere Multiplayer Games im Kommerziellen Bereich nutzt es.
Datenklau wäre echt meine letzte sorge ^^.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Mir ist gerade noch was eingefallen. Sinnvoll sind Basisklassen für Playlist und Tags auslesen, Hintergrund-Musik ist wovon spiele leben. Eine Möglichkeit die Musik zu taggen und anhand von tags die Musik aus zu wählen. Der sinn dahinter ist die möglichkeit erstmal zur aktuellen Situation eine reihe von Titeln zu finden die passen würden und dann einen zu wählen und eine vorher ausgewählte übergangsstelle ab zu warten und dann auf den Track um zu steigen. Solch ein dynamisches Sound system nutzt z.B. Gothic3 um passende Musik für Kampf, "langweiliges rumlatchen", "Achtung feinde in der nähe" oder andere Situationen genau richtig zu liegen. Wenn du dann noch als Kommerzielle Lösung ein Tool anbietest was potenzielle übergänge erkennt(stellen mit geringer lautstärke oder längeren pausen) und man dann nur noch diese passend taggen muss(mit welchen track passt es und welche kategorie ist es), dann ist das mehr als nützlich.
edit:Der Soundtechniker von Gothic3 hat alle Lieder mehrfach anhören müssen, passende stellen raus gesucht und dann wieder alle anderen lieder angehört und dort passende übergangsstellen gesucht. Ziemlich aufwändig so ohne Helferlein in Form von Software.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.