Game Development Community

dev|Pro Game Development Curriculum

SpriteWorks2 Now Available in GarageGames Store

by John Kanalakis · 11/03/2009 (1:43 am) · 28 comments


Featured in Michael Snow’s book, "Game Programming with Silverlight" and Blog, SpriteWorks is an fast and easy solution for creating animated sprite sheets for 2D games from existing 3D models and it's now available in the GarageGames store. SpriteWorks was created last year, based on the XNA graphics framework. As such, it required VisualStudio 2008 and the XNA Framework to be installed as well. But no longer.

www.envygames.com/share/sw1.jpg


SpriteWorks2 is a complete overhaul from the ground up. It's foundation has shifted from XNA to T3D and comes with a new look and a lot of great improvements. But the process of taking 3D models and generating animated sprite sheets for 2D games is the same. Existing customers are using SpriteWorks to create art for iPhone, TGB, and Torque X 2D games.

Collada 3D Support

One of the biggest features is support for the Collada 3D format. Collada is a popular 3D format that's supported by every major 3D editor, including 3D Studio Max, Maya, XSI, and Blender. You can easily load your 3D models into SpriteWorks via Collada export.

New Lighting

SpriteWorks2 also offers even better lighting support. Now you can change the brightness and color of the light source, resulting in unique rendering effects. You can also use a mouse to drag the source light into position. You can also apply post-process image effects, such as blur, to add even more to your sprite sheets.

Normal Mapping

Bring new lighting depth to your shader-based 2D games by enabling the normal mapping feature. This feature generates an additional animated spritesheet that is with normal mapped.
www.envygames.com/share/swn1.jpgwww.envygames.com/share/swn2.jpg

Image Blur

SpriteWorks2 also includes image post-processing effects, such as image blur. Even more visual effects, such as glow and cartoon rendering are in the works.
www.envygames.com/share/swb.jpg

Quick Launch

SpriteWorks2 also adds a faster way to open to your DTS models by integrating with the Windows shell. Simply open Windows explorer and double-click any .dts file to open it up.

Torque 3D Preview

SpriteWorks also serves as a low-cost solution for previewing 3D art assets and animations ready for the new Torque 3D game engine.

New Usability

Lastly, overall usability was closely reviewed and improved to make it as easy and efficient as possible to bring in 3D models, pose them, and produce animated sprite sheets. In addition to the existing camera sliders, you can drag the mouse around to move and rotate the model into position.

Position your mouse at the top-left corner of the viewport to reveal a popup menu that controls model placement and orientation by mouse. You can either capture a single frame of animation or create an entire animated sprite sheet.

www.envygames.com/share/sw2.jpg


After specifying how many animated cells you want, press the Create Sprite button to create an anti-aliased, translucent sprite sheet similare to the one below.

www.envygames.com/share/sw3.jpg


A 3D model, such as the jet captured earlier, can be quickly added to your T2D, iTGB, or Torque X 2D game project. Manny existing customers are using SpriteWorks to create content for Flash and Silverlight Web games.

www.envygames.com/share/sw4.jpg


SpriteWorks started as an XNA project last year and migrated to a Torque 3D project. Game developer Daniel Hopkins was a tremendous help in getting key functionality transitioned over in a very short period. He's a fantastic Torque 3D developer and deserves a ton of credit for his contribution.

The Future of SpriteWorks

SpriteWorks2 is definitely a huge leap forward from the original release, but it's also just the beginning. The plan to quickly move over from XNA to T3D was meant to open new development possibilities, such as Mac OS platform release that is already in the works. We also plan to support for even more 3D formats, and enabling new post-process effects.

John K.
www.envygames.com

About the author

John Kanalakis is the owner of EnvyGames, an independent game development studio in Silicon Valley that produces games and tools for Xbox 360, Windows, and the Web.

