yagl

Latest News
Features
Projects/Screenshots
Documentation
Downloads
Forum
Links
Contact


Valid HTML 4.01 Transitional

visitors: 11417
About
yagl is a high-performance 2D game programming library based on OpenGL and OpenAL. Its purpose is to be a fast, easy-to-use general-purpose game development tool. It is completely object-oriented and supports fast graphic blitters, easy integration with OpenGL, 3D sound, keyboard, mouse and gamepad/joystick input. Also, wrappers for C and FreeBASIC exist making it attractive for procedural languages too. Best of all, yagl is free, and released under the zlib License.

Latest News
Dec 19th, 2008
A header port made by Conexion is now available making it possible to use YAGL with FreeBASIC .20b. Grab it in the Downloads section! -J. Pihl

May 22nd, 2006
The Yagl site and forums are back up after the recent downtime. The downtime was caused by a server move. All should work as before. -Z!re

April 19th, 2006
People interessted in taking over, and/or continuing the Yagl developement should make a post about that in the Yagl forums. For other Yagl questions, feel free to use the previously mentioned forum to post them on. I'm still here, and a few others still visit the site from time to time. This is a project too good to let die. -Z!re

March 11th, 2006
hi, long time no see. i was thinking about this for quiet some time now and i came to the conclusion that i have to give up all this cs related stuff to get back a reallife. i will not continue on this project for quiet some time, probably never. reallife is just a lot more rewarding and interesting then spending 99% of my time in front of a monitor. i appreciate all the work people did with and for yagl and i'm sorry for not continuing this. as imortis said on the forums, reallife comes first. however, yagl is opensource i'm more then willing to hand over all svn data to somebody willing to continue it, the source is well organized in my opinion and documented to an extend making it easy for people to understand what's going on. just leave me a mail at marzec at sbox dot tugraz dot at and i send you all the necessary data. well that's it.

February 14th, 2006
no news for quiet some time, i'm sorry i'm very busy with reallife business at the time spanning from a new job as a tutor at univ. to finishing my thesis and so on. i can not give a concrete date on the 0.1 release i'm sorry, i'm in the process of designing a possibly very nice feature which will alow to feed pcm data to the sound module direclty and loading from c-stdlib FILE pointers which might come in handy when using some sort of archive like the quake pak file format ( thx to eric for this request... ). so, i have not given up yagl i'm just busy with higher priority stuff atm.

February 10th, 2006
new revision Yagl 0.0.7b for c/fb on windows. this revision fixes a bug i introduced with tinting which makes me look like an ass. i just added the feature and forgot about an integral part of it. thanks to coderjeff this has been fixed and is now available for download. big thanks again to coderjeff for helping me out and cleaning up my mess and smb productions for pointing out the problem on the forums.

February 10th, 2006
it's been exactly a month since i first put a news brief here. seeing that the counter already reached over a thousand hits i thought it's time to throw out some thank yous. in case i miss someone in the list feel free to smack me, a lot of people are involved in this little project and it's really hard to keep track of all of them :):

* nodtveidt ( aka Nek, aka Necrohosian, aka Daddy ) for helping me on a shitload of things including: writting samples, pointing out a ton of bugs ( metaphorically speaking :p ), giving Yagl it's name and writting the framework for the Yagl webpage. He also spammed a lot of forums and is the creator of the Yagl goomba signature which i personally love :p

* Blitz, for giving a shitload of ideas and most of all creating a working vc2003 workspace for yagl plus making it a dynamic lib for that compiler.

* Drv, for writting the Bitmap File Decoder ( where's my 8-bit paletted mode code snippet! just joking :p ), helped me out with a ssh account on his lunix machine, giving ideas, ass kicking and then some.

* shiftlynx for also contributing some code to the core, motivation and testing it on lunix. he's also currently writting a package/distribution managment programm which i will benefit from a huge load ( making those distris i put out frequently is a tedious task still even though i have my fancy bash script :p ).

* Zire, for going insane and using Yagl instead of SDL for her never ending FieldView project. She therefor is awared the bravery cross. Also did a shitload of testing, wrote amazing demos i still couldn't figure out and is swedish! Also part of the "motivation" team. also gave me precious webspace on her super duper funky infiltrated server. ty a lot ms.

* Shadowolf, for giving ideas, samples and huge load of motivation

* CoderJeff for finding bugs giving ideas and suggestions and being one of the first people using Yagl in a bigger project. Contributed to the source core with valuable additions to the font module. Also a frequent contributor to the Yagl forums ( mainly feature request and bug report so very helpfull :) ).

