Ipsquiggle

tutorial
New Asset Tools: Animations, Textures, Sounds And Layouts!

118 posts in this topic

the people at "up and away" are sure to have a field day with this @simplex and @debugman18 especially!

Edited by Craig_Perry
1 person likes this

Share this post


Link to post
Share on other sites

Yes! YES!

 

'Up and Away' is about to get a whole lot better!

Edited by ArcticFox789

Share this post


Link to post
Share on other sites

And I thought just tweaking the game was over my head. ID

me too! this is a whole new level of things

Share this post


Link to post
Share on other sites

Does the texture pipeline essentially eliminate the need for TEXTool? Or am I getting something wrong here?

 

EDIT: Also, are we ever going to see this compatible with Mac? I got all excited when I saw this, thinking I could get into doing things other than tweaks, before I saw the "Only for Windows" part.

Edited by Delta/V

Share this post


Link to post
Share on other sites

I still wish I can figure out how to even program :indecisiveness: . So many lua tutorials and still not a single clue of how to write anything.

2 people like this

Share this post


Link to post
Share on other sites

Useful tools, even if Windows-specific and proprietary. I'm glad Up and Away is a team effort.

 

At least Tiled is open source, though. It's even in the official repositories of my Linux distro, typing one line in the terminal was enough to install it.

 

So there's no way to edit (decompile) an existing anim?

 

And what are the parameters for this automatic TEX generation? Which resizing filter is used, Lanczos? And what will be the target pixel format, DXT5?

Edited by simplex

Share this post


Link to post
Share on other sites

Does the texture pipeline essentially eliminate the need for TEXTool? Or am I getting something wrong here?

 

EDIT: Also, are we ever going to see this compatible with Mac? I got all excited when I saw this, thinking I could get into doing things other than tweaks, before I saw the "Only for Windows" part.

 

Yes, TEXTool should hopefully be obsolete now. :)

 

And as far as cross-platform: This is basically a duplication of our own asset pipeline, which in the studio here is windows-only. It's kind of hairy and we don't even know at this point what would be involved in porting it, let alone whether it's feasible. I would of course love for everyone to have these tools, but it's just not a promise I can make right now.

 

But as Simplex mentioned, Tiled is cross-platform, and its output is directly used by the game so you can do that on any platform. In addition, Spriter has Mac and Linux versions for you to play in, I'm sure if you made some sweet animations someone would be able to export them for you.

 

 

Useful tools, even if Windows-specific and proprietary. I'm glad Up and Away is a team effort.

 

At least Tiled is open source, though. It's even in the official repositories of my Linux distro, typing one line in the terminal was enough to install it.

 

So there's no way to edit (decompile) an existing anim?

 

And what are the parameters for this automatic TEX generation? Which resizing filter is used, Lanczos? And what will be the target pixel format, DXT5?

 

It uses our own asset pipeline, so it uses whichever settings our own assets would use. There was a lot of concern and confusion over the various parameters and options which TextureConverter and TEXTool provided, when in fact there's usually only one right option for any given asset. BC3 or ARGB will be used as appropriate, and I'm not sure which filter method we use, though it's the one we use so at the very least you'll be consistent. ;)

Oh also the sample mods have been uploaded. :)

http://forums.kleientertainment.com/index.php?/files/file/202-sample-mods/

Share this post


Link to post
Share on other sites

And as far as cross-platform: This is basically a duplication of our own asset pipeline, which in the studio here is windows-only. It's kind of hairy and we don't even know at this point what would be involved in porting it, let alone whether it's feasible. I would of course love for everyone to have these tools, but it's just not a promise I can make right now.

Wouldn't you consider releasing them under an open source license, so we can port them ourselves? (by the way, I did write a TEX converter for Linux/Mac) Edited by simplex
1 person likes this

Share this post


Link to post
Share on other sites

Sad to hear that a Mac version of all this neat stuff seems unlikely... but at least I can try out spriter, even if I can't convert the things to an in-game state.

 

 

So, if I'm reading this right, we need to have each animation symbol as a separate image file... and those are imported into spriter... is there no way to use existing character assets? For example, to add a new item, and give the player an animation for that?

 

(I'm really hoping there's a way to switch the animation to a more manageable framerate, too. 1000fps is ridiculously unnecessary. I prefer working at 24, but I suppose 60 will be necessary. Still, 1000 is quite a large deal greater than 60! x.x; )

