J2i.Net

Nothing at all and Everything in general.

Windows Marketplace for Mobile now Live!

The Windows Marketplace for Mobile is now Live. If you fire up your 6.5 Emulator and click on the Marketplace icon you'll be able to log in look around.  Right now only a few applications are available.  Edward from MSMobiles.com has uploaded a video to youtube (http://www.youtube.com/watch?v=i6Py1ZYyy1s) and written a review on it (http://msmobiles.com/news.php/8641.html ). Windows Mobile 6.5 devices will start to roll out into the hands of consumers in another 2 days though both newly released devices and ROM updates for existing devices.  Most Windows Mobile devices will have the Marketplace preinstalled (though a few months ago it was reported that Verizon Wireless has decided that the Marketplace would not be included on their devices).

Resources for Getting Started with Windows Mobile Development

If you are just getting started with Windows Mobile development then you will want to check out a page that Mike Francis has posted on his site.  It gives a a rather complete list of software you'll need/want, community resource, example code, guidance documents and other resources to get you started.  Check it out at http://blog.mjfnet.com/blog/FormatPage.aspx?path=content/projects/resources/resources.format.html

Marketplace Application Security

Wondering what type of security that the Marketplace for Windows Mobile Phone will have? Well stay tuned.  According to Inigo Lopez of Microsoft the details are coming in the next couple of weeks.

We understand the risks and concerns that you mention regarding piracy. We are at this time finalizing the plan and we will be communicating details in the next couple of weeks. We will provide details on the different options that developers will have in order to protect (or not) their software. Some of the options may be delivered shortly after launch.

We understand your concerns regarding submitting an app before these details are announced. I will make sure to post on this forum a new thread with the details as soon as they are ready.

Thanks,

Inigo

DirectDraw code Posted, Uses Samsung Windows Mobile SDK

I posted a code sample on CodeProject a few moments ago.  It is a remake of a simple game.  Best of all if the game is run on a compatible Samsung device it will take advantage of the hardware via the Samsung Mobile SDK. For more information see the article at the following link:

http://www.codeproject.com/KB/mobile/WiMoBubblePuzzle.aspx

MIP Mapping and Windows Mobile

I've heard developers ache over the challenges that targetting multiple form factors and multiple resolutions can bring.  I just went through an excercise this weekend in which I had to make a simple game that would run on 4 different form factors.  320x240, 320x320, 240x400, and 480x640.  It wasn't as challenging as one would think (Of course it helps that it was a simple game).  To make my graphics look their best on each platform I used mip maps for my sprites

 

I didn't specifically target any of those resolutions.  Instead for my sprites I made a high resolution version (first row) and then scaled it down in half, and again, and again.  Then I created a mapping function so that if I requested the red orb of a certain size then a copy of the orb that best fit my requirements would be selected.  The result that I ended up with was the graphics looked absolutly stunning when the program was wun on a WVGA device, but scaled themselves back reasonably when run on a QVGA device.

The technique itself is old.  I remember first being introduced to it in 1994.  And it is very effective.

IcoFX - Free Icon Editor

When it comes to developing software the icon for the executable is usually not something handled by me and not something over which I place a great amount of concern.  But earlier today I was working on a Windows Mobile program that I wanted to have a polished look, down to the program icon.  I designed my icon work in Photoshop and was trying to import it into the Visual Studio icon editor.  I had no trouble doing this with the 24-bit true-color version of the icons, but when I was adding the paletted versions I ran into problems.  I evaluated some free icon editors and came across one that I absolutly love, IcoFX.

In short IcoFX is free and very capable.  It will save icons in both Windows and OS X format.  It takes care of resizing the icon images for you. If you are ever in need of a better icon editor you should check this out.

IcoFX Web Page

Creating a High Performance Message Loop

I've heard criticisms of the Windows and Windows Mobile environment because of the way that the default message pump is implemented and the performance cap that it puts on applications that require constant refreshing of the UI (such as games).  The problem is that the default message pump is geared towards business applications and minimizing CPU usage.  If you need to make a high performance application or game then you should use a different message pump implementation. You should not be waiting on WM_PAINT message.  You should just go ahead and repaint the screen.   Given that many developers will never alter the default message pump implementation it is preferable to have one that has low CPU usage by default.  If you want to do performance graphics you need a loop similar to the following:

	
bool keepRunning = true;
while(keepRunning)
{
	if(PeekMessage(&msg,NULL,0,0,TRUE))
	{
		if(msg.message==WM_QUIT)
			keepRunning=false;
		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
	}
	else
	{
		//Execute Game Logic Here and rendering here
	}
}

The default message pump handling would be blocked when there are no messages to process and the WM_PAINT message (being low priority) would always be the last thing on the queue. In the message pump above the application will be able to concentrate on the game logic and give attention to messages on the queue when they arrive.  We'll talk about  other things that you would need to do for a game in coming posts.