Monday, June 29, 2009

Using FaceBook API from ActionScript

About two month ago, FaceBook announced it's Open Stream API (also known as Facebook Connect) that allowed applications to interact with FaceBook and replicate most of it features.

To demonstrate this, they got their partner, Adobe to create Facebook for Adobe AIR, which is an application that runs on your desktop. You log in with your Facebook account and can then read your News Feed and publish content to your Wall and friends' News Feed.

The source code for this application is publicly available and I recently took a look at it.
(UPDATE: there is now a project on Google Code for it too)

Of particular interest is how it communicate with FaceBook:


var request:URLRequest = new URLRequest("http://api.facebook.com/restserver.php");
request.contentType = "application/x-www-form-urlencoded";
request.method = URLRequestMethod.GET;
request.data = urlArgs; // a flash.net.URLVariables object


But all this is nicely encapsulated for you in the "fb" package.

Some uses would be to upload screenshots and post achievements in Flash games directly to your FaceBook wall. Or it can be used to allow easy multiplayer game matchmaking with your friends.


The source code from this application also show some advanced ways to display HTML formatted text using ActionScript (and Flex). Thus, its a rather nice example.


Also, here is a tutorial (from Adobe) that walks beginners like me on how to register a FaceBook application and get its API key, however it uses Flex instead of Flash.

Thursday, June 25, 2009

The new mouse

Mice replaced joysticks for gaming a decade ago; however here is something that might finally replace them.



What to know more, check out Novint.com.

Wednesday, June 24, 2009

Games I really liked

Below are 10 games (or series) that I really like playing, of all time.

(In the order that I started played them)

1. Sid Meier's Civilization - taught me a lot about history and made it fun; always wanted one more turn

2. Wing Commander - great sound, cinematics and story for its time; NPCs in the game mattered; often your role was just a part of a larger battle

3. Master of Orion - deep strategy, interesting research, enjoyed designing my own ships

4. Command and Conquer - best installation ever; very polish; nice cut scenes too

5. Sid Meier's Pirates - who does not love playing as a pirate; enjoyed improving my ship

6. Diablo - dark and very atmospheric; loved the feeling of getting a rare drop; freedom to play which ever part I wanted, fast drop-in even in multilayer

7. Counter-Strike - fast action, lots or re-playability with user-created content

8. World of Warcraft - simple to get in; very polished; lots of activities to do; constant addition of new content

9. Ultracorps - only web based game that made my list; diplomacy is part of the strategy; your decisions often have a major impact

10. Guitar Hero - taught it was dumb till I tried it; challenging; great fun to play with friends



Why not list a couple of yours?

Friday, June 19, 2009

Consoles Overrun By Motion Controllers at E3

Now that the dust has settled after E3, I like to mention about what caught my attention the most.

The solid sales from Nintendo of their Wii which targeted the casual, non-gamer with their motion controller has resulted in the other two consoles (Microsoft's Xbox 360 and Sony's PlayStation 3) announcing plans for their own motion controllers.

Microsoft's Project Natal seems the most genre changing as it makes people the controller. Its' facial and voice recognition is also something that will likely become expected not only in game consoles, but likely most electronic devices (e.g. changing your air conditioner's temperature to suit who is in the room, blocking mature-rated TV shows when kids are around, etc). Let's hope the cost is reasonable.



Nowadays it is even easier that ever for an indie game company to make a console game. With freely available development kits and publishing platforms (of either the Xbox Live Marketplace or PlayStation Store), making a console game has never been easier.

Time to start dreaming of making games that make use of motion control.

Monday, June 1, 2009

E3 First Look @ GameTrailers.com

The years biggest game expo is coming, E3. Here's a "first look" of some of the new information will be announced at E3.



[Source: gametrailers.com]

Friday, May 29, 2009

Wing Commander Saga

The Wing Commander (WC) series was one of the first few that really got me into PC gaming. I would also speculate it was the reason Sound Blaster sound cards became popular too. The first WC came out almost two decades ago in 1990. Sadly, Origin who developed it is no more.


A while back a group of people got together and began work on a project to make a updated WC game, Wing Commander Saga. Using a modified and enhanced version of the Freespace 2 engine’s source code has been released to the public. It will be set in the same time frame as WC3 where humans and Kiralthi are still at war (and not WC4).




Cockpit View


TCS Concordia, the carrier you launch from in WC2.
[Source: WCSaga.com]

Quite an amazing piece of work from an indie team.

By the way, it will be free to play when it is done. And they expect to be done "soon". They already have a demo ("prologue") out.



While on the topic of WC, there is a "work-in-progress" remake of WC Privateer, named WC Privateer Gemini Gold, that is striving for the same missions and look-and-feel as the original.



Cockpit View


In the hangar.
[Source: Priv.SolSector.net]

This is done by another indie team and also available for free.

Friday, May 22, 2009

Interview: Jonathan Blow discusses his platformer, Braid

Jonathan Blow is the developer of Braid, a platformer that makes use of the manipulation of time to solves puzzles. The game first came out on XBox 360 Arcade, and is now out on PC.

You can download the demo from Steam, here.

It has a lot of similarities to platformers like Mario done on purpose to make it sort of a platformer parody. This also allows Braid to introduce the concept of time manipulation (rewind, slow, etc) from early in the game. For example, your character never dies in Braid, instead you are allow to rewind when that happens.



Here's some excepts form his interview with Leigh Christian Ashton of TIGSource:
"I have to admit I don’t really enjoy programming very much any more, because in order to get things done I have adopted a style of programming that makes it as simple as I can, so that it is just easy to get things done, and it only requires time and a lot of typing. So I am not really solving any difficult puzzles or challenges when programming, as beginning programmers might. On the plus side, this means I can program in a relatively efficient manner; on the minus side, it’s a less-engaging activity. I make up for that on the design side; whether I am making a prototype or a full game, it’s about exploring some interesting space of ideas. Programming is now just the implementation detail of how I do that exploration.

It’s not really about innovation so much as exploring interestingness. There is this idea of chasing innovation in game design that I used to be a big proponent of, but that I now suspect is a little bit misdirected."

"I try to encourage people to be willing to delete stuff that is mediocre or just kind of good – or at least put that stuff in a closet for some future day – so that they can focus on the stuff that is great. Many people don’t think that way, though. When it is so hard to get anything substantial done, you just don’t want to throw away any of your hard-earned progress."

"I think gameplay innovation can result in things that are interesting, but at the same time it doesn’t automatically result in something that is deep—often it’s a gimmick. I am interested in deepness and richness of game design. At the same time, I think if a designer is working on something he really cares about, and is really exploring some ideas in his own style, bringing his own particular insight to the table, then he will automatically come up with something different than most other games; furthermore, this will be a deeper, more-compelling kind of innovation."

[Source: tigsource.com]
So innovation does not mean interesting, but interesting usually mean innovation.

Also, the phrase "less is more" comes to mind when he challenges others to delete anything that is not extremely core to the experience. While this may cause a game to receive a great review, it does not necessarily mean the game will be played for a long time (and thus maximizes profitability). Will have to see how many people are still playing Braid a year from now.