Sunday, June 28, 2009

Widget: Play Random Game

I mentioned this widget on my previous post however I think it deserves it's own post.

I've made this widget in order to improve Games-Garden Bounce Rate and to allow people to discover games they might have not played before or might have forgotten about.

This is the widget's description:
Do you want to discover the best games on the web? this button lets you find them and takes you to a different game every time!


The general idea is to keep users (players or visitors) for as long as possible on your site and Games-Garden offers different options for it which include showing the top 15 games and other games in the same category so when people get bored of playing the same game they can choose similar games.
However having an option to play a game in a sort of "blind date" I think could do a better job.

Give the widget a go, I'm sure you will find a cool game behind :)

Tuesday, June 23, 2009

Widgetbox business model is not good for devs

Play Random Game

I just added a new widget to Widgetbox and noticed something I'm actually not happy with:

A widgets developer HAS to pay to avoid Widgetbox hijack his/her widget and inject ads...

What?

To be honest, I don't remember if this "feature" was already there in February when I added my first Flex Widget (Newest Games) but I today when my widget Play Random Game was approved I got an email encouraging me to upgrade to Pro and after checking, this is one of the benefits:

- No ads on widgets you develop or install

I just don't get it!
- We create content for them for free
- They use our content for Marketing adding a button with a link back to Widgetbox (which is fair as they are distributing the widgets)
- They add ugly ads covering our widgets without our approval
- They monetize with these ads without any revenue share option for us devs
- We MUST pay if we don't want to see the ads (???)

I think the idea of charging users if they don't want to see the "get widget" button is good but adding ads without sharing revenue with the devs and on top of that asking devs for money so the ads are not shown IS JUST PLAIN WRONG!

Very bad Widgetbox, very very bad. I wonder how much they make from widgets like my Flash Date Calendar which gets 50k+ views a day?

This makes me think about moving my widgets with other distributors...

salut!

Monday, June 22, 2009

Inspiration: Flash and meow

I just added a new link on my blog roll: Zoltan Bornemissza.

Zoltan is the new Lead Flash Developer from my team at work and I had a chance to check his blog which is full of cool stuff!

Flash and meow

I recommend you to play with the fractal experiments and get some inspiration :)

salut!

Sunday, February 01, 2009

Widget: Newest Games

Taking the same "feed" from Games-Garden Latest Games as the one used for the Featured Games Widget but displayed in a different way, this is my first Flex Widget:

Newest Games


I haven't uploaded it into any widgets distributor yet as I still haven't found a way to pass variables into the widget (to change colours for example) so at the moment there's no design but the default components skin from Flex 3.

I must say I love how easy is to work with Flex and my new homework is to do some changes in the PHP side of Games Garden to create an API that will provide feeds for most of the different categories of the site. The next one is "Top Players" which I won't be releasing as a widget as is only important in the website itself.

Play around with Newest Games and play some games as well! come on, you deserve a 5 minutes break ;)

Tuesday, January 27, 2009

Widget: Featured Games

Back in business! :)



Killing 2 birds with the same stone I've created this widget called "Featured Games" which pulls .xml data from Games Garden, parses it and shows it as an "iTunes" like widget.

What are these Featured Games anyway?
well, almost everyday I add a couple of new games to Games Garden and PHP creates the .xml for this so to be honest the widget should be called "Games Garden Latest Games" but... you know... a bit of marketing ;)
The games added are hand picked so only the best games make it to Games Garden and therefore to the widget.
The widget shows the game name and a game icon which you can double click to go to Games Garden and play that specific game, otherwise just click on the "Play Game" button that does the same trick (gets you to play the game).

Just if in case anyone is interested...
What's going on in my life?
well, since I opened Games Garden I've been extremely busy learning PHP & MySQL, making more flash games (I'll speak about them later) and learning Flex (expect my first Flex widget soon!)

Anyway, give Featured Games a go, play some games and if you like the widget, add it to your site ;)

cheers!

Tuesday, June 10, 2008

Flash Security Policy Server


With the introduction of Flash Player 9.0.115.0 another issue came out when trying to make a socket connection to a server.
Before the release of this Flash Player version the use of a crossdomain.xml would deal with the loading of external data into a flash application, however, Adobe decided to change these security policy as explained on this document.

