GLBasic forum

Main forum => GLBasic - en => Topic started by: skn3 on 2011-Sep-26

Title: Calling all frameworks and sprite systems...
Post by: skn3 on 2011-Sep-26
Hey,

Im developing an atlas/object/animation application and after a tweet on Twitter somone mentioned that I should look at supporting GLBasic. I have never used GLBasic before but I am very interested in supproting it.

Are there any framework/sprite system developers that have a speciffic atlas, sprite or animation file format you would like supported in my app?

Does GlBasic have any built in support for atlassheets?

Please let me know and I will try and add support for it.

http://www.skn3.com/about (contact details are here)

Here are a few screenshots from my development:
http://www.skn3.com/junk/delistack/objecty/objecty-screenshot14.png
http://www.skn3.com/junk/delistack/objecty/objecty-screenshot20.png
http://www.skn3.com/junk/delistack/objecty/objecty-screenshot22.png

Thanks,

Jon
Title: Re: Calling all frameworks and sprite systems...
Post by: MrTAToad on 2011-Sep-26
There is a 2D and 3D entity system.

Never heard of atlassheets, so I very, very much doubt it...  :P
Title: Re: Calling all frameworks and sprite systems...
Post by: caffeinekid on 2011-Sep-26
I believe it's a large texture/image with all your sprites and animations on taking up the smallest memory footprint they can and all being in one place so that the platform your code is running on doesn't have to keep swapping images/textures in and out of graphics memory?

In GLBasic terms I guess it would be like having a second index like when you load an anim, but being able to have frames of different sizes all on the same sprite sheet.

Title: Re: Calling all frameworks and sprite systems...
Post by: skn3 on 2011-Sep-26
Yeah caffeinekid is right, it's a way of packing your image data into single a texture. I probably called it by the wrong name as I have noticed that people tend to have different names: textureatlas, spritesheet, atlassheet, imagestrip, etc

Could you possibly explain the second index thing ? Im assuming I would have to write an exporter that generated GLBasic code as opposed to say an xml data file with coordinates in it?
Title: Re: Calling all frameworks and sprite systems...
Post by: Minion on 2011-Sep-26
Ive been using single sprite sheets for a while now, but manualy placing all sprites (and writing the cords down on a piece of paper ... how old school is that ?). Anything that gives me the ability to put all my sprites onto a single sheet and keep track of all cords so I can use them in-code would be no end of help for me ;)
Title: Re: Calling all frameworks and sprite systems...
Post by: Kitty Hello on 2011-Sep-26
For 2D there's LOADANIM/DRAWANIM, when the sprite sheet has fixed sizes per frame.
Title: Re: Calling all frameworks and sprite systems...
Post by: Minion on 2011-Sep-26
Quote from: Kitty Hello on 2011-Sep-26
For 2D there's LOADANIM/DRAWANIM, when the sprite sheet has fixed sizes per frame.

Thats OK if you have spritestripes/sheets for you anims, but ive started using a single sheet for everything I do now (its the only way I can get away with a single STARTPOLY/ENDPOLY per frame ;) )
Title: Re: Calling all frameworks and sprite systems...
Post by: MrTAToad on 2011-Sep-26
I haven't yet found a (decent) sprite sheet generator that imports sprites and then exports the coordinates of each sprite in a INI as opposed to a wretched XML file.

Hmmm...  =D
Title: Re: Calling all frameworks and sprite systems...
Post by: spicypixel on 2011-Sep-26
Hiya skn3, You may remember me from the Blitz forums as Zerosynapse :) Good to see you here bud.
Title: Re: Calling all frameworks and sprite systems...
Post by: skn3 on 2011-Sep-26
Hey Zero.. or ..Spicey, yes I do remember you, how are you doing :) ? Are you a GLBasic person these days then?

So from my understanding so far If I were to add a generic "ini" exporter that would be helpful?
And possibly a solution directy for BlitzGL that outputs code perhaps?

Title: Re: Calling all frameworks and sprite systems...
Post by: MrTAToad on 2011-Sep-26
Quote from: Ocean on 2011-Sep-26
Quote from: MrTAToad on 2011-Sep-26
I haven't yet found a (decent) sprite sheet generator that imports sprites and then exports the coordinates of each sprite in a INI as opposed to a wretched XML file.

Hmmm...  =D

