Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit/AppGameKit Studio Showcase / SpriteFX WIP - Animation system / spritesheet maker

Author
Message
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 2nd Jun 2012 22:55
Quote: "Seems like it's going to take some time for this tool to be done."

Not that long really. The work I've done so far took just over a week.

Quote: "I think I will make a small utility myself to just facilitate the job for my next project (right now I am hardcoding rotation data manually), and then use Spriter in the long run..."

That's up to you. I have a few handy functions if you decide to go along the parent / child rotation route (the way I've done it). The main one is my "rotateSpriteAbout" routine which rotates a sprite around a point by a given angle. I plan on putting it the UCF project but I can post it here if anyone wants it... here it is (it works in virtual resolution mode only in this format):


bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 2nd Jun 2012 23:01
Baxslash what I usually do is set the SpriteOffset of the child sprite to the same one of the parent sprite, so that they can rotate together.

For example if I have a head with a set of eyes, mouth, nose, ears hair, I set the spriteoffset of all elements to a position around the chin of the head...
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 2nd Jun 2012 23:50
That's a clever idea

I might need to think further on that but you might save a few calculations that way. You'd only have to make sure you set the child's position was updated and then edit the angle. The only pitfall I can see is when you want to rotate a child you have a complicated set of calcs to reset the offset point.

Swings and roundabouts as usual but I like your thinking

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 3rd Jun 2012 00:05
yes avoids the sin cos atan and sqrt which is good!

my formula is something like this:

sprite1 is the parent sprite
sprite2 is the child sprite

offsetx = agk::GetSpriteXByOffset(sprite1)-agk::GetSpriteX(sprite2);
offsety = agk::GetSpriteYByOffset(sprite1)-agk::GetSpriteY(sprite2);

then you set setspriteoffset to offsetx & offsety for the child sprite.

if you want to rotate the child sprite only you have to change spriteoffset again to some values within the child sprite.

i use this to rotate a group of sprites (like a head with eyes and nose) so it's very ideal.

right now i am doing all this manually which takes quite a lot of time, but my project is ready now, so it's ok.

that's why i was very enthusiastic about Spriter and Character Workshop. since I will be using Spriter with another HTML sdk, I thought I might also use it with AppGameKit if possible.

I am going to embark on a new project where I need A LOT of animations! But I can't wait for Spriter + AppGameKit integration, as that will take months....
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 3rd Jun 2012 00:13
Quote: "i use this to rotate a group of sprites (like a head with eyes and nose) so it's very ideal."

For a group I see no problem but if you have children of children then you will find you still need the sin cos calcs I think... although I've had a beer or two and I'm working it out using three pencils to illustrate the maths!

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 3rd Jun 2012 00:26
i have not gone that far, for this project i have just done.

for the next one i will need all the tricks in the book though!
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 3rd Jun 2012 01:29 Edited at: 3rd Jun 2012 01:37
i dont like spiters format I think they should of use sprite sheets instead. I think I want to restructure there format because it dose not work for me, and a sprite sheet will take less memory then loading a limb then another limb for every charactor. something simular to tiled file format maybe.

Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps.
Developed the tiled map engine seen on the showcase.
Veterian for the military.
MikeMax
AGK Academic Backer
12
Years of Service
User Offline
Joined: 13th Dec 2011
Location: Paris
Posted: 3rd Jun 2012 01:47
Quote: " and a sprite sheet will take less memory then loading a limb then another limb for every charactor."


it's right if you have only one character. But if limbs part are common to several characters , then you will save a lot of memory by reusing same images/limbs. And it permits to create a lot of different characters by combining differents limb images.
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 3rd Jun 2012 05:51 Edited at: 3rd Jun 2012 06:00
I decided I cant find a solution to my filesave and load in mfc I get alot of problems like it cant read files in the directory that the program is saved under. The rest of the files return the prompt and the file name just not under the folder that I use. and I cant get setfolder to work at all in windows. I tried making the save procedure a dll so it runs as a seperate program but it still has errors. Untill there solution to the current file problem of agk in teir 2 I don't know if mfc will work. here is the code i tried as a dll. This dill works with dark gdk but not agk so I think it be better if it were made in dark basic or dark gdk, but these interfaces dont have some commands that agk does.


Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps.
Developed the tiled map engine seen on the showcase.
Veterian for the military.
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 3rd Jun 2012 13:54
Spritesheets will take less memory if your sprite has 10 frames of animation.

