Saturday, October 24, 2009

NEW XBLIG BARGAINS!

As of today and on, the only prices available for XBox Live Indie Games will be 80, 240 and 400 points (that is in American dollars: one, three and five, respectively).

As a result of this mandatory switch, all games that were offered for 200 points are now selling at the bargain price of 80 points … 1 dollar!

On Gamerbytes, you can find info about some of the games selling at $1 and or you can also visit XBLA & XBLIG Ratings for a complete list of the games being offered for this price.

Time to get lots of bargains!!!

Enjoy!
~Pete

 

> Link to Spanish version.

Thursday, October 22, 2009

TWO NEW SAMPLES AT XNA CCO

You may be aware of this news, but just in case, I want to mention that two great new samples are now available on the site of XNA Creators Club:

Now, what’s great about them? Glad you’ve asked.

(I) Skinned Model Extension Sample

The first sample shows you how to extend the original Skinned Model sample so that:

  • You can “move” a part of a skinned model independently of an animation sequence (like in this case, the arm and or head),
  • You can position objects relative to a specific bone (in this case, a bat), and
  • You can properly attach bounding geometry to the animated model (in this case, spheres).

The code is a great source of technical knowledge regarding the skinning technique for programmers but, thanks to some minor glitches in the skinned model, they can also learn how cumbersome and picky are the processes of (not only modeling and unwrapping but) rigging, skinning and animating a 3D model, so that it looks ok in each and every (expected) situation before going gold.

First screenshot:

As you can see here, when you move the head one of the vertices remains (almost) still, which means that either it wasn’t attached to the neck's bone at all or, if it was, then its “weights” should be readjusted.

Second screenshot:

It seems that the part of the belt marked above in orange moves along with the hip whilst the rest of the belt moves with the torso. And so, the walking animation, even if it may behave as expected, looks kinda weird.

This is likely not relevant for programmers -being the programming part the only/main purpose of the sample itself, but for indies like me that tend to develop all parts of a game “in solo mode”, its a fabulous example of some of the headaches they are going to deal with on the artistic side of things.

(II) Primitives 3D Sample

The second one presents the set of classes you will need to create a cube, a sphere, a cylinder, a torus and the famous teapot!

These primitives are usually found in most famous modeling apps, among others, like 3D Studio Max or Maya.

You may wonder: why the teapot is considered a primitive? Well, thanks to the type of powerful operations used to create it, procedurally: bezier-curve calculation! Nice one, indeed …

One suggestion for the cylinder:

In case some of you want to create the triangles that conform each cap of the cylinder so that they lay out uniformly around a centered vertex, instead of towards one side -as shown above, then you’ll have to replace the following method in the “CylinderPrimitive” class:

/// <summary>
/// Helper method creates a triangle fan to close the ends of the cylinder.
/// </summary>
void CreateCap( int tessellation, float height, float radius, Vector3 normal )
{
  // Create cap indices.
  for ( int i = 0; i < tessellation - 2; i++ )
  {
    if ( normal.Y > 0 )
    {
      AddIndex( CurrentVertex );
      AddIndex( CurrentVertex + ( i + 1 ) % tessellation );
      AddIndex( CurrentVertex + ( i + 2 ) % tessellation );
    }
    else
    {
      AddIndex( CurrentVertex );
      AddIndex( CurrentVertex + ( i + 2 ) % tessellation );
      AddIndex( CurrentVertex + ( i + 1 ) % tessellation );
    }
  }
 
  // Create cap vertices.
  for ( int i = 0; i < tessellation; i++ )
  {
    Vector3 position = GetCircleVector( i, tessellation ) * radius +
                       normal * height;
 
    AddVertex( position, normal );
  }
}

So that, instead, it looks similar to:

/// <summary>
/// Helper method that creates a cap laying out triangles around a centered vertex.
/// </summary>
void CreateCap( int tessellation, float height, float radius, Vector3 normal )
{
  // Add a vertex in the center of the cap.
  AddVertex( normal * height, normal );
 
  // Create cap indices, taking into account the centered vertex (that is why
  // we use "CurrentVertex - 1" as the first element of the corresponding index).
  for ( int i = 0; i < tessellation; i++ )
  {
    if ( normal.Y > 0 )
    {
      AddIndex( CurrentVertex - 1 );
      AddIndex( CurrentVertex + ( i + 1 ) % tessellation );
      AddIndex( CurrentVertex + ( i + 2 ) % tessellation );
    }
    else
    {
      AddIndex( CurrentVertex - 1 );
      AddIndex( CurrentVertex + ( i + 2 ) % tessellation );
      AddIndex( CurrentVertex + ( i + 1 ) % tessellation );
    }
  }
 
  // Create cap vertices.
  for ( int i = 0; i < tessellation; i++ )
  {
    Vector3 position = GetCircleVector( i, tessellation ) * radius +
                       normal * height;
 
    AddVertex( position, normal );
  }
}

Being the result:

This isn’t critical at all, but for the sake of (better) unwrapping -and even of creating more “sections” (rings) on each cap, programmatically- 2 centered vertices and a few more triangles come in handy without hurting performance.

Code on!
~Pete

 

> Link to Spanish version.

Thursday, October 15, 2009

SNEAK PEEK: 360’S DASHBOARD UPDATE

1UP has published a video showing off the features coming next with the dashboard update of the XBox 360 console; that is:

  • Twitter,
  • Facebook,
  • Last.fm, and
  • Zune Marketplace.

But that’s not it! Major Nelson has posted info on how to sign up for the update preview so as to start enjoying the upcoming features right now.

So, do you have a Xbox 360? And, is the XBox Live service available for the country where you live?

If the answer to both questions is “yes”, then what the heck are you waiting for?!!!

Enjoy,
~Pete

 

> Link to Spanish version.

Wednesday, October 14, 2009

NEW XBOX CONSOLE FOR 2012 ?

Lately, there’s been some buzz regarding the near future of MSFT’s main gaming console.

Words like “XBox 720”, “X-Engine” and “Project Phoenix” have been used. But what do they mean, exactly?

According to this article, “Project Phoenix” is the name internally given by MSFT for what some people outside the Company have called “XBox 720”.

Now, a more recent article states that the new console would hit the markets on 2012, with a new gfx card from ATI so as to maintain backward compatibility as well as boost performance.

Regarding the latter (performance), a new “X” engine would have been recently released, not only including a new set of tools but also “a whole new way to develop for the system” -as this third article says).

I don’t know whether all these “news” are true or not, but it’s an interesting read, though.

Plus, imvho, there’s a lot of “360” yet to enjoy, specially when Project Natal gets out; don’t you think?

Stay tuned,
~Pete

 

> Link to Spanish version.

Wednesday, October 07, 2009

VIRTUAL EVENT: “THE NEW EFFICIENCY”

There’s a very interesting virtual event to be held today. If you either speak and or understand the Spanish language you cannot miss it!

Read on …

Today, Microsoft will present with experts live and demonstrations the new concept of efficiency!

Some of the topics being addressed during the event cover the following technologies/products:

  • Windows 7,
  • Windows Server 2008 R2,
  • Exchange Server 2010, and
  • Fore Front.

So, what are you waiting for? Just go and register for the event a.s.a.p.:

http://www.lanuevaeficiencia.com/

Enjoy!
~Pete

 

> Link to Spanish version.