* TheDarkJay for writting an easy to understand little sample which i will include in the next release i promise :p Also found a couple of bugs

* memfr0b on #opengl on freenode for helping me out patiently with some opengl related projects.

* programmierer from the german fb community for testing and being the first german to use yagl :p

* lutz_ifer from the german fb community for translating the ( badly written ) user guide to german.

* in general the ppl of #badlogic for pretending to not being annoyed when i rant about yet another depressing episode with yagl.

enough asslicking

February 9th, 2006
new revision Yagl 0.0.7 for c/fb on windows. the last feature for teh gfxmodule has been added that's needed for 0.1 being tinting ( as proposed on the forums ). i'm pretty happy now with the gfxmodule even though there's still functionality that i'd like to have ( rotated/scaled text, rotation and scaling around a pivot point etc. ). however i have to make a feature freeze at some point and the current methods already allow the user to do a shitload of things. now there's still work left for 0.1 being mostly writting samples, catching up on the linux side ( haven't tested stuff there since 0.0.4 ) and revising the docs and translating them to other languages. your help would be very appreciated.

February 8th, 2006
new revision Yagl 0.0.6 for c/fb on windows. a minor bug has been fixed in Yagl::GfxDevice::putPixel/getPixel and this has been introduced: direct surface access! yes, finally i stopped being lazy and implemented the long awaited feature. see the changelog and the userguide for more details. note however that given the nature of yagl surfaces reading and writting operations are performance intense so use them with care.

February 5th, 2006
new revision Yagl 0.0.5 for c/fb on windows. this revision features a few new additional methods ( vsynching, slow framebuffer access, load from file/memory specifying a colorkey ) and changes the behaviour of two methods namely: Yagl::GfxDevice::loadFile/loadFromMemory. up until now those two methods did colorkeying intrinsically. this is no longer true. if you want to colorkey a certain color at load time you have to use the Yagl::GfxDevice::loadXXXColorKeyed methods. note that it is suggested to use black as the color of all completely transparent pixels ( that is pixels with alpha = 0 ) otherwise you will get nasty artifacts when scaling/rotating your surfaces. you can find more information of what's been changed/fixed/added in the changelog. Big thanks to coderjeff for contributing to the yagl code base, he added to usefull methods that allow you to get the advance ( more or less the width of a glyph ) and the horizontal bearing ( aka left, the offset of the glyph within the advance range ) for a specific glyph.

February 5th, 2006
anyone who wants to contribute here's a list of things that needs to be done for release 0.1, it's mostly about writting samples and documentation so if you find the time and want to help out post in this thread below and state what you want to contribute.

http://goddess.selfip.com/yagl/forum/viewtopic.php?p=65#65

seeing the above list there's not a lot left coding wise but more on the test and documentation side of things. please help where you can so we can put out a 0.1 release in february as i promised :p

February 2nd, 2006
new revision Yagl 0.0.4 for c/fb on windows. it should really be 0.0.3d as the newly added features are not yet accessable by the fb and c wrapper but i figured it would be reason enough to go to a new revision number. anyways, this release features a couple of fixes that you can read about in the changelog. i'm also sorry that i did not include the samples i asked people for yet, i will do so as soon as i find the time. i have to test them all in win32 and linux, write automated compilation etc. etc. so it's a bit tedious. please don't be pissed i will include them and i appreciate all your help.

January 28th, 2006
no new revision today :). i just wanted to say that i didn't find the time yet to fix the forum. somebody broke into the server and deleted files and one table file of the forum got deleted by accident. however, you should still be able to post even though an error is reported. i will try to fix this as soon as possible, sorry for any inconveniences. edit: the forums have been fixed, until the next attack...