To fix this issue, Syed Meerkasim, a Senior Java Developer from where I work has released a Flash Security Policy Server created in JAVA that you can download for free from this link.

His new website, Flash Resources, will be updated on a regular basis so I advice you to keep an eye on it ;)

salut!

Thursday, June 05, 2008

Games Garden public beta release

games-garden

Games Garden, has finally opened to the public after a week of private beta testing.
The website is still in beta so expect some minor bugs and take into account that some components will eventually be moved around; the casual games portal will be adding more and more features these coming days including free downloadable games and widgets.

Quoting from the site:
Welcome to Games Garden, a games portal which offers you the latest games that you can play, share, and bookmark for whenever you feel like taking a break and have some fun!

At the moment you don't need to register to play as any new visitor has 200 tokens which is enough to play many of their games :)
All the games are powered by MochiAds, meaning, are completely free to play and are good quality "sponsored" games.
Thanks to MochiAds, games developers are getting some extra cash from their work and effort which is helping the games developers community to grow up producing better quality games as they are now able to afford different tools to improve them.

If you want to know more about what Games Garden has to offer, check out the ABOUT US section.

salut!

Thursday, May 15, 2008

Tweener for games: Updating Amounts

Following up on the Tweener for games tutorials, this time we will see how to update amounts gradually using Tweener to make them look nice & smooth.

As an example we can see my game GAIA - Guess Who? where the score is updated gradually instead of in one step (immediately) adding more to the user's experience and making the game more playable and enjoyable. Trust me, these little details can make a difference ;)

Update amounts gradually using Tweener:
What I've got on stage is a dynamic textfield with instance name "txtScore".
To give it a value, we declare a variable called myScore:

var myScore : Number = 100;
txtScore.text = myScore;

If you run the movie, your txtScore shows 100.
Nothing exiting I know... :P

Because we need to update this amount when a certain event happens, then we add a button, we will call it mcAddBonus.
Now let's use tweener to update the score adding a 50 points bonus:

import caurina.transitions.Tweener;

var myScore : Number = 100;
txtScore.text = myScore;

mcAddBonus.onRelease = function() : Void
{
Tweener.addTween(this._parent, {myScore:myScore + 50, time:1, onComplete:function() { txtScore.text = Math.round(myScore); }});
}


Testing the movie, whenever we press our button after a second myScore updates by 50.
Still nothing special :(
but, how about if we use the tweener onUpdate parameter instead of onComplete?
the onComplete only updates our score when the tween has finished but as we saw on the previous example, onUpdate updates the value gradually before the tween finishes.
Let's change the code:

import caurina.transitions.Tweener;

var myScore : Number = 100;
txtScore.text = myScore;

mcAddBonus.onRelease = function() : Void
{
Tweener.addTween(this._parent, {myScore:myScore + 50, time:1, onUpdate:function() { txtScore.text = Math.round(myScore); }});
}



Sweet!
I must say I love Tweener, is a great tool :)
and this is the example:






salut!

Saturday, May 10, 2008

Flash Games Contest: 5th place

Gaia - Guess Who?
To be honest I was a bit too positive about this one and I was expecting to get one of the first 3 prizes, however, there were 200+ games and many of them were really good, so 5th place is not bad at all ;)

The contest: MochiAds & Gaia Online - Become a Rock Star.

Actually there were two categories:
- Rock Star Winners
- Gaia Audience Prizes

and my game Gaia - Guess Who? won the 5th place of the Gaia Audience Prizes category.

I must say my game Gaia - Guess Who? is not the best but I was positive because I actually participated with 3 games altogether:
- Gaia - Guess Who?
- Save the Ants
- Pawel & the Teutonic Castle
Anyway, I'm really happy I've won a prize on this contest :)

For more info check out the "Become a Rock Star" Flash Game Contest winners' page.

salut!

Wednesday, April 23, 2008

Social timelines: Timetoast released



Using Adobe Flex as front end and Ruby on Rails as backend technology, here it comes Timetoast, a new web 2.0 site that you should keep an eye on.
From their press room:
LONDON, England - April 22, 2008 - Timetoast, the new web-based timeline
creation application, launches it’s service to the public today.
Timetoast.com is a web application that allows people to create interactive
timelines, which they can share anywhere on the web. Anyone can join and
start creating and sharing their own timelines, all they need is a valid email
address. It's also completely free.
Timetoast.com was built on top of powerful open-source frameworks and technologies
such as Ruby on Rails, MySQL and Adobe Flex