Page«First 1 2 Next»
#21
12/16/2009 (5:52 pm)
hey me too, the boombot doesn't show up with a texture on it,
some orange material with letters on it instead.
...but the box demo shows up with a texture on it
I am able to get objects/animations in (with 3dsmax 64bit) but just no texture
any ideas?
#22
12/18/2009 (2:12 am)
@dark & Dan: The code for loading the model and material was developed on Vista 64-bit, so that alone is most likely not the problem. My first guess would be material naming issues. When loading a model it does two things:

1) First it checks to see if there is a "materials.cs" file in the same folder as the model. If so, it executes the file and loads the model.

So, you could test it by manually creating your own materials, and putting them in a "materials.cs" within the same folder as the model you're trying to load.

2) If it cannot find a "materials.cs" file, it automatically creates the materials based on the names of the materials assigned to the model in your modeling app.

So, let's say you model a crate, give it a material, and name the material "wood." Upon loading your model, the program searches for an image with the base name "wood"--it can be either ".png" or ".jpg"--within the same folder as the model. If found, it assigns it as the material's base texture. It then searches for the normal and specular images by appending an "_n" or "_s" to the base name.

As a result, to have said example work with a base, normal, and specular texture, I must create the base texture image and name it "wood.[png or jpg]," a normal map image named "wood_n.[png or jpg]," and a specular map image named "wood_s.[png or jpg]," and place those images within the same folder as the crate model.

One thing to note is that the normal and specular images are completely optional.

Again, material properties (images, color settings, or otherwise) as setup in your modeling app are completely irrelevant--only the material's name is used (and that name must correspond to the base name of the image applied to the material).

If your model isn't loading with the materials correctly, here are some things to try:

1) If there is a "materials.cs" file in the same folder, the program is most likely executing the file, and then going on. You can move the file, or open it up to make sure there are materials defined which are compatible with your model.

2) Make sure all material and corresponding image names follow the guidelines as stated above.

3) Create a new "materials.cs" file in the same folder, and define the materials within.

Hope that helps!
#23
12/18/2009 (10:24 am)
Thanks,
I was able to get a material in by appending the Material.cs file.
It had the file path as "c:boxMaterial"
I just deleted the "c:" and it worked.
Windows would not let me save the cs file into that folder, I had to save it onto the desktop and then drag it in, freakin windows... maybe that's where the problem lies.

How can I get Spriteworks to create a Material.cs file for the boombot model?
#24
12/20/2009 (3:06 am)
I have found if you place your model and the materials in a folder, open spriteworks, do not double click the model. Open the model within spriteworks. Everything loads! Weird, and it does not create a material.cs

I like using the spriteworks a little bit more than the Torque Show Tool. I dunno the interface just seems easier to me.

#25
12/20/2009 (4:14 am)
@Dan and Henry: As the main purpose of SpriteWorks is to use a model and generate a sprite sheet, and creating a Torque specific materials.cs file isn't really part of that process, it does not currently have that functionality.

On the other hand, as Henry noted, it does do a pretty good job doubling as a model viewer, and in that regard having the option of generating the file would certainly be useful. Updating it to include that option would not be at all difficult, so perhaps that will be in the next update.

#26
12/30/2009 (3:01 am)
Hey folks,

I just purchased and downloaded SpriteWorks 2.0 from the GarageGames site (filename: SetupSpriteWorks_2.0.msi).

Unfortunately, I'm running into the same problem other people on this thread have described with the program crashing on startup with the following message:

GFXD3D9Shader::initShader - failed to open shader 'shadergen:/8b5b81b157ca40c_V.hlsl'

I'm using a Japanese copy of Vista 32-bit. Has anyone found a workaround for this, or is there a possibility on getting a fix for this problem?
#27
01/03/2010 (2:01 pm)
Congrats on getting this out, John.

For anyone having the "initShader" error when running SpriteWorks v2, I managed to solve the problem by right clicking the shortcut and selecting "Run as administrator".

Having to run as admin is just a fact of life for anyone using dev or dev related tools. Even Microsoft recommends that you run Visual Studio as admin.

As a time saver you can edit the "Advanced" properties of any shortcut and set it to always "Run as administrator".

#28
01/10/2010 (10:35 am)
Thanks Josef!

That did it. You've made me a happy man.
Page«First 1 2 Next»