Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 09.01.2006, 17:38 Titel: yagl freebasic port | yet another gameprogramming library |
|
|
Hallo,
in den letzten beiden monaten hab ich eine game programming library gebastelt. ursprünglich in c++, jetzt gibts auch einen freebasic wrapper dazu der das graphic, input und soundmodul in freebasic verfügbar macht.
hier ein paar eckdaten:
Code: |
graphic module
+ 2D graphics basierend auf opengl, schneller als sdl/allegro/etc.
+ unterstützt line, box und solidbox als drawing primitives, komplett mit alpha blending ( man kann angeben wie "durchsichtig" das primitive ist, dahinterliegende pixel werden dann mit der farbe kombiniert )
+ zahllose blitter ( wie put in freebasic/qb ), alle bitmaps werden auf 32-bit aufgeblasen damit ist alpha blending und color keying möglich. es gibt normale, skalierende, rotierende und skalier rotier blitter.
+ font support für truetype fonts ( man kann z.B. windows fonts einbinden.. ) ebenfalls mit alphablending etc.
+ compatible mit OpenGL d.h. man kann alle oben angegebenen funktionen nahtlos mit OpenGL kombinieren ( z.B. 3d Objekte mit OpenGL zeichenen, HUD und sonstige anzeigen mit Yagl )
+ nativer support zum laden von 24-bit bmp files und 24/32-bit png files
input module
+ keyboard besitzt eine method die wie multikey in freebasic funktioniert sowie eine methode die wie inkey funktioniert, d.h. man kann sowohl mehrer tasten gleichzeitig als auch gebuffered keypresses abfragen. erstere methode is geeignet für steuerung zweite für texteingaben etc. Unicode support für die inkey ähnliche methode
+ mouse, 3 tasten ( left, right, middle ), y und y achse mousewheel abfragbar, mausposition setzbar
+ bis zu 16 joysticks unterstützt, jeweils 32 knöpfe und 6 achsen unterstützt
sound module
+ 3d sound basierend auf openal, d.h. sounds sind im 3d raum platzierbar
+ sounds können komplett in den speicher geladen und von dort abgespielt werden ( z.B. kleine sounds wie pistolenschüsse, schritte etc. ), größere sounds können von datein gestreamed werden ( z.B. hintergrund musik ).
+ natives laden von wav, snd, au und ogg files ( mp3 wirds nicht geben ogg > mp3 )
|
das ganze kommt mit dokumentation die jedoch zur zeit auf english und für die c++ version ist. das wird sich aber bald ändern so ich jemanden finde der sich opfert das zu übersetzen .
in der englischen community verwenden die lib schon einige leute, in der deutschen spielt sich programmierer schon damit herum.
zur zeit ist der wrapper für fb nur für windows erhältlich, das wird sich aber ab februar ändern wenn ich wieder meine volle entwicklungsumgebung hab.
bis dahin schauts euch doch mal an
http://ratatoskr.dragonhill.cc/public/projects/yaglfb.rar <- 4mb
http://ratatoskr.dragonhill.cc/public/projects/yaglfb.zip <- 6mb _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
Lutz Ifer Grillmeister
Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
Verfasst am: 09.01.2006, 20:13 Titel: |
|
|
Servus.
OpenGL is ne feine Sache, einschließlich der Sachen, die man auch 2D damit machen kann. Nen praktisches und einfach handhabbares Interface für FB wurde also quasi höchste Zeit.
Der hinter der Lib stehende Cpp-Code sieht gut aus, daher erwarte ich eigenltich recht wenig Bugs, nur finde ich die Umsetzung des OO-Charakters teilweise ein wenig holprig - vielleicht ließe sich das mit ein paar "defines" bzw. sonstigen Arten von Aliasen verschönen?
Drehbare Sprites, einfaches Laden von Grafiken, Einbinden von Fonts und Soundwiedergabe sind denke ich die für FB-Programmierer interessantesten Parts - Joystick und Maus wohl eher weniger.
Alles in Allem: Praktisch, praktisch, werde ich sicherlich das ein oder andere Mal dran denken, da ich mich sowieso in nächster Zeit stärker mit OpenGL befassen möchte.
Gruß
Lutz Ifer
ps.: Das Hantieren mit den .bat-Dateien erübrigt sich, wenn man die Inhalte der "inc", "lib" und "bin"-Ordner in sein FreeBasic-Verzeichnis einsortiert... |
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 09.01.2006, 20:29 Titel: |
|
|
erstmal danke für die antwort
bzgl. der umsetzung c++ -> fb: grund dafür ist die bessere übersetzbarkeit der c++ dokumentation nach fb. aus Yagl::GfxDevice::setScreenMode wird z.B. YaglGfxDevice_ScreenMode in fb usw. Das dass schreibtechnisch vll. nicht optimal ist sei dahingestellt. falls es wirklich störend ist brauch man im grunde nur selbst den .bi header verändern, d.h. die sub und function namen an die selbst gewünschten namen anpassen.
joystick und mousesupport sind in fb ja gut abfragbar mit den intrinsic functions, nachdem der wrapper aber gleichzeitig auch ein c wrapper für yagl is sind auch diese module enthalten, im fb wrapper halt eher aus gründen der vollständigheit.
zum Thema Bugs: ich kann aufgrund der größe und aufgrund des relativ geringen alters der bibliothek natürlich nicht ausschließen dass sich irgendwo ein bug versteckt, der memory leak detector und das logging haben bei all den testcases die ich für yagl geschrieben habe keine besonderheiten gezeigt. um bugs zu finden braucht man programme die bugs aufdecken, da ich das gesamte ding alleine entwickle is es halt schwierig alles zu testen. daher mein appel an die leute hier: schauts es euch an machts kleine test programme und sendets die mir vll. wenns euch gefällt wunderbar ansonsten danke fürs testen. _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 11.01.2006, 20:10 Titel: |
|
|
oi ja vergessen die links in den foren zu korrigieren, habs auf ein mini cms umgestellt nur mit html files arbeiten is leicht beschissen heh _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 14.01.2006, 08:38 Titel: |
|
|
mm, jo hob sehr viel um die ohren und bin ein wenig schlampig was die page betrifft. wird gleich geändert. gibts sonst niemanden hier den yagl interessiert ( und progger registrier dich vll. im yagl forum und zeig mal deine ergebnisse ) _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
Progger_X Mr. Lagg
Anmeldungsdatum: 24.11.2004 Beiträge: 784 Wohnort: Leipzig
|
Verfasst am: 14.01.2006, 12:39 Titel: |
|
|
Bitte nenn Progger in Zukunft Programmierer... |
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 14.01.2006, 16:04 Titel: |
|
|
Progger_X fühlt sich dürch progger angesprochen, daher sollst du programmierer schreiben wenn du programmierer meinst _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 14.01.2006, 19:38 Titel: |
|
|
jo schwerverbrechen hehe, mal schaun ob ich mich dran erinnere das nächste mal.
linux port fürn fb wrapper gibts jetzt auch siehe seite _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 14.01.2006, 22:37 Titel: |
|
|
Ich bin im forum schon angemeldet, seit dem du den Link in irc gepostet hast, aber unter dem Namen Michael. Meine Ergebnisse kommen später, erstmal muss ich noch ein bisschen weitermachen. Ich gucke aber hin und wieder im Forum vorbei, da da sehr schöne und brauchbare Beispielprogramme sind.
Michael _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 23.01.2006, 11:37 Titel: |
|
|
schon lang kein update mehr gepostet hier
yagl nähert sich der ersten offiziellen release version ( 0.1 ) und ist zur zeit in der 0.0.2 testing version zum download bereit gestellt. leute unter euch die yagl bereits verwenden sollten unbedingt auf diese version umsteigen, da sie zum einen nun eine dynamic link lib ist ( d.h. die exe datein schrumpfen dramatisch ) und zum anderen wieder einige fixes durchgeführt wurden. zu finden ist das ganze auf der yagl homepage http://goddess.selfip.com/yagl _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 23.01.2006, 16:32 Titel: |
|
|
Hallo.
Leider ist da schon wieder ein toter Link: http://goddess.selfip.com/yagl/downloads/yaglbin-win32-0.0.2.zip
Aber eigentlich braucht man das doch nicht, oder? Ist doch auch im FreeBASIC/C(++) Paket dabei.
Ist aber echt gut, dass das jetzt in einer DLL ist. Die anwendung ist um 700KB geschrumpft^^
Michael _________________
Code: | #include "signatur.bi" |
Zuletzt bearbeitet von Michael712 am 23.01.2006, 20:42, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 23.01.2006, 20:20 Titel: |
|
|
ya sorry der binary link is tot werd das sofort ändern. ich glaub filezilla is ein wenig doof ( oder ich bins... ) danke fürs testen _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
|