Silverlight 2 Unleashed Available for Pre-Order

I told someone awhile back, "Don’t worry, there will be a Silverlight 2 Unleashed.  The only real question is whether I'll be the one writing it."

Until a few weeks ago, I just couldn’t make up my mind.  (I know, it was a bit late to decide!)  But finally I did, concluding that life has been too hectic to write another book.  Fortunately, Laurent Bugnion had already been writing a "Teach Yourself" book on Silverlight 2 over the past year, so it was natural to convert it into Silverlight 2 Unleashed.

I met with Laurent last year when he was getting started with the book, and I’m sure it’s going to turn out great!  So check it out!

Popfly Games: Now With High Score Tracking!

Yesterday afternoon we updated Popfly with arguably the most fun feature yet for both viewers and game authors.  Popfly games automatically track scores, wins, and losses for the people who play the games.  If you browse to http://www.popfly.com/Profile/Achievements.aspx, you can see your stats and find out about popular games you haven’t played yet:

Your Achievements Games You Haven't Played 

On each game’s page, you’ll find a little scoreboard so you can compare your performance against your Popfly friends or game author:

Scoreboard on Popfly

And these features (+ more) apply to Facebook as well, now that you can turn any Popfly game into your very own Facebook game.  Any game you create automatically gets a scoreboard that compares Facebook friends, a nifty profile presence, news feed notifications, etc.  For example, you can check out the Facebook version of my Crayon Cannon game.

News Item on Facebook image

So, as a game creator, what should you do to take maximum advantage of this:

  • Use the game-level Score property (if you want to keep any kind of score).  Any numeric values will do, and if you want lower scores to be better, simply click the lower score is better button on the Game tab of the creator.
  • Use Won and Lost scenes.  You can have as many of these type of scenes as you want.  And you can now add more at any time via the Add a Scene dialog.
  • If you don’t care about scores or win/loss records, you still might as well make your game end on a Won scene.  That way your game at least gets credit for having been played every time that scene is reached.
Posted 18 July 08 01:03 by Adam Nathan | 2 Comments   
Filed under ,
New Game Creator features are now live!

A few hours ago we released our 20th major update to Popfly, which includes our first update to the game creator since it was released just over a month ago.  There are tons of new features for you game creators out there, so I want to highlight them for you:

1. The new "color swapper" enables easy customization of any actor’s colors

clip_image001[4]

This comes in very handy for differentiating good guys vs. bad guys, or just giving your game a unique look without needing artistic skill.

2. You can now rename actors

clip_image002[4]

This was long overdue!

3. You can now publish your own actors so others can use them in their games

clip_image003clip_image004

Some of you have already created fantastic custom actors.  I’m looking forward to seeing them show up in search results!

4. Guide lines & snapping in the UI designer make it easier to arrange your visuals just right

clip_image005

You can toggle this setting with the "Snapping" button above the scene or actor appearance designer.

5. Actor stamping makes adding multiple actors fast & easy

clip_image006

This might take a little getting used to, but it makes it much faster to add actors exactly where you want them to be.  As soon as you add one, you can instantly move/resize/delete it before stamping more actors.  And if you resize the actor, the stamp will adjust to these new dimensions.  Click the arrow on the left to change to normal selection mode.

6. 4 new events make it easy to create more powerful games (Scene Enter, Viewport Enter, Viewport Leave, and State Change)

clip_image007

For example, you could make a bad guy in a side-scroller move toward the hero only when the bad guy is within the current viewport.

7. You can now filter any Scene Enter/Leave or Viewport Enter/Leave event by one or more directions

clip_image008

Useful for many games, such as this one.

8. Creating multi-level games is easier, because you can now clone an existing scene

clip_image009

This saves tons of time.  I used this to create a multi-level Kill The Peas.

9. Searching & browsing of actors has been enhanced

clip_image010

10. The behaviors list is now a bit more helpful, since it shows exactly what key has been chosen for a keyboard event

clip_image011

11. You can now turn a Popfly game or mashup into your own first-class Facebook application

clip_image012

You can do this by clicking "Create Your Own Facebook Application" option from the Facebook button on Popfly’s share widget.

  • Through Popfly, you create & control the core app and can upload an image to be shown in the app's profile box.
  • Through Facebook, you can control all kinds of things – icon, logo, what should be on the about page, etc.  You get all the features of Facebook dedicated to your own app – a discussion board, analytics, reviews, wall, fans, etc.

Embedding a game (even as a plain ol' IFRAME) can be a pretty powerful thing.  Check out what "What Now" (a kids' TV show in New Zealand) did with their Popfly game!

12. You can now see how many views your game or mashup has received

clip_image013

13. We've made some cosmetic updates to help authors highlight their creations and get feedback

clip_image014

14. We’ve added more actors

clip_image016

15. We’ve also fixed lots of bugs, including ones reported in our forum.  A notable one: saving large games should be much faster (and avoid pesky unresponsive script dialogs).

Posted 12 June 08 09:21 by Adam Nathan | 7 Comments   
Filed under ,
Popfly Game Creator Sample: Type Type Revolution

