Sign in to follow this  

Yagl - yet another game programming library

This topic is 4351 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

hello, i've been developing a game programming library in the past 1.5 months which features the following: + 2D graphics module based on OpenGL and GLfw that can be easily integrated with 3D gl applications ( for example draw huds etc., it will preserve any changed opengl states ), the module also supports loading of windows bmp and png files plus using ttf fonts for drawing. you can use it for a 2D engine too as it features a lot of different blitter methods ( normal, scaled, rotated etc. ) and a few basic drawing primitives. all drawing operations allow alpha blending. + 3D sound module based on OpenAL, libogg/vorbis, libsndfile that allows you to play memory buffered samples or streaming from files and position all audio output in 3D. Given OpenAL as a base it also allows simulating the doppler effect. capable of loading and streaming ogg, wav, au, snd and other wavelet formats. + input module featuring buffered unicode keyboard input ( for textboxes etc. ), multikeypress keyboard input ( e.g. controlling units, wasd :) ), mouse input ( x, y axis, mousewheel, 3 buttons ) and up to 16 connected joysticks/gamepads with up to 6 axis and 32-buttons + a networking module based on winsocks/berkley socks using the tcp protocol ( n o udp support for the moment ). + crossplattform, for now linux and windows 32 you can find out more about yagl at http://goddess.selfip.com/yagl all the above features are implemented, it's originally written in c++ but there are a c and FreeBASIC wrapper to for possible usage with other languages. the main design goal was to have a very easy to use interface and a library that will ease a lot of the common pains you experience with sdl and similar libraries ( pains is an exageration of course :) ). full sourcecode doxygen documentation is available plus a programmer's guide which for now only describes the c++ version ( however it is more than easy to derive translations for c and fb from this guide ). please note that yagl is only 1.5 months old and therefor in it's infancy. it is timewise impossible for me alone to write unittests for all modules ( which i haven't started yet, just done good old sample programs ) and it's also hard to write all the documentation,website etc. stuff besides reallife. so please keep that i mind when you bash the hell out of Yagl :P. in closing thanks for reading this and i hope you may find Yagl a bit usefull edit: i forgot one thing. anyone bored enough to help me out is more then welcome to do so. i'm mostly lacking coders that help me maintain the different versions ( c, c++, fb, win32, linux ). the source code is not that bad after all ( const correctness is something i haven't spent a lot of attention to, shame on me ) and it should be fairly easy to contribute. enough from me now :) [Edited by - marzec on January 12, 2006 6:28:01 PM]

Share this post


Link to post
Share on other sites
Am I the only one who really hates software titles beginning with "Yet another..."? It's like even the author doesn't think it's that great. :|

(BTW... I use Allegro and think it's great.)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
good point :p

allegro is not bad, but i don't like the interface and it can't compete in terms of speed ( from a couple of benches not even to SDL ). allegrogl is a little better imo.

( can't loggin for some reason.. )

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
that's of course a matter of opinion. personally i think that hardware acceleration is pretty much standard on the pc plattform nowadays and not using the capabilities of the hardware is inefficient. also, hardware accelerated graphics is nothing introduced by 3d accelerators. 2d hardware accelerated graphics have been around for quiet a long time on pc based machines ( i'm don't know much about apple machines and the like ). i remember having a cirrus logic with 4mb of vram back in 1994 which had build in acceleration for simple drawing primitives like lines etc. that you could access via an extended vga bios.

anyways, from what i remember even allegro uses hardware accelerated blitting where possible. given that opengl will emulate missing hardware features yagl will run on anything that is comforming to the opengl 1.1 standard and a lot of gfx cards are.

personally i don't want to waste cpu cycles for 2d graphics if my 200€ gfx card can do that instead. i like my cpu to do other things like a.i. and physics :) but as i said a matter of opinion

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
the lib is now under zlib license. i'm not sure wheter i treated the license business of the 3rd party libs i use correctly. so if somebody could give me some tips, i have a licenses folder in my doc folder consisting of this files

http://opensvn.csie.org/gamelibpp/doc/licenses/

is this the correct way?

i also got rid of a couple of minor bugs and the site is now fully up and running. i could still need a few helping hands for various things like correcting the documentation, translation, writting samples etc.

but then again i'd be more than happy to know that some of you actually had a look at this thing. i'm pretty aware that there's well established alternatives out there thus the name :)

Share this post


Link to post
Share on other sites
Tip: I strongly suggest that you re-think the structure of the HTML manual, with the "Page 1", "Page 2", "Page 3" etc. style. This doesn't exactly give one a good overview.

Just a little comment that I thought of when looking at it.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
ack. the html version of the programmer's guide suck layout wise. i used ghostscript to convert the pdf version to html but the options it gives aren't the best. i will come up with a better indexed version when i find the time. thanks for pointing out and having a look at it

Share this post


Link to post
Share on other sites
i updated the site a bit and added a few demos Z!re a crazy swedish coder chick ( at least she pretends to be one :p ) wrote. here's couple of images from small applications written with yagl that might possibly be interesting.

a small boring asteroids3d "clone" ( not really.. ) written for a fun 48h compo


a firedemo written by Z!re


some weird colorfull stuff, again by Z!re


i could really need more applications written with yagl of that kind. i'm afraid that until february i don't have the time to code something like this. i'd be happy if some people here would take a bit of their time to throw something quick together and test yagl a little bit.

i'll probably release the c and c++ win32 version of yagl this weekend, i just didn't have the time yet to zip it all up nicely ( lazy makefile writer... ).

you can find links to the binaries and sources of this apps here

Share this post


Link to post
Share on other sites
yagl has a vc6 port now. i got to get a vc7 and vc8 student version before i can try it with those but i don't think that there should be any major problems :)

Share this post


Link to post
Share on other sites
yagl now also works on linux, i have yet to create scripts for it as i will distribute it in src form only on linux. i'm also planning on switching to dynamical linking and will start giving revision numbers. this will all happen in february as i have a whole lot of stuff todo for univ. first.

i can need a helping hand here and there, see this forum thread

a couple of projects have been started using yagl already and the site received around 400 unique hits in the first 6 days, so i consider this a good development :) more replies and suggestions/feature requests/bug reports would be appreciated however.

--
find yagl here...

Share this post


Link to post
Share on other sites
Sign in to follow this