You don't even need to sign-up if in case you want to check the public timelines. However, you would need to fill in a small form (only 4 fields) to become a member and start creating your own time-lines.
By default your timelines will be saved as "drafts" that later on you can change this status into "public" allowing the world to see them.
One of the cool features is that there's RSS feeds everywhere! even each timeline has its own feed; this is great if in case you want to create a mash-up application or let's say widgets showing these data...

So, if in case you want to track a project, share the story of your life, your dog, your relationship... or tell others what you know about your favourite artist using a timeline, go and sign-up.

Salut!

Piranha-Loca-timeline

Tuesday, April 15, 2008

Tweener for games: Countdown

Last week I came back from holidays, I was back in my home country after almost 6 years since I left, that's why I couldn't update the blog...
Anyway, as mentioned before, I'll be writing some tutorials on how to use Tweener for games development, however, take into account that the code can be used on other applications as well...
The first "tutorial" is

Creating a countdown using Tweener

From my point of view, adding a countdown to a game helps to improve the playability as the user feels more challenged to finish certain task.
After reading Arthur Debert's Tweener Tips, I got the idea on developing further his "Poor's man timer":

Tweener.addTween(this, {time:0.3, onComplete: myFunction});

Right, so if we put it into a function, then we have:


var timeleft : Number = 30;

function tweenDown() : Void
{
trace(timeleft);
timeleft--;
Tweener.addTween(this, {time:1, onComplete:tweenDown});
}

tweenDown();


First we declare a variable called "timeleft" and set it to 30, so we will count down from 30 seconds to 0.
The function tweenDown() traces the updated "timeleft", decreases the timeleft value by one and using tweener it calls itself every second thanks to the onComplete parameter.

If we tide up a bit, we can add another function to trace the updated value of timeleft, then we have something like:

var timeleft : Number = 30;

function showTimeleft() : Void
{
trace(timeleft);
}

function tweenDown() : Void
{
timeleft--;
Tweener.addTween(this, {time:1, onUpdate:showTimeleft, onComplete:tweenDown});
}

tweenDown();


The function showTimeLeft() will trace the updated value of timeleft thanks to the parameter onUpdate and this allow us to do something else instead of only tracing; we can add a textfield (with instance name txtTime) to show us the updated timeleft value and the updated script would be:

var timeleft : Number = 30;

function showTimeleft() : Number
{
return txtTime.text = timeleft;
}

function tweenDown() : Void
{
Tweener.addTween(this, {time:1, onUpdate:showTimeleft, onComplete:tweenDown});
}
tweenDown();


Now, the problem is that when the countdown reaches 0, it doesn't stop!
so we can add another function to check if there's any "timeleft" and if there isn't, then do something else. The final script for a simple countdown is:

import caurina.transitions.Tweener;

var timeleft : Number = 30;

function showTimeleft() : Number
{
return txtTime.text = timeleft;
}

function tweenDown() : Void
{
Tweener.addTween(this, {time:1, onUpdate:showTimeleft, onComplete:countDown});
}

function countDown() : Void
{
if(timeleft > 0){
timeleft--;
tweenDown();
} else {
trace("GAME OVER!");
Tweener.removeAllTweens();
}
}

tweenDown();


and this is the example:




Salut!

Wednesday, March 19, 2008

Best Practices? well... ok...

On my previous post I said I would avoid using "best practices" when developing my own stuff; trust me that this thing of people stealing code really annoys me but I've decided to change my tactic.

The thing is, you never know when you are going to work again on a project as for example, I want to update the Flash Date Calendar Widget I built long time ago, and even though the file "is not that bad" still is a bit messy and makes my work a bit harder; now imagine, if I completely avoid doing the things in "the right" way, any update in the future will be a nightmare!

To avoid feeling bad about the "code thieves", what I will do is to keep on writing tutorials and to show how easy is to use my secret weapon: TWEENER.
These days I'll put together a series of tutorials on how I use tweener to do certain tasks like updating score, shooting, updating life, etcetera.

Salut!

Monday, March 17, 2008