I'm here at Maker Faire, getting ready to demo the Popfly Game Creator, and here's a new game I just created:

      

You can click "tweak" to see how I created it, make changes, and save it as your own.  But here's a quick summary of what I did:

  • I made the A, S, D, and F buttons by taking existing actors & changing their appearance.  (Removing the icon and adding a TextBlock.)
  • I added an "Active" property to the A button initialized to 0.
  • I gave the A button a constant downward motion, and set its Active property to 1 when the button collides with the horizontal bar, then reset it to 0 when it uncollides.
  • I made the A button disappear when the A key is pressed AND Active=1 (using a filter on the event).
  • I incremented the built-in game-level Score property by 15 when the A key is pressed AND Active=1.
  • Handy shortcut: I copied the behaviors & properties on A to the S, D, and F buttons by using the "I want this actor to... act like Plus Button" shortcut.  (Plus Button is the name of the A button.  Yes, we don't support naming/renaming actors yet.  We'll be sure to add that soon!)  I then updated the references to the A key to the appropriate key.
  • On the main scene, I added a behavior to deduct 5 points whenever A, S, D, or F are pressed.  (That way, the player gets 5 points deducted for an incorrect key press and 15-5=10 points added for a correct key press.)
  • I added behaviors on the main scene to spawn the A, S, D, F buttons at the top of the scene, each triggered by a timer that fires randomly between 1 and 3 seconds.
  • I added a scene change behavior to transition to the Won scene after 60 seconds.
  • I used a timer actor that already knows how to display elapsed time, but made it count down instead by initializing its ElapsedTime property to 60 (seconds) instead of 0 and changing the code in one of its behaviors to use a - instead of a +.

Enjoy!

Posted 03 May 08 07:10 by Adam Nathan | 2 Comments   
Filed under
Popfly Game Creator! (What I've been doing the last 6 months)

At the end of last year, my team was nice enough to let me start working on a Silverlight-based casual game creator for Popfly, one that makes it easy to create a variety of games with no coding experience required.  And here it is!  For the past 2-3 months we've had two additional developers, a program manager, and a test developer focused on this, so today is a huge milestone for us.  Everyone on the Popfly team has been a huge help making this happen.  And since several of us only slept from about 3:30-7:30 last night, I'm not going to write very much right now. :)  But here are some notes:

  • The whole thing works with Silverlight 1.0, as well as Silverlight 2 (currently in beta).
  • You can easily change any game (whether it's a visual thing or a logic thing) by clicking the "tweak" button at the bottom of all games and logging into Popfly.
  • We've got the best library of XAML-based artwork I know of (and this will continue to grow, especially as we open it up).  Right now the artwork comes from a variety of places, but huge thanks go to Dan at lostgarden.com, the Expression team, and my wife.
  • We've got some great sound effects and music.  Bonus points to anyone who can figure out where the music (classic songs such as "7 AM Illusion" and "Punkarama") came from.
  • I'm sure you'll have a mile-long list of feature requests.  So do we!  This is step 1... expect us to keep updating this regularly.

Here are two videos I've recorded to explain more:

One example of creating a game from scratch

A montage of some of our sample games (created with little or no code)

Enjoy!

Posted 02 May 08 11:06 by Adam Nathan | 2 Comments   
Filed under
.NET Rocks!
I was fighting off a cold and perhaps not always thinking straight, but here I am on episode #314 of .NET Rocks!
Petzold strikes again!

(Or, rather, struck again last summer.)  I just found Jeff's post about receiving a book from Petzold complete with witty comments.  I was also a lucky recipient of an autographed book, so I thought I'd share what Petzold had to say to me:

No color, alas, but plenty of depth!

Funny stuff!  (He's referring to this discussion, in case you missed it.)  I haven't had a chance to read the book, but it looks really good.  To say "thank you," I've been meaning to send him a signed copy of Silverlight 1.0 Unleashed, but I haven't been able to come up with something witty enough to say.  "No third dimension, alas, but plenty of color?"

Posted 29 December 07 09:11 by Adam Nathan | 6 Comments   
Filed under ,
Today's ego boosts

PC World has just named Popfly one of the "25 Most Innovative Products of the Year"

WPF Unleashed has just been nominated for a 2007 Jolt Product Excellence Award, which recognizes "the most innovative, trend-making, ahead-of-the-curve products"

Obviously I'm really pleased and grateful about both of these developments, as both of these products have been a labor of love.  It feels like so little time has passed since Popfly was a team of two, and now we've got a nice-sized talented team (small by Microsoft's standards, of course) running full steam ahead.  And again I need to give credit to Neil Rowe at SAMS for the way we used color in WPF Unleashed, which no doubt is the most "innovative and trend-making" aspect of the book.  I work with some great people (and for a great company), which enables recognition like this to happen.

My wife is concerned that my head is no longer going to fit through the door. :)  It's too bad that when I do something differently than the way she expects it, she uses a different word than "innovative."

Popfly public beta!

As Steve Ballmer announced this morning, Popfly (my day job) is now open to the public!  All you need is a Windows Live ID.  This morning I decided to use Popfly to show a noticeable trend in my books:

Tip: Click MashOut -> Tweak this from the little overlay to experiment with customizing this little app with your own data.

Of course, this trend in page count is also easy to see in person:

To keep the trend going, I guess my next project is going to be a pamphlet on Popfly! :)  Actually, I promised my wife that my writing days are over, so the next value in the sequence is 0.  I'm happy to let someone else do the writing for a change.  In fact, I see that a book is actually already planned for Popfly!  Awesome!

By the way, I've gotten some emails from people who pre-ordered Silverlight 1.0 Unleashed asking why Amazon is giving weird information about the ship date.  Don't worry... they should be starting to ship already!  As you can see from the above photo, I've already gotten a copy!

View and Edit Live Silverlight Examples

Silverlight 1.0 Unleashed is days away from shipping.  To celebrate, you can (1) pre-order your copy now and (2) check out examples from the book at http://www.adamnathan.net/silverlight/code.

You can not only view the HTML/XAML/JavaScript source and the resulting output, but you can edit all of it on-the-fly.  Here's a screencast that demonstrates.

Silverlight 1.0 Unleashed is now available (sort of)

I'm going through the very last revisions, but in parallel the book has now appeared on Safari as a "Rough Cut."  What is a Rough Cut?  The almost-final chapters in "raw" unformatted HTML.  The pictures in the book should still show up, although they might appear in black & white unlike the full-color printed book.  On Safari, you can purchase immediate online access, or even a bundle that includes the printed book (when it is completely finished, of course).  I don't have online access myself, but I believe the chapters should start trickling in on Monday or Tuesday.

By the way, here is the final table of contents:

Part I          Fundamentals
1      Getting Started
2      XAML
Part II        Creating Static Content
3      Shapes, Lines, and Curves
4      Text
5      Brushes and Images
6      Positioning and Transforming Elements
Part III      Making Your Content Come to Life
7      Responding to Input Events
8      Downloading Content on Demand
9      Animation
10    Audio & Video

Silverlight 1.0 Unleashed!
It's now official and on Amazon!  As indicated by the (temporary) cover, it will be in full color, just like WPF Unleashed!  As always, take the release date with a grain of salt because I haven't even written the whole book yet, but rest assured that it won't be out until after Silverlight 1.0 is finished.  Although considering that I was able to write .NET and COM 100 years before the technology was introduced, I don't really need to wait...
WPF Unleashed, with Yaks!

I got the following email this morning that astounded me.  I thought I'd share (with the author's permission):

