ZweiDe
Übersicht

Gehe zu Seite 1, 2, 3 ... 18, 19, 20 Weiter
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich arbeite derzeit an einem 2D-Game-Framework in C# / .Net 2.0 inklusive Plattformunabhängigkeit. Die Grafik läuft auf Basis von [Tao.]Glfw bzw. [Tao.]OpenGL, die Soundunterstützung habe ich durch irrKlang mit ins Boot geholt.
Ich kann noch nicht sagen, was konkret aus ZweiDe (Namensgebung inspiriert von Vertex' DreiDe-Modul) werden wird, da das ganze derzeit mehr ein Gelegenheitsprojekt ist, aber einige Features sind trotzdem schon drin: -> Volle Soundunterstützung (Nicht mein Verdienst, though. irrKlang ist klasse, musste es nur wrappen) -> Im Bereich der 2D-Darstellung kann ZweiDe im Wesentlichen alles, was auch BlitzMax kann, bei gleicher Performance. -> Zusätzlich: "GrabImageFast"-Äquivalent, Render2Texture über Framebuffer Objects, optionaler Depth-Buffer, drei zusätzliche BlendModes, optional Vertexcolor/Alpha für jede auf Vertices basierende Grafikoperation, manuelle Texturierung von Polygonen (/Quadstrips/Tristrips/Trifans/...), Anisotropische Filterung, echte Viewports -> Tasten- und Mausabfrage -> Unterstützung für BitMapFonts, Codeoptimierungen zur Textdarstellung. Im Idealfall: 4 Vertexpunkte und eine Textur pro Text gegenüber - soweit ich weiß - 4*"Textzeichen-Anzahl" Vertexpunkten und "Textzeichenanzahl" Texturen in BlitzMax. Wie dem auch sei, der Grund, warum ich das hier im WiP poste, ist, dass ich eine erste (sehr!) kleine Demo fertig hab. Benötigt das .Net-Framework 2.0, da ich kein Installationspaket anfertigen wollte (Das Ding trägt sich in die Registry ein, was ich euch nicht antun wollte), Sourcecode des Demoprogramms liegt bei. http://www.fetzenet.de/ZweiDe%20Demo.zip Feedback, Kritik & Kommentare sind natürlich willkommen! (Im übrigen auch FPS-Werte in Kombination mit dem jeweiligen Testsystem) |
||
![]() |
Apprauuuu |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, wenn die eben genannten Features alle funktionieren, dann ist das ja echt klasse!
Würde als alternaive Direct X verwenden aber das ist ja soweit ich weiß auch nicht plattformunabhängig... Aber die Demo will bei mir nicht so recht funktionieren. Es öffnet sich nen Fenster, etwas wird initialisiert aber dann schließt sich das Fenster wieder und das wars dann auch ![]() PS: Das ist ein BB-Forum ![]() |
||
Arbeitsstand:
Umprogrammierung von LOL³Warriors und LOL³Fighters in Bmax... LOL³Fighters wird spielerisch noch mal ordentlich aufpoliert, um es Ligatauglich zu machen (zumindest für private Funligen von mir ^^) |
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Najaaa, es hat ja zumindest sporadisch auch was mit BlitzMax zu tun... ^^
Könntest du mir den Inhalt des LogFiles per PN schicken? Und dein System? Was die Plattformunabhängigkeit betrifft: Die ist bei .Net nicht von Haus aus gegeben, kann aber erreicht werden, wenn keines der Teilmodule auf einer bestimmten Plattform beharrt. Darauf, dass das nicht der Fall ist, habe ich geachtet. |
||
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Fetze hat Folgendes geschrieben: Ich arbeite derzeit an einem 2D-Game-Framework in C# / .Net 2.0 inklusive Plattformunabhängigkeit.
Widerspricht sich das nicht irgendwie? C# und Plattformunabhängigkeit? Wie willst du denn das ganze unter MacOS X kompilieren? Unter Linux würde es vielleicht noch mit Mono klappen, aber die Erfolgschancen sind auch da gering. hamZta |
||
Blog. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
C# war noch nie ein ernsthaftes Crossplattform Problem.
Das läuft mit Mono ohne Probleme und die TAO ist dafür explizit ausgelegt. Das einzige "Crossplattformproblem" ist Windows.Forms der .NET 2.0. Das existiert einfach in Mono nicht oder geht nicht. Aber wenn man C# und .NET nur als Sprache und Runtime nutzt, nicht aber für die Oberfläche sollte es mit den aktuellen Mono Builds gehen. Split da Projektboard als auch die Programmierkategorien explizit Blitz sind. Smalltalk hingegen nicht ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hatte ich übersehen - ich hielt "Projekte" für unabhängig von der zugrundeliegenden Sprache, sorry! ^^
Gut, da das ganze dann nun doch ein eigener Thread ist.. ich würde mich sehr über einen allgemeinen System / Performance-Überblick freuen! Sprich: Wenn getestet, neben dem Kommentar bitte die durchschnittlichen FPS-Zahlen und das eigene System posten, wenn möglich ![]() |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
XPsp2 / AthlonXP 2600+ (Barton) / 6600GT (GS) -> 475 fps | ||
![]() |
Pdd |
![]() Antworten mit Zitat ![]() |
---|---|---|
XPsp2 / Athlon 64 X2 3800+ / X800 GTO -> ~670 FPS
btw: Sehr gute Arbeit! |
||
Lieber Apfel als Birne. |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
XpSp2 / Core²Duo 1,86Ghz / 2GB RAM / 8800 gtx ---> 3030 Frames | ||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Win XP SP2 / Athlon 64 3200+ / 1GB Ram / GeForce 6600GT --> 900 fps | ||
- Zuletzt bearbeitet von Hagbard am Di, März 16, 2010 15:24, insgesamt einmal bearbeitet
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
GeForce 8800GTX, Intel Dual Core 3Ghz. 2MB DDR2 Ram -> 1800 FPS Nette sache..... lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
MasterK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
schick schick. naja, ok. ein 2d framework, gibts sicher schon etliche brauchbare.
dennoch ![]() und nun noch ein cooles spiel draus machen. |
||
+++ www.masterk.de.vu +++
Lila FTW! |
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, ich habe mit auch deswegen eines begonnen, weil ich für C# / DotNet einfach keins gefunden hab, das plattformunabhängig ist und sowohl Grafik als auch Sound und Input-Kram drin hat. Insofern gibt es entweder noch nicht genug Frameworks dieser Kategorie oder sie sind gut genug versteckt *g*
Ich bin mittlerweile soweit fertig mit Grafik, Sound und Input-Funktionen und -Klassen. Fetze.Utility umfasst jetzt neben der LogFile-Klasse und den Strukturen für RGBA, HSVA, Point und Rect auch eine bisher kleine (!) Funktionssammlung sowie eine Struktur für 2D-Vektoren inklusive Operatorüberladung und Methoden zum Normalisieren, Skalarprodukt bilden, Länge und Winkel bestimmen. Ich habe das ganze noch nicht ausführlich im "Ernstfall" - sprich: Der Spieleprogrammierung - getestet, Funktionstüchtigkeit ist aber soweit ich das überblicken kann bisher schonmal gegeben. Daher werde ich mich wohl als nächstes an die GUI auf ZweiDe-Basis machen. Zuvor aber noch eine Frage: Bisher setze ich für TextHelper-Objekte zur einfachen und vor allem performanceoptimierten Nutzung der Textdarstellung FrameBufferObjects ein - es scheint jedoch auch noch Nutzer zu geben, deren Grafikkarten FrameBufferObjects völlig fremd sind, siehe Apprauuuu (Wir haben das per PN und LogFile geklärt). Kann ich FBO-Support bedingungslos vorraussetzen? Wenn nicht, müsste ich ein auf "GrabImageFast" (Eigentlich: ZweiDe.Texture.GetFromRC(...)) basierendes Fallback schreiben. Achja: Danke schonmal für eure Geschwindigkeitsmessungen ![]() Wer noch welche hat, gerne posten, je mehr desto besser! |
||
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe mich nun dafür entschieden, FBOs zur festen Vorraussetzung zu machen, weil sie einfach ungeheuer praktisch sind und die meisten Systeme, auf denen hin und wieder gespielt wird, sie wohl auch unterstützen.
Was die Entwicklung selbst betrifft: Es gibt ne neue Demo, falls wer testen will. www.fetzenet.de/ZweiDe%20Demo%20II.zip Neu ist unter anderem: ![]() Die sonstige Methode, solche Graka-unfreundlichen Grafiken entsprechend zu strecken und beim Zeichnen zu stauchen ist für Tiling-Verfahren nach wie vor drin, aber für alle Grafiken, die das nicht brauchen, gibt es die Möglichkeit, den übrigen Platz auf der nächstgrößeren Zweierpotenz-Textur mit einer Hintergrundfarbe (RGBA) auszufüllen und beim Zeichnen nur den von der eigentlichen Grafik beanspruchten Teil der Textur zu verwenden. ![]() Es gibt noch nicht viel zu sehen, aber man kann per Mausrad Fenster erstellen, sie herumschieben und skalieren. Was die Skins betrifft: In der Demo wird der Skin Fetze1.skn verwendet. Einfach mit dem Texteditor öffnen und mal mit den Werten rumspielen. (Das klappt übrigens auch mit den BitmapFont-.fnt-Dateien ![]() Prinzipiell funktioniert die GUI allerdings auch völlig ungeskinnt - es wird dann entsprechend mit Platzhaltergrafik gearbeitet. |
||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei der ersten Demo öffnet sich das Fenster und schließt sich wieder:Code: [AUSKLAPPEN] Initializing ZweiDe...
Glfw Version: 2.6.0 Loading Image Data... ERROR: Unhandled Exception: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. bei Tao.OpenGl.Gl.glGenFramebuffersEXT(Int32 n, Int32& framebuffers) bei Fetze.ZweiDe.ZweiDe.Texture.CreateRenderBuffer(Int32 flags) bei Fetze.ZweiDe.ZweiDe.Texture.SplitUp(Texture srcTex, Int32 partWidth, Int32 partHeight, Int32 maxNum, Boolean filledTiles) bei Fetze.ZweiDe.ZweiDe.Font.Load(String file, Int32 texflags, Single anisotropicLevel) bei Glfw_Test.Program.Main(String[] args) Bei der zweiten genauso:Code: [AUSKLAPPEN] Initializing ZweiDe...
Glfw Version: 2.6.0 Initializing Fenster... Loading Image Data... Windows XP SP2, Intel P4, ATI Radeon 9250 |
||
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay - dann hast du eines der Systeme, die mit FBOs nicht klarkommen. Der Fehler tritt, soweit ich das anhand der Fehlermeldung überblicken kann, bei der Generierung der Framebuffer zur Aufteilung der Bitmapfont-Grafikdateien in einzelne Glyph-Texturen auf.
Dass bei der neuen Demo keine Exception mehr im Logfile steht, liegt daran, dass ich offenbar vergessen hab, die RELEASEMODE-Precompilerdirektive zu setzen. Die sorgt dafür, dass die Exceptions i nErmangelung eines laufenden Debuggers ins Logfile geschrieben werden. Dass dein System offenbar nicht Framebuffer-fähig ist, wundert mich allerdings.. deine Grafikkarte klingt doch ziemlich neu ôo Edit: Hast du aktuelle Ati-Treiber installiert? Aus einem Wiki-Artikel entnehme ich: "In der Vergangenheit hatten auch ATI Treiber einige Probleme mit ihnen, dies dürfte aber der Vergangenheit angehören." |
||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab sie installiert, grade noch mal, aber es funktioniert immer noch nicht.
EDIT: Neu ist gut. Also der PC ist von Anfang 2005 oder Ende 2004, es ist ein Büro-Rechner, also dürfte die Grafikkarte acu von 2004 sein. ebay: Hier steht Erscheinungsdatum Juli 2004, könnte stimmen. |
||
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ups. Dann hab ich mich von der imposanten Zahl hinter "Radeon" verwirren lassen. Dämliche Produktnamen.
Gut, also wenn das so ist, kann ich das verkraften. Was die Kompatibilität betrifft arbeitet die Zeit in dieser Hinsicht für mich. |
||
![]() |
FetzeBetreff: Esiema |
![]() Antworten mit Zitat ![]() |
---|---|---|
Für ein Biologie-Referat programmiere ich gerade an einer Ameisensimulation namens Esiema (in C#) herum, die auf Fetze.ZweiDe, Fetze.Utility und Fetze.Fenster sowie natürlich dem .Net-Framework basiert. Wenn sie fertig ist, soll sie Schwarmverhalten / Schwarmintelligenz im Bezug auf Ameisenstraßen / Nahrungssuche demonstrieren. Dabei hat jede Ameise selbst wie in der Realität kaum oder keine Intelligenz sowie keine Kenntnis vom Großen Ganzen, durch ihre Interaktion mit ihrer Umwelt und anderen Ameisen verfolgt sie jedoch ohne ihr Wissen ein größeres Ziel - beispielsweise die Sicherstellung der Nahrungsmittelversorgung der Kolonie.
Bisher bin ich nur so weit gekommen, die Umwelt der Ameisen (Hidnernis / Kein Hindernis) sowie Wander- und Ausweichverhalten der Ameisen zu simulieren; Nest, Nahrungsquelle und der Rest der Verhaltensprogrammes werden noch folgen, vorrangig ging es mir um die grundlegende Simulation und Optimierung des Codes hinsichtlich Berechnungsperformance. Da das Testprogramm, das ich hier im Moment habe, schon sichtbare Ergebnisse zeigt, dachte ich mir, ich lads euch mal hoch. Hier ist es: www.fetzenet.de/Esiema%20Release%2028-11-07.zip Per Rechtsklick (Maustaste Gedrückt halten!) können Hindernisse erstellt werden, per Linksklick Ameisen. Wenn die Kollisionsabfrage oder die AusweichKI während oder kurz nach der Massenerstellung gigantischer Mengen von Ameisen (Linke Maustaste gedrückt halten) mal aussetzen sollte, dann ist das kein Bug - das Suchraster für Kollisionen wird nicht jedes Frame komplett geupdated sondern Stückchenweise auf Objektzahl basierend. Kommen nun ans Ende der Liste immer mehr Objekte hinzu, schneller als das Raster nachkommt, kann es zu Updateverzögerungen einzelner Objekte kommen. Das gibt sich aber schnell, wenn man aufhört, massenhaft Ameisen zu erstellen. Eine kleine Anmerkung: Dass sich "Ränder" um die Hindernisse bilden, in denen sich keine Ameisen befinden, ist kein Zeichen für zu große Kollisionsradien sondern die Veranschaulichung der AusweichKI der Ameisen. Dass sie so gut funktioniert hat sie übrigens keinen ausgeklügelten Algorithmen zu verdanken sondern lediglich drei virtuellen druckempfindlichen Fühlern und einer im Code fünfzeiligen Reaktion. Wer Lust hat, kann gerne Daten zur Performance (Ameisenzahl bei 80 FPS mit Hinderniszahl von rund 15 durchschnittlicher Größe) posten, ich freue mich drüber. Wäre gut, mal nen Überblick zu kriegen ![]() |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
4400 = 130 Fps Komm nicht unter 120 Fps ![]() "Leerlauf" = 5700 Fps Q6600 , 8800 GTX , 2000mb ram (gddr 2 , 800mhz) |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Gehe zu Seite 1, 2, 3 ... 18, 19, 20 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group