January 27th, 2006
new revision Yagl 0.0.3c for c/fb on windows. Again bugfixes, again related to the blitters. i don't want to get into the specifics, but opengl and pixel perfect blitting with linear interpolation ( box filter ) is a bitch. or i am to dumb :p. anyways crap the latest package and yagl away. thanks to memfr0b which helped me out on the blitter problem. you can find a link to his page and awesome work in the links section.

January 26th, 2006
new revision Yagl 0.0.3b for c/fb on windows. note that has no new features thus the 0.0.3b. it fixes one severe bug located in the png decoder ( i was drunk when i coded this... ) and also made the border problem with the new interpolation method history. i will elaborate on that on the forums... when i get them to work again... we got *hacked* ... thank you very much dipshit :p

January 25th, 2006
lots of things done since yesterday :) not really. i fixed up a few things ( mainly missing functions in the wrapper, me lazy.. ) and added a new method to the font class which will return you the dimensions of a certain text would have when printed with that font on screen. you can find a win32 demo here. i've also added Nodtveidts 2D Fighting game he writes with the help of yagl to the projects page, definetly check it out. note however that the page to the game is currently under construction so don't expect to much atm. i know i said i'd put up the linux version of the wrappers yesterday, i still couldn't find the time to test the packages yet i'm really sorry. i also consider including the glfw sources which are needed on windows in the package as it seems that glfw is not part of any packaging system on linux ( yet ). 0.0.4 is on it's way and will hopefully give you access to the surfaces and the screen ( which will possibly be slow though due to the nature of how gl will work with that.. )

January 24th, 2006
new release Yagl 0.0.3 for c/fb on windows is up, see the download section. this version links to freetype statically now so the dll is 2mb instead of 1.2, however the freetype.dll is not needed anymore resulting in the same size roughly. besides that a lot of things happened under the hood. the interpolation issue you might have read about in the dev forum is now solved. you will still notice a pink border if you use an image and colorkey it with pink, however the border is now barely noticeable. after talks to some people that actually know opengl heh i can be quiet sure now that the way i do it is the only possible and optimal way. you as the end user have to watch out for sharp borders in sprites that is, pixels that have an alpha of 0 should also have a color of 0 this will completely make the border vanish.

i also fixed the clipping code as stated in the one dev forum thread, it works great now by doing a scissors test. you can now also issue several setClippingRegion commands between Yagl::GfxDevice::clear() and Yagl::GfxDevice::swapBuffers() and they will all have an effect. overall yagl starts to stabilize even though there's daily surprises which can be fixed fast though. the linux port is still not up i know, i first have to find someone willing to help me test it on a real machine as oposed to vmware. volunteers are welcome :)

January 22th, 2006
new release Yagl 0.0.2 for c/fb on windows is up, see the download section. all the dll issues some of you might have heard about are fixed now and i also made the blitters pixel perfect at the moment, beside a few other fixes ( not really fixes, rather optimizations ). download it, use it, report any bugs you find :), i'll upload the 0.0.2 sources for c/fb for linux today, i just need some sleep now :). please note that all the 0.0.x releases are preliminary releases, that is, testing releases i distribute so i have a broader testing base before releasing the first real version 0.1. so if you want to help me write programms with those releases and please report any problems on the forums. see the developer forums thread on needed fixes for 0.1 to have an overview of what has yet to be done.

January 21th, 2006
you can find the needed dlls in the download section now under yagl binaries

today marks a small milestone in the yagl development cycle as the windows version of yagl is now a dynamic link lib decreasing the executable size by a huge factor ( from 1.2mb to 48kb ). however, there's another dll now that you have to have in your path called libyagl.dll. it's 1.1mb big and compresses pretty well. the benefit here is that you only have to distribute the dll once ( unless you update it with a new yagl build ) and that you can then distribute the very small exe instead of one huge exe every time. you can find the 0.0.1 release for windows in the download section now. it does not feature any samples or the infamous note as it is a test build intended to be used mainly by ppl that are already familiar with yagl. all you have to link to from now on is the libyagl.a file in c, in fb everything stays the same. so enjoy this new downsized yagl package :). the linux version will be distributed as a source only package from now on featuring a small detection script that will tell you what dev libraries you need to install. i also succeeded compiling parts of yagl on mac ( namely the input and gfx module ), however this is a more than experimantal thing and unless i don't get access to a mac machine i won't be able to make a fullfleged port.