Share this post


Link to post
Share on other sites

(I'm really hoping there's a way to switch the animation to a more manageable framerate, too. 1000fps is ridiculously unnecessary. I prefer working at 24, but I suppose 60 will be necessary. Still, 1000 is quite a large deal greater than 60! x.x; )

The game runs (ideally) in 30 fps. 24 fps is too cinematographic for a game, c'mon! ;] Edited by simplex

Share this post


Link to post
Share on other sites

The game runs (ideally) in 30 fps. 24 fps is too cinematographic for a game, c'mon! ;]

I was a film student - of course I prefer working at a film framerate! xP

30 isn't too bad - most games run at 60, to my knowledge, but if it's 30, I'll stick to that.

 

As long as it's not 25fps. Bloody PAL TV-standard... such a nightmare...

Share this post


Link to post
Share on other sites

Sorry for the newb question, but i just created a Steam account (even though i hate steam) and installed my third (!!!) version of DS on one pc (don't ask), just to find out you need to have a beta key to have access to the publicpreview modtools! Where can i get one, if i can get one?

 

Nevermind... I think it's downloading without a beta code(?!?)...

Posted Image

Edited by lifemare

Share this post


Link to post
Share on other sites

Sorry for the newb question, but i just created a Steam account (even though i hate steam) and installed my third (!!!) version of DS on one pc (don't ask), just to find out you need to have a beta key to have access to the publicpreview modtools! Where can i get one, if i can get one?

There isn't one. Just hit enter.

 

Or did I misunderstand? o.o

 

Useful tools, even if Windows-specific and proprietary. I'm glad Up and Away is a team effort.

 

At least Tiled is open source, though. It's even in the official repositories of my Linux distro, typing one line in the terminal was enough to install it.

 

So there's no way to edit (decompile) an existing anim?

 

And what are the parameters for this automatic TEX generation? Which resizing filter is used, Lanczos? And what will be the target pixel format, DXT5?

I've got Windows. So if any collaborators need things converted, etcetera, I can give it a shot. Unless of course they become open source and cross-platform! (Even then, still, of course.)

Edited by debugman18
3 people like this

Share this post


Link to post
Share on other sites

Useful tools, even if Windows-specific and proprietary. I'm glad Up and Away is a team effort.

 

At least Tiled is open source, though. It's even in the official repositories of my Linux distro, typing one line in the terminal was enough to install it.

 

So there's no way to edit (decompile) an existing anim?

 

And what are the parameters for this automatic TEX generation? Which resizing filter is used, Lanczos? And what will be the target pixel format, DXT5?

I've got Windows. So if any collaborators need things converted, etcetera, I can give it a shot. Unless of course they become open source and cross-platform! (Even then, still, of course.)

Share this post


Link to post
Share on other sites

I've got Windows. So if any collaborators need things converted, etcetera, I can give it a shot. Unless of course they become open source and cross-platform! (Even then, still, of course.)

We should stop stealing this thread. Most of what's been said here was about Up and Away. xD

Share this post


Link to post
Share on other sites

We should stop stealing this thread. Most of what's been said here was about Up and Away. xD

Not our fault! We were late to the party. :p

 

On-topic: I don't understand Spriter at all yet. xD

Share this post


Link to post
Share on other sites

@Ipsquiggle

Let's see if I got this correctly, regarding builds and anims (based on this and that).

The base (final, "atlased") image is UV space, and the build defines how to map rectangular regions of UV space into XY space. Put precisely, it defines a set of affine transformations from UV space to XY space*, one for each frame of each symbol, of the form

Posted Image

where (x0, y0) is a constant vector, D is a diagonal matrix (i.e., scaling, possibly anisotropic) and (u0, v0) is the center of the current rectangular region in UV space being mapped.

Then the animations define general affine transformations from XY space to itself** (an affine endormorphism, if you will), each having the range of one of the "build maps" above as their domain (which is done first, the translation or the linear transformation, as they are specified in build.bin?). Finally, the result is translated by the entity's position.

* I'm ignoring frame durations here. A more accurate statement (if I got this correctly) is that subsets of UV space are being mapped onto prisms of XYT space, T being time.

** Again, I'm ignoring depth, to stick to the basics.

Edited by simplex

Share this post


Link to post
Share on other sites

Sad to hear that a Mac version of all this neat stuff seems unlikely... but at least I can try out spriter, even if I can't convert the things to an in-game state.

 

 

So, if I'm reading this right, we need to have each animation symbol as a separate image file... and those are imported into spriter... is there no way to use existing character assets? For example, to add a new item, and give the player an animation for that?

 

(I'm really hoping there's a way to switch the animation to a more manageable framerate, too. 1000fps is ridiculously unnecessary. I prefer working at 24, but I suppose 60 will be necessary. Still, 1000 is quite a large deal greater than 60! x.x; )

 

As far as assets: For now this pipeline works best for original animation. We're looking at ways to allow easy altering or extending of existing animation sets, but that won't be happening for this week's alpha release. There are also some features concerning build swaps and things of that sort that aren't fully supported yet, but if there's anything you'd really like to see let us know so we can prioritize it! :)

 

 

The terminology in Spriter is unclear: Those are milliseconds. Technically, it allows you to specify a keyframe on any given millisecond. This means 1000 positions per second, which in a weird way can be called "1000fps". But in fact, the game plays animations at 30fps so you don't need to be more aggressive than that.

 

I know that using 30's or 24's can be more natural for animators, but Spriter has chosen keying on milliseconds, for better or worse. If it helps, here's a cheat-sheet between 24fps and 1000fps:

1: 42

2: 83

3: 125

4: 167

5: 208

6: 250

7: 292

8: 333

9: 375

10: 417

11: 458

12: 500

13: 542

14: 583

15: 625

16: 667

17: 708

18: 750

19: 792

20: 833

21: 875

22: 917

23: 958

24: 1000

 

25: 1042

26: 1083

27: 1125

28: 1167

29: 1208

30: 1250

31: 1292

32: 1333

33: 1375

34: 1417

35: 1458

36: 1500

37: 1542

38: 1583

39: 1625

40: 1667

41: 1708

42: 1750

43: 1792

44: 1833

45: 1875

46: 1917

47: 1958

48: 2000

And for 30fps:

1: 33

2: 67

3: 100

4: 133

5: 167

6: 200

7: 233

8: 267

9: 300

10: 333

11: 367

12: 400

13: 433

14: 467

15: 500

16: 533

17: 567

18: 600

19: 633

20: 667

21: 700

22: 733

23: 767

24: 800

25: 833

26: 867

27: 900

28: 933

29: 967

30: 1000

 

31: 1033

32: 1067

33: 1100

34: 1133

35: 1167

36: 1200

37: 1233

38: 1267

39: 1300

40: 1333

41: 1367

42: 1400

43: 1433

44: 1467

45: 1500

46: 1533

47: 1567

48: 1600

49: 1633

50: 1667

51: 1700

52: 1733

53: 1767

54: 1800

55: 1833

56: 1867

57: 1900

58: 1933

59: 1967

60: 2000

Share this post


Link to post
Share on other sites

What I would most like to see is the ability to add new animations to existing things. Like, for example, adding a dance animation to the player character.

I imagine you would then have to get into stategraphs, and all that tricky stuff, to add it, and figure out a way to make it start... but definitely, the first thing I would like to see is the ability to take an existing asset, and add a new animation, or tweak an existing one.

 

It's also not quite clear to me how animating an equippable item works... so I'd definitely need some more information, when that is possible.

Share this post


Link to post
Share on other sites

Let's see if I got this correctly, regarding builds and anims (based on this and that).

 

It sounds like you've got it right though I've never expressed it in those terms so I may be overlooking. How I would phrase the process:

 

Prior to being processed by the buildanimations.py script, the build specifies the size and offset of a symbol, an anim keyframe specifies a transform matrix for a symbol. An animated object is a clump of quads of those particular sizes in the build, which are first offset by the value in the build (to change the reference point), and then further transformed by the animation. The quad is then UV mapped to a subtexture in its atlas, but that has nothing to do with the transformation of the geometry.

 

The script crunches down some of that directly into build.bin but that's the gist of it.

 

(Note: in actually a symbol's geometry is a cluster of triangles somewhat fitted to the graphic, but in terms of understanding the values in build and anim, think of them as quads.)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now