Check out this thread:  http://www.glbasic.com/forum/index.php?topic=6935.msg56281#msg56281
Looks good - would be worth trying
Title: Re: Calling all frameworks and sprite systems...
Post by: bigtunacan on 2011-Sep-26
As Ocean mentioned there are a couple of recent posts related to this. Slydog wrote a texture atlas loader for DarkFunction and I've written one for Texture Packer. Code for both is here on the forum. There are at least 3 other tools out that do texture atlas generation, and personally Im not sure there is need for another. What features will be supported beyond the typical , most optimized packing, animations support, auto power of 2 sizing?

@MrTaToad, agreed xml is overkill for this stuff, but check out slydogs string tagging, basically he is ignoring the xml and treating lines as if they are a named list.
Title: Re: Calling all frameworks and sprite systems...
Post by: skn3 on 2011-Sep-26
Yeah there is definitely good packers already available but I havn't managed to find that offers all of these features at the same time:

Some have the features some have other features but i havnt food one that does it all so I am making it :)
Title: Re: Calling all frameworks and sprite systems...
Post by: spacefractal on 2011-Sep-27
a cool feature could been auto size to 50% or such, etc texture set at 2048x2048, but not all devices support that (1024x1024 is typical max).

For map editor I also use Tiled as editor (http://www.mapeditor.org/), which can output a xml format. Here I store them as a xml csv data, but could think some thing can been done here as well? We can also use POLYVECTOR to draw sprites in varied format as well, but you need to doing it your self.

So with POLYVECTOR command in mind, all things should been possible, but might take little time to "play" the format you choose to use.
Title: Re: Calling all frameworks and sprite systems...
Post by: Enigma on 2011-Sep-27
I've been looking at Tiled as well, seems like a really good map editor. There is no exporter for GLBasic though, so it has put me off using it.
Title: Re: Calling all frameworks and sprite systems...
Post by: skn3 on 2011-Sep-27
Quotea cool feature could been auto size to 50% or such, etc texture set at 2048x2048, but not all devices support that (1024x1024 is typical max).

For map editor I also use Tiled as editor (http://www.mapeditor.org/), which can output a xml format. Here I store them as a xml csv data, but could think some thing can been done here as well? We can also use POLYVECTOR to draw sprites in varied format as well, but you need to doing it your self.

So with POLYVECTOR command in mind, all things should been possible, but might take little time to "play" the format you choose to use.

Ok well I am definitely going to support GLBasic so I will look into the mentioned methods. With regards to a tile editor, the application I have written is not speciffic to an atlas, it is an application framework for editing/managing anything in a object/tree hierarchy. There can be different types of object in the system; currently there are atlas, atlasFrame, animation, animationFrame, character and category objects. Each object has the innards to allow a new "editor" for managing it. There are currently two editors, the atlas editor and the animation editor.

So short answer is that not currently going to support a tile map editor but its something that will definitely happen down the line.
Title: Re: Calling all frameworks and sprite systems...
Post by: AndreasLoew on 2011-Sep-27
@skn:

Things my TexturePacker 2.x already has from your list:

Additional things:

Things I am working on for the 3.0.0 update:

I don't want to stop you with your project - the only question is if the effort is worth working on it. I spend quite a big time and meanwhile working nearly full time on my tools TP & PE.
Title: Re: Calling all frameworks and sprite systems...
Post by: skn3 on 2011-Sep-27
Hey no worries I think you already have a good market share and I am sure there is enough room for some healthy competition. Texture Packer is good, and probably the nicest of the ones I saw out there but it just didn't have everything I needed.
Title: Re: Calling all frameworks and sprite systems...
Post by: AndreasLoew on 2011-Sep-27
I have no problems with competition - I just know how much time it is to keep the tool working and to enhance it.... When I started there was nothing similar - but I would have been glad paying some bucks for it instead of developing it all myself... meanwhile things changed but the support and development effort even grew leaving nearly no time for other projects.
Title: Re: Calling all frameworks and sprite systems...
Post by: skn3 on 2011-Sep-27
Thanks for the advice :)
Title: Re: Calling all frameworks and sprite systems...
Post by: spicypixel on 2011-Sep-27
Quote from: skn3 on 2011-Sep-26
Hey Zero.. or ..Spicey, yes I do remember you, how are you doing :) ? Are you a GLBasic person these days then?

Yeh I made the transition a while back and have been loving building stuff for the iOS :) I noticed the deli game on your website, good to see it's still living strong. I'm just about to release a new iPhone game called PlebZ, look out for it ;)
Title: Re: Calling all frameworks and sprite systems...
Post by: skn3 on 2011-Sep-28
Quote from: spicypixel on 2011-Sep-27
Quote from: skn3 on 2011-Sep-26
Hey Zero.. or ..Spicey, yes I do remember you, how are you doing :) ? Are you a GLBasic person these days then?