Best Practices? no thanks...



Generally speaking, best practices are good. But what are best practices? from the Wikipedia:

...Best practices can also be defined as the most efficient (least amount of effort) and effective (best results) way of accomplishing a task, based on repeatable procedures that have proven themselves over time for large numbers of people.


Right, so in theory we want to accomplish a task in the most efficient way and I absolutely agree with that not only applied on programming but in other things we do in life. Now, if we are talking about programming and more specifically, programming ActionScript for Games, then the thing changes a bit and mostly will depend on one factor: are you developing as part of a team?
if the answer is no, and you are definitely the only one working on certain game (or any application in general), then my advice is: "AVOID BEST PRACTICES".

and no, I'm not mad (well, not that much...) but I've opted for not using best practices because:

- The number of flash developers is growing (this is great!)
- The number of people learning actionscript is growing (is fantastic!)

ok, both are actually good things, but...

- the more people learning actionscript, the more people use the ever growing number of evil tools to decompile your applications.

And that's the thing, I've been working long hours on a specific script, using my knowledge, my brain, studying, experimenting, testing, debugging... and all that just for a bandit that will come and steal all the hard work to monetize with it?
NO THANKS!

the problem is, these days is very easy to monetize with your games, both using MochiAds and getting sponsors so there's a whole lot of thieves out there waiting for you to release a game just to steal some pieces of your code (if not all of it...)

Anyway, at the end of the day, they will manage to do it but I want to make their work not that easy, so from now on, I'll start using something like alphanumeric properties and methods so a code thieve will find only
var s48758wikk49 : String = "alajsktha"
that in fact it should be something like
var score : Number = 567;
and forget about best practices... :D
will be fun!

and of course, I'm seriously thinking about buying SWF Encript from Amayeta, I think any serious flash developer should have a copy of it.

ADVICE: Protect your code!

Salut!

Wednesday, March 12, 2008

Overload Studios website update


First of all, I still haven't got internet at home. Why? well, whenever my girlfriend allows me to turn on the computer, I don't want to spend my time checking my email, forums, blogs, etcetera; I prefer to work! :)
These days I've been working on my games, updating old games and creating new ones and to promote them, I have updated my old website Overload Studios.
Last time I updated the site was back in 2003! almost 5 years ago, so definitely I had to do something about it and do it fast so that's what I did:

Homepage:
- Took a component from AFComponents.
- Followed a tutorial in Spanish from Infected-FX (Gracias wey!)
- Added some of my widgets
- Added google ads, analytics, etc.
and voila!

Games Pages:
- Games and other swf files embedded using swfobject
- Added some of my widgets
- Added google ads, analytics, etc.
and bingo!

my site has many more visits now; definitely a clean, clear and fresh design helps you to get more visits :)
Of course I would love to have something more complex, having a rating system, allowing users to leave comments (that I can use as feedback to improve my games...) etcetera but at least the first step is done ;)

salut!

Wednesday, February 06, 2008

Widget: Piranha Loca

As I mentioned before, I had the idea of working on a game-widget or a widget-game or whatever you want to call it...
And there it is, a widget called Piranha Loca, available at this moment only from Widgipedia as a web widget but I'm planning to add it to different widget distributors and have it available as a desktop widget as well.
Again I've added MochiAds to the game so I can get some revenue out of the long hours that took me creating it :)



Salut!

Tuesday, January 29, 2008

Widget: The Persistence of a Genius

Inspired by Salvador Dalí's "The Persistence of Memory" where melting clocks mix with other elements including a group of ants, there it is yet another analogue clock for my collection...



The time is first taken from the computer system then shown as an analogue clock; the ants react to the mouse pointer.
I've taken some elements from different widgets I built before as some of the elements used by Dalí were used in more than one of his masterpieces...
When I was developing it, I was listening to "Salvador Dalí" by the Spanish band Mecano about 3 or 4 times in a row... I love that song! :)

If you like the Persistence of a Genius, you can get it from this link.

Salut!

Monday, January 14, 2008

widget: add to favorites flash button

Checking the statistics for Slippery Breakout's new page, I found interesting that some people come directly to the it so I guess they have added the game to their favourites.
I decided that would be good to give the users an option to add it to their favourite websites with a flash button as I've done before and continue my collection of flash button widgets. So far we've got:
- add to delicious
- add to stumble upon
- add to google
- add to netvibes
- add to technorati
- add to bloglines
and the latest one:
- add to favorites!

