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 Classic Chat / Spine - Tier 1 library

Author
Message
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 25th Jul 2013 22:56 Edited at: 25th Jul 2013 23:48
I'm not quite finished yet but I thought I'd share how far I've got. So far I am loading most of the data from the JSON file and creating the bone structure for a character using the imported data. Below is what I have so far from the "spineboy" model that comes with Spine.

I'm making this for my game "Kingdom" while waiting for the Spine commands coming in V2. I was planning on using my own system but Spine should be better in the long run. I will share the Tier 1 library here when it's ready

Still to do:
Add skins to bones
Add animations (bone & slot)
Convert Spine atlas file to subimage text file

This will require adding a system for bezier curves and a few other fun bits of code.

Here's a quick screenshot:



this.mess = abs(sin(times#))

Attachments

Login to view attachments
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 25th Jul 2013 22:58
Looks very interesting. All sorts of ideas pop up in my head looking at this.

Down, down, must ... finish ... current ... project!!!!!!

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 25th Jul 2013 23:00
Well there is a Tier 2 runtime for C++ that you could probably add quite easily but I thought this would help T1 users like myself that want to start getting used to using Spine ahead of the game


this.mess = abs(sin(times#))
george++
AGK Tool Maker
16
Years of Service
User Offline
Joined: 13th May 2007
Location: Thessaloniki, Hellas
Posted: 25th Jul 2013 23:01
Very interesting work indeed...keep going baxslash
Zwarteziel
13
Years of Service
User Offline
Joined: 22nd Jan 2011
Location: Netherlands
Posted: 26th Jul 2013 09:09
Wow, good job! This is great news! The availability of a Spine-library will speed up development tremendously for a lot of people. Not mention that it will be very helpful for TGC's AppGameKit V2 goals as well.
Wilf
Valued Member
17
Years of Service
User Offline
Joined: 1st Jun 2006
Location: Gone to Unity.
Posted: 26th Jul 2013 10:34
Excellent, keep going!
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 26th Jul 2013 13:50
Actually Zerotown I'm making it in T1 currently. However an unsuccessful interview with a AAA games company just now has highlighted the need for me to start getting stuck into C++ so I may well see how easy it is to use the Spine runtimes with AppGameKit Tier 2 and start a native library too / instead... depending on time.

My train's not for an hour so I'll just have a little play with Visual C++ express.

I got the Spine atlas file translated into an AppGameKit subimages text file and importing the images fine last night but the positioning values are really screwy for images. Can't seem to get them working just yet but once that's done I just need to start on animation.


this.mess = abs(sin(times#))
Zwarteziel
13
Years of Service
User Offline
Joined: 22nd Jan 2011
Location: Netherlands
Posted: 26th Jul 2013 14:18 Edited at: 26th Jul 2013 14:19
Ah, yes, I understood that you were making it for tier 1. I think that would be very useful for a lot of AGK-users, including me I was just presupposing that your tier 1 work would be helpful to TGC for AppGameKit V2, since they would only need to 'translate' it to a C++ runtime.

I'm sorry about the job interview btw. I think that many forum-users rate your skills very highly and I would hope a company would do the same, even though the language it prefers differs from the current one you are using to code.
haliop
User Banned
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 26th Jul 2013 17:07 Edited at: 26th Jul 2013 17:08
Quote: "I'm sorry about the job interview btw. I think that many forum-users rate your skills very highly and I would hope a company would do the same, even though the language it prefers differs from the current one you are using to code."

Thanks, they did seem very impressed with my work and were happy to hear back from me once I had a better grounding in C++. They also seemed happy that if I could make the leap from Blacksmith to App developer then I could make the "leap" from C# to C++

Anyway, here's what I got working on the way home on the train:


Just need to get animation working now


this.mess = abs(sin(times#))

Attachments

Login to view attachments
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 26th Jul 2013 19:13 Edited at: 26th Jul 2013 19:20
that looks nifty backslash i wish someone would look at my bvh program I just made. I got at a impass because I am waiting for agk 2 to see if i can use bvh practically. I belive that bvh might actually be better then using spine so I might stick with bvh. All these programs come out with bone animation know days and they forget about old formats thats all I am saying. Plus spine cost 60 dollars, that is way to much when people can just use bvh to do the same thing in two d. I would just have to take one of the cords out to get 2d like maybe the x, y or z. That would be easier then try to get the angles between the bones in 3d, sence i got the cords in all three cords.

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: 26th Jul 2013 19:32
Hi 3d point in space, I understand your point of view on this. I'm not much of an expert on bvh but is there an editor that can be used to store sprite positions/colour etc based on a bvh file?

I guess I'm lucky I backed Spine and got it at a cut rate, but the advantage of software like Spine is that you can manually position sprites and come up with your own key framed animations rather than using stock animations that are designed for use with 3D models.

If there was a tool that allowed the use of bvh files with sprites with the ability to edit the animations I'm sure lots of us would be interested (me included).


this.mess = abs(sin(times#))
Scab
20
Years of Service
User Offline
Joined: 11th Feb 2004
Location:
Posted: 26th Jul 2013 19:55
Does that mean you've given up on Spriter?

I didn't really care for Spine. Spriter seemed more intuitive. Plus Spriter is only $25 compared to $75.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 26th Jul 2013 20:07
I still have a license for Spriter too (it's also installed here on my main machine). The thing is that AppGameKit V2 will have Spine support so that's the main reason I shifted to Spine. Looking at the data and how easy it has been to get to this stage though I can't see Spriter competing. Spriter was a real pain to set up, normally the second time you look at something it becomes clearer and easier but the way the output data is structured from Spriter I found highly unintuitive.

Spine works the way a tool like this should and outputs data that is easy to digest and make use of.

Maybe it's worth the extra $50


this.mess = abs(sin(times#))
3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 26th Jul 2013 20:28
Yea i did provide the code already because I messed up on final angles but not the positions. I only take part of a bvh file maybe 500 frames and mix it with other bvh files. there are like 5000 free bvh files.

Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.
haliop
User Banned
Posted: 26th Jul 2013 20:48
what do you mean by Skins and Slots ?

3d point in space
14
Years of Service
User Offline
Joined: 30th Jun 2009
Location: Idaho
Posted: 26th Jul 2013 21:32 Edited at: 26th Jul 2013 21:39
I am too busy developing my knew game I have a goal to develop 2 or 3 levels a day in tiled. After that I thinking of tring to parse autocad files to show them in threed.

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: 26th Jul 2013 22:12
Quote: "what do you mean by Skins and Slots ?"

Slots are places that images can be assigned to and are assigned to bones. Skins are different image 'sets' that can be assigned to slots / skeletons in Spine.


this.mess = abs(sin(times#))
haliop
User Banned
Posted: 26th Jul 2013 22:36
thank you for clarifying that. i might use your system in my next Platform game... i'll see where this going. ty for doing it and ty for sharing.

baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 28th Jul 2013 23:12
Ouch, doggedly working through the parsing of bone animation into something I think I can use that's fast. Taking a while to eek all the different data out in a tidy manner

Hopefully I'll have some basic bone animation working early this week. I have "rotation" and "translation" data parsed out so far. Once I have "scale" data I can rig up some animation functions to test the speed of the format I decided on.

I also still need to work on some fast bezier curve code. Should be fun


this.mess = abs(sin(times#))
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 28th Jul 2013 23:26
You know a true computer geek when they program just for the fun of it.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 29th Jul 2013 09:59
Well there's little point making games for the money

I love solving problems, if I can make something cool in the process and help other people have fun then I get a few karma points too right?

I now have bone animation loading, just need to connect the dots next and make the bones animate as expected.


this.mess = abs(sin(times#))
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 16th Aug 2013 14:33 Edited at: 16th Aug 2013 15:14
So I've been working on a bunch of different stuff and haven't touched this much directly but I am re-writing the JSON reader to be more portable for other projects. Other than that I have been getting some useful bezier functions together so that I can get the curve values working in my Spine library.

For fun I did this in AGK.Net (C#) and then ported it to AppGameKit Basic:


EDIT: Here's the code I translated for beziers (and the cut down function I'll be testing in my Spine library):


"Here I am trying to do some good for the world..." - Fluffy Rabbit

Attachments

Login to view attachments

Login to post a reply

Server time is: 2024-05-08 21:07:59
Your offset time is: 2024-05-08 21:07:59