Wednesday, October 20, 2010

OFFICIAL WP7 VIDEO AD: “REALLY?”

As you may know, the set of Windows Phone 7 devices has been recently presented to the world during an event in NY city.

Now, the first official video advertisement –entitled “Really?"- is out:

Enjoy!
~Pete

> Link to Spanish version.

Thursday, October 14, 2010

REPLACING THE CONTENT MANAGER API: PRELUDE

As I briefly mentioned in one of my previous posts, for a period of time (close to 2 years, now) I have been developing my own API to manage content as a replacement for the one delivered as part of the XNA Framework.

Why? At first I was trying to circumvent the limitations of the latter related to its inability to properly handle the Dispose operation. And while doing so, I realized -when I checked the source code of the original with “Reflector”- that there was room for improvements (with a redesign).

After almost two years of development as part of my own XNA-based videogame engine (being the latter still in endless development), I decided to redesign my content manager as an independent module so that it can be used with XNA without the need to plug my engine (neither in whole nor in part).

I will not release the source code of my API, so in the next installments in this series of articles I will be discussing publicly what my API has to offer, so that anyone can read it, focusing on The-What rather than on The-How; thus, I will be mainly presenting features and results (I do indeed know, yes, “what a bummer!”).

So, what’s coming next? On part 1 (and most likely part 2 also) I will be introducing my API, explaining differences with the built-in one, and after that I will start to talk about obtained results (yes! With numbers, screenshots and such) for the different platforms I tested.

‘till next time,
~Pete

> Link to Spanish version.

Friday, September 17, 2010

XNA GS 4.0 FINAL IS NOW OUT

Today is a great day for us, XNAers, since the final version of XNA Game Studio 4.0 is now up for grabs!

Please check Aaron Stebner’s blog for installation details.

Enjoy!
~Pete

> Link to Spanish version.

Friday, September 10, 2010

GETTING A REFERENCE TO A METHOD-CALLING OBJECT IN C#

Ok, after taking a month off from any blogging activity, I guess is time to catch up and blog again. And I believe there is no better way of doing so than to write an article explaining a way to get a reference to the object that calls a specific method.

For the last two years or so, I have been working hard on a new Content Manager replacement API for the XNA Framework to use on my own “never-ending” game engine (I will blog about this later on). In some early stages of development I found a way to solve this referencing burden that have been creating headaches to many devs, globally (being me, one of them, for a long time).

Although I must admit that at some point on the development cycle of my API I decided to abandon this workaround, after reading one of the articles mentioned by Shawn here (guess which one), I believe it’s a great opportunity to talk about it.

A little history … before founding this solution I tried everything: from attempting to use –with no luck- the info held in StackFrame instances and even delegates to finally “quit” and use a naive approach as passing the caller as a parameter in the signature of an operation. But, then came .NET Framework 3 and extension methods to the rescue!

Please bear with me that the example presented in this article is just a simple one to show how to use it, but believe my words when I say that it can be extended to complex scenarios.

Having said that … if you want to know which object is calling a certain method of a class like (which may or may not be sealed):

  public sealed class MyCalledClass
  {
    internal bool JustReturnTrue(int myParameter)
    {
      return true;
    }
  }

Being the caller, say, a specification of the following class:

  public abstract class MyCallingClass
  {
    public void Print()
    {
      Console.WriteLine("I am the object which is just about to call
         the monitored operation named 'JustReturnTrue' …"
);
    }
  }

Then all you have to do is to implement the following generic extension method for the types you want (in my example, “MyCallingClass”):

  public static class MyExtensionMethod
  {
    public static bool ExecuteOperation<T>
      (this T mycallingClass, int myParameter)
      where T: MyCallingClass
    {
      mycallingClass.Print(); // Replace it with your own stuff.
 
      return new MyCalledClass().JustReturnTrue(myParameter);
    }
  }

The trick here is to design and split assemblies and namespaces in a way that all instances of “MyCallingClass” cannot directly execute the “JustReturnTrue” operation (I leave that task as an exercise to the reader).