Yeh I made the transition a while back and have been loving building stuff for the iOS :) I noticed the deli game on your website, good to see it's still living strong. I'm just about to release a new iPhone game called PlebZ, look out for it ;)

Awesome I will definitely look out for it. Do you have any screenshots or anything :D ?
Title: Re: Calling all frameworks and sprite systems...
Post by: spicypixel on 2011-Sep-28
Quote from: skn3 on 2011-Sep-28
Awesome I will definitely look out for it. Do you have any screenshots or anything :D ?

I can do better than that you can try out the Beta if you wish :)
Download PlebZ BETA v0.9 (http://dl.dropbox.com/u/1324810/spicypixel/plebz-setup.exe)

Password for the Beta is "uberninja". Hope I don't take your thread off topic :-/
Title: Re: Calling all frameworks and sprite systems...
Post by: bigtunacan on 2011-Sep-29
@Andreas,

If you are still following this thread, I also really like spacefractal's idea

Quotecool feature could been auto size to 50% or such, etc texture set at 2048x2048, but not all devices support that (1024x1024 is typical max)

It would make it real easy for me to develop a game for something like the iPhone 3g+ with it's higher texture support; then when I'm finished just shrink the whole thing down until it fits within the texture limit of my target device. 

You would need some extra markup in there to track this so the original sizes could be maintained.  For example; in my library I maintain my entity width and height separate from the actual sprite width and height so I can map my textures seamlessly for scaling/zooming; which is common already.  If you allow scaling the texture set you could have an option such as "Track scaling in data output"... something to this affect so it could easily be implemented.

Title: Re: Calling all frameworks and sprite systems...
Post by: skn3 on 2011-Sep-29
Quote from: spicypixel on 2011-Sep-28
Quote from: skn3 on 2011-Sep-28
Awesome I will definitely look out for it. Do you have any screenshots or anything :D ?

I can do better than that you can try out the Beta if you wish :)
Download PlebZ BETA v0.9 (http://dl.dropbox.com/u/1324810/spicypixel/plebz-setup.exe)

Password for the Beta is "uberninja". Hope I don't take your thread off topic :-/

Hey thats nicely polished :D Seems like a nice fun casual game, I noticed that it was a bit tricky to move in the direction I wanted?
Title: Re: Calling all frameworks and sprite systems...
Post by: spicypixel on 2011-Sep-29
Quote from: skn3 on 2011-Sep-29
Hey thats nicely polished :D Seems like a nice fun casual game, I noticed that it was a bit tricky to move in the direction I wanted?

Yeh it's something that I initially had some issues with but now I find it quite easy. The main problem is I check two differing mousestates with a delay in between to ascertain direction. Too long a delay the game seems unresponsive and too short the movement difference can be wrong as you intend moving down but the X movement could be a pixel greater than the Y indicating a column movement. I tweaked as best I could but maybe I could try again :) Thanks for the nice comments though :)
Title: Re: Calling all frameworks and sprite systems...
Post by: darkFunction on 2011-Sep-29
Hey,

I'm the creator of darkFunction Editor ( http://www.darkfunction.com ). It's still a work in progress really and addresses more of a niche than Andrea's excellent tool Texture Packer.  I just wanted to highlight the differences...

TexturePacker undoubtedly is better currently for taking a bunch of images and creating a spritesheet from them. This is something darkFunction supports but not to the same degree. So if that's all you need then you are better off with TexturePacker.

Where darkFunction excels is taking a single large spritesheet image like the ones often found online and being able to very rapidly define a sheet. The animation editor then has the ability to use these sprites in an animation extremely flexibly- you're not limited to one sprite per frame.  This has a significant space-saving advantage, in that very complex animations can be built from small reusable parts, and there is no need to maintain images for every animation. An example of a mecha-robot-thing is shown on the website. A large robot is animated from lots of parts- if you wanted to use a single image for every frame of every animation the space used would be considerable- but with darkFunction Editor you just need to edit the image containing all the parts. This has the advantage of only ever needing to change one image to change every animation. And your artist doesn't need to be involved for you to tweak the animations. In a real-world game studio this is extremely efficient.

It is a work in progress and will be supporting many more formats soon. Rather than compete directly with TexturePacker (I have a full time job too) I will be allowing it to work with TexturePacker formats to give everyone the best of both worlds.

Sorry for the threadjack by the way. Just wanted to say hi, and thank you to Slydog for the import code.
Title: Re: Calling all frameworks and sprite systems...
Post by: Kitty Hello on 2011-Sep-29
Hi, and thanks for the tool. Both are really nice resources!