Just dropping a line telling you I like your WPF Unleashed book a lot, and brought it to my recent trip to Tibet. I also took a picture of your book in the wild, and thought you might like the photo! 

Cheers,
Luc (Paris, France)

Looking through the photo album, I uncovered this photo as well.  I guess the book can be used for many things!

Posted 27 June 07 07:53 by Adam Nathan | 3 Comments   
Filed under
A guessing game created with Popfly

The credit for this idea goes to Tim Rice, a superstar developer I have the pleasure of working with every day.  The game is simple: Try to guess which of the listed locations is pictured by selecting the choice in the dropdown.

This was created by grabbing recent posts from Twitter, extracting the locations, plopping them in a dropdown, then randomly choosing one to use as a search term for Flickr.  The whole thing - even the logic to determine whether you're right or wrong - could almost be written without code if it weren't for some bugs.  (Grrr... it's my fault, though.)  Still, writing code against such simple APIs exposed by the blocks (Twitter, Flickr, User Input, Filter, Calculator, and more) is a pleasure.  Trying to do things without code is a fun challenge for me, though!  It helps me to validate the power of the designer.

Posted 18 May 07 08:47 by Adam Nathan | 4 Comments   
Filed under
Yes, I'm on the Microsoft Popfly Team!

It's been an exciting year!  As John sums up, I joined him almost a year ago (when he was a team of one) and had a blast creating and constantly evolving a prototype of what is now Microsoft Popfly.  During 2006, we demoed it again and again to one executive after another.  Last fall, I got to demo it to Bill Gates and Ray Ozzie, then later even Steve Ballmer.  It was all pretty surreal.

We've grown into a decent-sized team and have been in hard-core execution mode all year.  And as of this morning, we are public!  We're still an invitation-only alpha, and we still have quite a bit of work ahead of us, but it's a major milestone nonetheless!  (Note that our team is also responsible for Visual Studio Express, but I don't have anything to do with that.)

To get a good sense of what Popfly is all about, check out the video recorded by Dan & Suzanne from our team.  It's all about having fun creating and sharing software.  But you can create some very useful things quite easily, too.  Here's a live example that is clearly in the fun category rather than useful:

This displays the beginning of the most recent comment on my blog's most recent post in ransom-note style (thanks to Flickr).  I created this by mashing a few blocks together, and only had to type three characters of code (and that was only to work around a bug... remember, we are an alpha!).  Add a comment to this post, and watch it update!  (You might have to wait awhile for your comment to appear and the RSS feed to update.)

Posted 18 May 07 09:03 by Adam Nathan | 7 Comments   
Filed under
More Posts Next page »
Page view tracker