But there is one catch to watch closely, though. By doing this you are actually adding one more call (you know that), which is not generally a problem on Windows, but for the XBox 360 and all devices using the Compact Framework, it could turn out to be expensive if used lots of times on intensive or heavy tasks/loops.

But if you really need it when speed is not an issue or for operations where -for example- you need to set owners to something “automagically” behind the scenes and later assess whether an owner calls a restricted operation before executing it, then there you have it!

Just use it wisely …
~Pete

> Link to Spanish version.

Tuesday, July 20, 2010

IT’S OFFICIAL: KINECT PRICE CONFIRMED!

You all know this: lately, there has been plenty of speculation around the price of the upcoming new device for the XBox 360 console, originally known as “Project Natal” and recently renamed as Kinect.

Well, the time for speculation is over since MSFT has confirmed prices for standalone and bundled options.

Interested? Then find out more here.

Cannot wait to get “kinected” :)
~Pete

> Link to Spanish version.

Monday, June 14, 2010

PROJECT NATAL HAS A NEW NAME

For the last few weeks rumors had taken news blogs with articles mentioning that Project Natal was likely to be renamed to something more catchy.

Today, during MSFT’s E3 presentation, it has been confirmed that the new name is “Kinect”.

Neither prices nor ETAs have been announced, so in the meantime check out this video to have a glimpse of what’s coming this fall:

Kinect

Enjoy!
~Pete

> Link to Spanish version.

Friday, May 07, 2010

WINNERS ANNOUNCED!

The “final six” and the cash-prize winners for this year Dream.Build.Play competition have been recently announced.

As you may know, the compo had been split in two flavors: the standard one and the Old-Spice challenge.

Well, the name of the game and dev team that won the latter has been also published.

Congrats to all the winners and finalists!
~Pete

> Link to Spanish version.

Friday, April 30, 2010

STEVE BALLMER IN ARGENTINA

A few weeks ago I was invited to Steve Ballmer’s talk about Cloud Computing in Buenos Aires, Argentina.

The talk was held last Tuesday on the Universidad Argentina de la Empresa (UADE) and lasted about an hour or so.

Since “I crossed the puddle” and attended the event I can tell you that the presentation and all topics covered where quite interesting, so for those of you not present at the event I recommend to watch the recorded video, which is now available at:

http://www.microsoft.com/argentina/cloud/ballmer.aspx (subtitled in Spanish).

Enjoy!
~Pete

> Link to Spanish version.

Friday, April 16, 2010

OBFUSCATORS PAGE UPDATED

Just a quick a post: I have updated the page containing the list of obfuscators of .NET IL code, adding two word checking:

You can find the whole list here.

Cheers!
~Pete

> Link to Spanish version.

Wednesday, February 24, 2010

MICROSOFT ACTIVE PROFESSIONAL 2010

Yesterday I received, on behalf of MSFT Technet & MSDN Team for Argentina and Uruguay, the distinction of “Microsoft Active Professional 2010”.

The award is granted to those professionals who are considered to be among the top 5% of most active contributors in the community.

Thanks a lot to Microsoft for honoring me with this award, again!

Cheers!
~Pete

> Link to Spanish version.

Friday, January 29, 2010

WATCHING THE SUN BURN - PART 3

A little while ago I wrote a couple of tech-oriented posts regarding the rendering engine -for XNA GS- known as “Sunburn”.

This time, I’ll skip the technical side of things to share some great news about the latest version of it, which has been just released: it fully supports lighting and shadowing for Avatars!!!

Is it a soft shadow what I’m seeing projected in there? Cool … gotta download v1.3.1 right now!

Enjoy!
~Pete

> Link to Spanish version.

Saturday, January 02, 2010

XNA/DIRECTX MVP ONCE AGAIN

The new year 2010 has started with great news for me: Microsoft has granted me the XNA/DirectX MVP award once again!

It’s truly an honor to be an MVP. Thanks MSFT!

Cheers!
~Pete

> Link to Spanish version.