come on, don't be shy and give it a try:



the cool thing is that it works with both Mozilla Firefox and IExplorer (I shouldn't mention IE but you know... it's still in use... :D )

Let's see how it does and if it manages to get to the Widgipedia top widgets as its "brothers" did ;)

salut!

Monday, January 07, 2008

Hallpass games deal


If you want to monetize from a game you have developed, apart from adding MochiAds and submitting your game to MindJolt as I did with La Cucaracha, you can look for a sponsorship.
There are many games portals out there that, if your game is good, would be happy to pay you some money if you change/add this or that to your game, however, the best deal I have found so far is the Hallpass Developer Top Score Special.
The idea is to make your game compatible with their top-score system and you do that adding just one line of code.
I added this line of code to my game Slippery Pong and submitted it to Hallpass, when my game was accepted and added to the portal, I've got an email from Hallpass letting me know the $50 had been paid to my paypal account :)

Bill, from Hallpass says:

...I have been a full time web master (for games portals) for almost 10 years now.
The reason why I have been able to stick around this long is because I "work with" developers. Not simply sponsor games which I think will get the most hits back to hallpass. As you can see many of our games get passed up by other portals, on hallpass I try and work with up-and-coming developers in the hopes they remember us after they make their first big hit and allow us to work with them on it. I dont get the max value of every game I sponsor but when you add up all the developers together hallpass offers a great package, and helps promote unknown talent.


Hallpass allows your game to have MochiAds so you get money from both your adds and from their sponsorship. I think is a great deal!

Now go and check out Hallpass and don't forget to vote for Slippery Pong ;)

salut!

Friday, December 28, 2007

La Cucaracha in MindJolt

The idea of having a widget to do marketing for a game didn't work much; after joining MochiAds to get some revenue from my games, the thing was going a bit slow...
I still haven't lost my hopes on using widgets to do some marketing though but definitely the way to go is to distribute your applications EVERYWHERE.
For the last year I've been building widgets and uploading them into different distributors, trying not to upload the same widget to more than one distributor; however I don't think it was the best option.
The more distributors show your widget, the more users...
Now, going back to the game "La Cucaracha", I decided to send it to some game distributors, including NewGrounds, where the game did so so and I had some views that generated some small profit (around $1 :D )...
A couple of days ago, I got and email from MindJolt telling me that they had accepted my game and after a small amend should go live; I did the changes and the game went live yesterday and...
HURRAY!!!!
I had almost 50K views in one day only!
the reason?
MindJolt has a really cool Facebook application where people are encouraged to play games and compete with their friends to see who has the highest score...

GREAT!
that encourages me to keep on developing games, although I shouldn't leave widgets on a side, so the next one will be a game widget! :D



Thanks MindJolt!
and of course, thanks MochiAds!

salut!

Friday, December 07, 2007

Widget: Roaches

Roaches is a widget I built some time ago and put it on yourminis but didn't think it will be successful at all, however seems like its a bit popular as so far has more than 1200 installs.

I've made some minor updates as the cockroaches were a bit slow but the biggest reason for the update (and for this post) is because this widget has now a new purpose: Marketing.
I've added a small "play game" button as a "call to action" to any person watching at the widget; the widget itself has some sort of interactivity as the cockroaches react to the mouse pointer, but I'm promoting the update of La Cucaracha, a game I made long time ago and these days I've been working on it (but haven't managed to upload the latest update as I cannot connect to my server... :( )
Anyway, here it is:



Might be a bit naughty from me adding something to a widget that has been in the wild for a while but at the end of the day, as soon as my widget doesn't have any sponsor, I'm its owner and I can do the changes I want (changes that won't change much the nature of the widget though).
erm... this of sponsors sounds more like in the gaming industry as when you build a game, you can go to online companies that can buy it from you or sponsor it in any way; I think we are missing this in the widget industry.

Anyway, yes, I'm back to the gaming industry as from last month I started a new job as a Flash Developer for an Online Games company in Central London. As well I moved houses and I haven't got internet at home yet, that's why this blog has been a bit quit these weeks...

salut!