Spriter is not designed for small game projects. It's for platformers and rpgs and shoot em ups with hundreds of character sprites, all with intricate animation.

Try doing an animated character with jumping, falling, shooting, running, flying combinations, using spritesheets! you will end up with 150 frames of animation and that's just 1 character!

Spriter will also support spritesheets in the release version.

2 graphic artists I know have already told me that they are already getting work requests from clients asking if they plan to use Spriter...
7RS
11
Years of Service
User Offline
Joined: 10th May 2012
Location:
Posted: 5th Jun 2012 17:21
Yeah is right, our game use for the main character more than 500 animation frames and is really difficult to manage them all... This tool like for spriter help a lot and we are thinking to add it.
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 5th Jun 2012 21:08
imagine 500 frames in a spritesheet!!!! unless the character is 64x64 pixels then it would be total overkill on mobile devices to do it using spritesheets. it has to be done programmatically, and this is where these tools come in handy.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 5th Jun 2012 21:19
I won't be re-writing this in C# for the time being. I plan on making some minor changes to make it useful, then I'll release a simple version. It will be possible to create characters, save animations for a character and create a spritesheet from any animation set. After that I will work on it a little at a time in-between other projects to get it ready for a major release.

I find it interesting that people are asking if spriter will be used when it isn't even finished yet... maybe there's more of a demand for this than I thought.

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 5th Jun 2012 23:24
Baxslash there is a BIG demand for Spriter in the 2d game artists and pixellers scene. It like when Photoshop was released for the first time!
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 6th Jun 2012 03:18
Better get my humble attempt finished then!

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 6th Jun 2012 08:04
Would love to see your tool as it looked really great in the preview you posted.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 6th Jun 2012 09:32
I did post an unfinished demo somewhere...

DennisW
15
Years of Service
User Offline
Joined: 15th Jun 2008
Location: Ohio
Posted: 6th Jun 2012 16:45
@ baxslash
I did try to install spriter. I don't see what all the hype is. I might have done something wrong on the install but I don't think so. It never did run. I did install yours and played with it. I like the idea. With me that have no art skills what so ever this is good shot in the arm. I hope things move along for you. I would like to post about this on my web site if that is alright with you. It's just a hobby site about things that I do. Good luck to a speedy finish.

Dennis

Ham and Eggs Breakfast
The Chicken was involved the Pig was Committed
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 6th Jun 2012 16:51
Sure, no problem. Spriter worked OK for me but I found the lack of bones very frustrating. There seemed to be no tweening too. I put a lot of work into writing the AppGameKit commands for spriter and then found my first character didn't work because the format of the output had changed and was undocumented.

I just thought I could do something that did what I wanted it to do myself. That way I could control how it all worked. I did a lot of work in 3DS Max and wanted a similar system in 2D.

baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 7th Jun 2012 15:01
Here's a sneek peek of the new character file format. Animation files will be separate allowing you to load a single character with as many animations as necessary. I want it to be possible to tween from one animation to another like enhanced animations for DBPro.


I now have it possible to save movements for limbs with no parent. This means our characters can fully animate. Once I have export working I will upload the basic working Beta version with the code required to load characters / animations and animate them in your game. We should have a basic working tool very soon!

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 7th Jun 2012 19:55
Baxslash, damn you!!!!!!!!
You have made me change my mind again!
I will wait for your tool before starting my next project!!!!!!

u
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 7th Jun 2012 22:10


If it helps I fixed saving and loading animation. I can upload a working tool but without the code to use the output just yet. Would you like me to upload it as is? Just for testing...

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 8th Jun 2012 01:17
don't worry Baxslash I can wait days and a couple of weeks for the tool to be in good shape and then start testing with 1 character, as I already have 90% of the artwork done.

As long as it won't take months to finish I think I am better off using your tool. I'm really not inclined at doing tools, and only do little tools that work with Function keys (no menus) for personal use, because there is absolutely no alternative.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 8th Jun 2012 09:57
Ok, I won't rush a version out until there's loading code for your game too

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 11th Jun 2012 14:48 Edited at: 12th Jun 2012 13:16
I actually looking at a 7 year old project I made it glut and to make this interface. I made my own programming language too in lexx and Yacc. So I might use it as a template for this progberram except I cant remember how I did it.


Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.