special thanks to Blitz who provided me with a vc2003 workspace for yagl and made yagl a dynamic link lib on that compiler ( and automatically for mingw too :p just needs some flags to gcc )

ps: first user reactions on the new yagl release ( rhianna, given birth by nodtveidt )
yeah


January 18th, 2006
no news for two days hehe... i'm currently in the process of fixing up all the stuff i posted in the developer forum. feel free to contribute. i cleaned and rewrote the complete buildsystem from scratch, it's now much more automatic and will easy my pains a little, that is compile and package all different distris. the visual c port will not be available in february unless some guy named Blitz gets his lazy ass up and helps me. the linux version will be distributed in source form from now on. incompatibilities with different stdlibs should be avoided that way. i also wrote a small script that will test wheter all needed developer libraries are installed on your system and report you any missing libs. i'm also coding a couple of simple examples that will get you started. i'm afraid i won't find the time to code any more advanced samples as i want to add features to yagl rather then write code samples. i hope some people can help me out there. the first official yagl release will come out on the 2nd of february if i get everything done in time ( already have scheduled a lot of stuff :p ). i will then start to version all packages in the x.x.x form. there might be new releases on a daily basis, nightly builds that is, that i will probably throw out even more than once per day. until then no further packages will be released so maybe use that time to help me out a little :)

January 16th, 2006
february is nearing and so is the first fullfeatured yagl release version 0.0.1. the thread in the forum here tells you what has to be done for the first release and gives you an overview of what is left. i will try to update it as often as possible possibly add or remove stuff from it. if you can help me with any of the points in that thread please leave me a message on the forums ( private message )

January 15th, 2006
i just updated both the linux and windows fb wrapper and fixed a few things. i recommend to get the latest version from the download page. i'm going to start giving the packages revision numbers soon so you can immediatly see wheter the package is new.

January 14th, 2006
Yagl works on linux now too, that is all versions ( c, fb, c++ ). you can download the linux fb wrapper from the download page. the c and c++ version will be available in february as they lack good examples atm. note that the linux version of yagl is dependant on a lot of devel libs which are listed in the note.txt file in the package. please report any problems in the forums

January 14th, 2006
I succeeded in compiling yagl with visual c++ 6 so this is a major step forward on the windows site :p. i'm also back home and can test yagl on linux again. i will still wait till february with the first release. a couple of things need cleanup, i gotta rewrite the installation instructions a bit etc. also a few more samples for the different ports would be niffty ( that was a call out to you people :) ). now i need a smoke...

January 13th, 2006
Z!re was so kind to provide us with two more new demos. one is an improved fire demo and the other is, well... see for yourself in the demo section. this site will receive it's 150th visitor today which makes me pretty glad. the forum is still a bit underpopulated which is probably due to the need for registration. note however that account activation is not needed so registering is a 5 seconds process really. let me know of your opinion on yagl, what is wrong, what is good, what would you add etc.

January 12th, 2006
updated the package for FreeBASIC and the svn. Fixed a couple of bugs, especially noteable: Screenmode changes are now cleanly handled ( thanks to coderJeff for pointing that out ) and behave as described in the programmer's guide, the pixel perfect drawing of rectangles ( Yagl::GfxDevice::box() ) works now too, only the line primitive needs a bit more work ( 4am here... ) which i'll probably do tomorrow. Z!re rewrote the fire demo which looks now a lot better, the firedemo is included in the FreeBASIC package now, i'll update the project/screenshot page tomorrow ( 4am, still :) ). Thanks to all the people giving advice, bug reports and promote Yagl, most of all to Nodtveidt ( again ). i need sleep now. edit: added license notes, yagl is now zlib. also added license texts for all the used 3rd party libraries plus links, see doc/licenses/

January 10th, 2006
Forum and most pages except for the links page up and running. the Downloads page features a link to the svn repository and to the freebasic wrapper. Feel free to join the Forums :)
thanks to Nodtveidt for providing me with the website framework ( and of course all the testing etc. etc. :p )