Attachments

Login to view attachments
DennisW
15
Years of Service
User Offline
Joined: 15th Jun 2008
Location: Ohio
Posted: 15th Jun 2012 21:32
@ baxslash

How is the project going? Anything new

Dennis

Ham and Eggs Breakfast
The Chicken was involved the Pig was Committed
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 16th Jun 2012 09:43
Not at the moment. I'm finishing a major project that has to be done by the end of the month and it's been taking all of my spare time so far. I may get a few hours to make an example import project then the tool will be ready to use but it might be a week or two before I get the chance. What I might do in the meantime is upload the tool in its current state as export is now working...

I'll try to do that over the weekend if I get a chance.

DennisW
15
Years of Service
User Offline
Joined: 15th Jun 2008
Location: Ohio
Posted: 16th Jun 2012 16:05
That would be great baxslash I look forward to trying it out.

Dennis

Ham and Eggs Breakfast
The Chicken was involved the Pig was Committed
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 16th Jun 2012 19:15
Would love to try the tool as it is now, and check out the format of the export, to see if i can implement it in my code.
bitJericho
21
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 17th Jun 2012 03:01 Edited at: 17th Jun 2012 03:03
One thing I've always needed in such a tool was foreshortening. Most animations don't look quite right or are downright impossible without it.

baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 17th Jun 2012 09:49
Not quite sure what you mean? I'd be happy to try adding it...

DennisW
15
Years of Service
User Offline
Joined: 15th Jun 2008
Location: Ohio
Posted: 17th Jun 2012 20:54 Edited at: 24th Jun 2012 04:04
Hi All

So I have been working with Character Workshop and this is what I have done so far. With the ease of operation I see a lot more coming. Just a couple of things I would like to see it have


1. Be able to put in a background image.

2. Have a option to put the screen resolution that you are working with and Character Workshop then can recommend texture size.
:Edit I changed the size of Harvey so you can see how the editor works. It was to hard to see befor.





I have to figure out how to use the frame for animation next

Ham and Eggs Breakfast
The Chicken was involved the Pig was Committed
bitJericho
21
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 17th Jun 2012 21:50
Quote: "Not quite sure what you mean? I'd be happy to try adding it..."


http://www.idrawdigital.com/2010/04/tutorial-foreshortening-tricks/

The simplest implementation would just be shortening a limb but without any perspective change.

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 17th Jun 2012 23:38
you an use sprite sizing to do the foreshortening trick
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 18th Jun 2012 11:04
@DennisW, that's a nice character

Changing the resolution is as simple as changing the setout.agc file and CW just inserts images at their current resolution. I guess I could add some options to let you see what your character will look like actual size on the desired device. That would be a great way of testing.

Adding a background image is a nice idea, I'll add that to the list of requested features too.

@Jerico2day, I can add scale animation too but it will be complicated and might not look very clever. I will definitely experiment with foreshortening at some point, I hadn't considered it yet.

I was going to post the current version yesterday but when I ran it I couldn't load my latest version of my zombie character. Once I've figured out what's wrong I'll upload a new version...

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 21st Jun 2012 08:01 Edited at: 21st Jun 2012 08:06
I actually redesigned this editor for dark dgk Mfc project. move works just need limbs code working on rotate. I messed with a lot of interfaces and thought opengl was too hard. Then I went back to dark gdk. I almost have every thing bakslash has. And you can edit the limbs with a editor. Look at dark gdk projects. I also can make it threed with the structure I am using. The output of course for 3d will also be in a xml format but currently sticking to 2d.

Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 21st Jun 2012 10:57
Here's a link to 3d's version of this tool: http://forum.thegamecreators.com/?m=forum_view&t=197979&b=22

Looks good 3d


this.mess = abs(sin(times#))
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 22nd Jun 2012 01:03
hay baxslash did you use the physics to get the joints to do revolution around a point i need help with this part because I been looking at box two d and there is not very many examples and the commands are about the same just what to know. thanks for your help.

Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 22nd Jun 2012 01:46
3d, no I'm using sprite offsets and a hierarchy system. I posted the rotateSpriteAbout in a forum thread but I can't remember where, might have been in one of Cliffs threads... I'll dig it out if you can't find it. Try Google searching that function name in TGC forums.


this.mess = abs(sin(times#))
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 22nd Jun 2012 03:09 Edited at: 22nd Jun 2012 03:20
Oh I didn't see your code but i figured something out from you saying offset. For each node I will determine if there is a parent and a child relationship, and rotate from the top node. The only thing I don't like about my project is in mfc I can't use the standard link list library because i get errors .

Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.
erebusman
12
Years of Service
User Offline
Joined: 23rd Jul 2011
Location: Sacramento, CA
Posted: 22nd Jun 2012 05:36
This is freak'in awesome dude. Keep up the fantastic work!
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 22nd Jun 2012 18:25
3d please ALLOW moving ANY node independent of the main mode, apart from nodes being linked
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 23rd Jun 2012 16:16 Edited at: 23rd Jun 2012 16:56
Does any one know about the format of the data entry movement from sensors.
I trying to incorporate this into the program not sure if this will be the final mfc hot key gui for this.

This is my first attempt for a gui for this type of data. I am thinking that you can assign the same hot key to a node. The problem with assigning hot keys to a node is that if it is 3d then their is not enough keys on a keyboard to assign a hot key.



Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.

Attachments

Login to view attachments
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 23rd Jun 2012 20:36
Maybe you should start your own thread?


this.mess = abs(sin(times#))
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 24th Jun 2012 19:07 Edited at: 24th Jun 2012 19:37
ok baxslash I will I finally made my own rotate about function because I couldn't find yours. Took me some time though I guess I suck at math.

c++ version of rotate about function if no one can find yours.

Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.
DennisW
15
Years of Service
User Offline
Joined: 15th Jun 2008
Location: Ohio
Posted: 26th Jun 2012 06:15
@ baxslash

How are things going? I pretty much got how to use Character Workshop. I don't see how to use the frame setup. I don't know if you noticed or not I updated the video that I posted. I made the textures larger so you can see how the limbs flash when selected. Then it is easier to see when a texture is set to back or brought forward. That is some of the real cool things that it can do. I was thinking that some keystrokes could be added for the dropdown menu's. Looking forward to the next update.

DennisW

Ham and Eggs Breakfast
The Chicken was involved the Pig was Committed
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 26th Jun 2012 12:28
Hi DennisW, I have zero progress on this since the last update. I'm finishing a game off for a client for the end of the month and hope to get a simple but working version of CW out after that. Things have been very busy for me but I have a number of upcoming projects (for clients) that could really use this tool so I fully intend to finish it (to a useful state) very soon.


this.mess = abs(sin(times#))
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 27th Jun 2012 07:13 Edited at: 27th Jun 2012 07:19
Hay baxslash after playing with rotation for a while I got a smooth ratation know I know a better way that you can use also. I use keyframe and rotation at that frame. To explain this method it is different then yours because at that frame the child rotations will be at there respective spots. I played the rotations and got something simulation too yours but I didn't like it. So I useing keyframes instead. When ever you make a rotation about an axis that spot will be saved. The angles will go from previous to tick mark that was made and from that tick mark it will go to the next tick mark and make the nessasary changes.
This might be the same method you use I don't know. But what I saw from your program the charactor when I modified it all the next movements are modifyied so I guess you don't use key frames. I am tring to modify my program to get a more rubber band effect so the joints will be at there respective spots at that key frame. Sorry that I posted on your board just thought like suggestions if you proceed with this program.

I got the rubber Band effect arready it just not very effect right know.

Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 27th Jun 2012 09:41
I am using keyframes too yes, it's pretty essential really.


this.mess = abs(sin(times#))
DennisW
15
Years of Service
User Offline
Joined: 15th Jun 2008
Location: Ohio
Posted: 29th Jun 2012 16:32
Hi baxslash
I know that you are working on other projects. These are just a couple things I wanted to post before I forget about them. CW has zoom in or out. I thought it would be nice to have per limb. As it stands now the whole Character zoom in or out. Also when I try to delete a limb I get a crash. So when you get around to working on CW keep these in mind. Thanks for createing CW very handy tool.

Ham and Eggs Breakfast
The Chicken was involved the Pig was Committed

Login to post a reply

Server time is: 2024-05-03 00:09:47
Your offset time is: 2024-05-03 00:09:47