Archive for December, 2008

Smiles nominated for Best Casual Game

Wednesday, December 31st, 2008


As the title says, Smiles is a finalist for Best Casual Game of 2008 on

Visit this link and give it a vote.

Thanks! 😀

And a reminder, Smiles Drop is on sale for $1.99 (reg $2.99) until the end of the day new years.

EDIT: The Smiles Drop sale is extended until Sunday the 4th. Sunday night though, it’s going back up.

Whee. 🙂

Physics in Smiles

Tuesday, December 30th, 2008

At first glance you wouldn’t think a matching game like Smiles would feature physics, but it does. In several places actually.

The most obvious example is the particle effects.

Particles were used when ice and rocks break, and also for the tile clearing effect. The tile would be erased instantly from the board, and a particle would be created in it’s place. The particle would zoom in, slow down, then zoom out with a twist. This was achieved entirely with initial settings upon creation of the particle.

You can see this in action in the video below.

The particle system has was what I like to refer to as a Position+=Velocity+=Acceleration+=Drift simulation. Each of the 4 components adds itself to the prior one as the integration step (except Position). Since a particle lives for only so long, Acceleration and Drift are often enough to control where the particle goes. Acceleration will push an upward Velocity down (gravity), where Drift gives you the freedom to pull it left to right, or pulse it back to where it came from (faking combustion nuances).

The simulation also supported a number of other stepping factors. Animation rate change, color/opacity change (allow values greater/less than 0 and 1, but clamp them as used), size and rotation. An Acceleration is usually paired up with a Drift for all these too.

– – – – – – –

The next simulation I want to talk about is the block falling/squishing one in Drop.

Every tile in Smiles is made up of 2 particles (the center and the distorter), a spring, and a floor constraint. It’s a verlet style integrator (Position and Old_Position).

Each tile is a self contained simulation. Behind the scenes the tiles fall instantly, but their physical position is remembered. Once all the clearing effects and the floater timer finishes, the simulation begins. Each tile is given a slight bump upward, and gravity pulls them downward until they impact the ground.

The first particle (the center) is the only one actually affected by gravity. The 2nd particle’s job (the distorter) is to follow the first particle (the center). The spring pulls it along. The distance between the two is used as a distortion scalar. It’s plugged in to a matrix that is used to squash or stretch the graphic.

The game also features automatic tips and blinking. To help make a tile stand out, the length of the spring it changed/pulsed between a few values. This in turn causes the 2nd particle (the distorter) to chase after the real position it should be at, and the distortion scalar changes appropriately.

– – – – – – –

Finally, the last simulation I want to talk about is the “water” simulation in Zen.

This simulation was mathematically cool since it was 1 dimensional. A Position value that tried to become zero (the spring), with an Old_Position that made sure it bounced around a bit (velocity, and a scalar that eventually reduces velocity to nothing). Getting a tile to jump around was a matter of setting the Old_Position (velocity).

To create the ripple effect, each tile looked at it’s neighbors Positions. The difference between positions would be taken, scaled down, and subtracted from us (so that we follow our freaking out neighbors).

This one was eventually toned down, since it made even me queasy watching it. 😀

– – – – – – –

And that about covers the physics in Smiles. There were other physics-like behavior found in the game, but they were done with tables. 20-40 values showing gradual acceleration, deceleration, pushing too far, etc. Menu’s used this, swapping used this (scale), and holding your finger down and scribbling shows it in action. I thought I had a video, but it seems I don’t. Ah well. 🙂

Amusing bugs/oddities developing Smiles

Tuesday, December 30th, 2008

I kept video of some of my more interesting bugs/glitches/oddities in Smiles. Some more silly than others.

The first I want to show is a bug in one of the effects for the game mode Zen. It was supposed to be a “toss a rock in to a pond” water ripple. It didn’t really work as expected.

Here’s what it was supposed to look like. Cool looking, but the problem with this was the effect would make you queasy.

In the end I had to tone this down. It’s still in the game, but very subtle now. Not a good idea to make your customers get sick.

The next bug is a little more minor. I was building my menu screens, and gave some elements the same ID as one of my buttons.

The last one is just me being silly. Working on the achievement unlocked effect, I decided the achievements should have a conversation with themselves.

And that’s my list of interesting things that happened during Smiles‘ development.

Smiles Drop New Years Sale, More

Tuesday, December 30th, 2008

Rather spontaneously, I decided to put Smiles Drop on sale for New Years.

So for a limited time (i.e. some time early Jan 2nd morning) you can grab Smiles Drop for the extremely reasonable price of $1.99 (save $1). That puts it in check, so you can buy Smiles Zen after that, and have paid the same price as buying full on Smiles. Well… you might save a penny buying separately, but still.

– – – – – – –

Working on an update for Smiles too. Should include a battery save feature, that should improve battery life for a lower framerate. Fun fun.

– – – – – – –

Smiles’ art was featured in a nonstandard place. In an article on game art.

Awesome. 😀

The article is about how a programmer can cheat to make decent game art, though Smiles is referenced as a good example of shape.

– – – – – – –

In other news… yeah… I guess the default theme has hung around for a while longer than expected. One of these days I’ll make something cool and slap it on the top… followed by fattening up the theme a bit.

– – – – – – –

Recently I’ve been playing around with a new digital painting app, Paint Tool Sai. As a Paint Shop Pro user (hoping to find a replacement), I have to say the toolset is extremely familiar. It lacks font features so it’s no replacement for PSP, but the workflow is incredible. It’s possible I may stop using Sketchbook Pro and start using this in it’s stead.

Slight language barrier, but I think I love it.


I’ll have more to say about Paint Tool Sai as I put it in to production.

– – – – – – –

Also writing. Yes, writing. Just not writing blog stuff it seems.

– – – – – – –

I’ll leave you with a teaser… since I want to try out the upload feature.


Not a project per se, but proof that I’m exploring ideas. Well, more than anything, proof that I’m playing with Blender again. Figuring out how you’d make 3D tiles… for backgrounds of course. I still have to do 2D characters. That’s just the way I am. 🙂

Long overdue upgrade

Friday, December 12th, 2008

As the name suggests, I finally upgraded my WordPress, and am now running it off my “personal” hosting (as opposed to the biz hosting).

Unfortunately, I was using a relatively ancient version (2.0.3) that lacks an export feature.  The best I’ve been able to do was import the RSS feed.  This means I lost all the comments (and my drafts).  Ah well.

So now after 3 years, it’s finally redesign time.  Fun fun.

Expect some site weirdness throughout the week. It took the nameservers all day Friday to renew for me.

Smile Zen and Drop Available, News

Friday, December 5th, 2008

It’s been 2 weeks, and much has happened.

As the topic suggests, Smiles Drop and Smiles Zen are now both available. $2.99 each, or save $1 by getting Smiles ($4.99).

Smiles Zen Smiles Drop

So yeah, in a way that means I technically have 3 games out. :D

As for blog content, I’m half way through a post on what went in to creating the video. Actually I was half through the Friday of the last post, but got caught up in the fact that I could actually take it easy for a couple days… and I sorta haven’t gone back to finish the post yet. ;)

I sent a bunch of e-mails out late Monday night to announce the full availability of the split. I got some response. I’ll list these later with the new reviews.

Speaking of writing, I should be contributing a chapter to a book. More details to follow in the coming months.

As for the last week and the weekend, I’ve been busy backing up, formatting, rebuilding my server and workstation PC’s. Server’s back up and humming away (short an SVN problem). Workstation… heh… I guess that’s in progress. It’s backed up, but I keep putting off the format.

Main reason for putting it off, Ludum Dare 13.

Ludum Dare 13 is this weekend. Theme voting is on right now. Then at the usual 11 PM EST it goes live, and 48 hours later you have a game. This is the first one in a long time I’m making the effort to enter. Things have “sort of” calmed down. At least, calm enough that I’m able to make such plans. Heh, one of these days I’ll get around to finishing the site. ;)

In related Ludum Dare news, we’re obviously all a little silly. Towlr is back and bigger than ever.

towlr is back

Currently there are 4 towlr games created by different Ludum Dare regulars featured on the official site. More are in development and/or require some py2exe love. If there ever was a Ludum Dare inside joke/critique on game design, it’s this. Towlr is watching. Towlr waits. May you discover the cake in each.

The IGF Mobile entries list went live the other day. A relieved mere 104 entries. Hehe, with my entry number of 754, I was a little worried. :D

Phil and I are both there, as well as several people I’ve been chatting with via e-mail, forums, IRC and Twitter. Plus, as far as I can tell, each category of a classic IGF is available too so… dare I say… there’s actually a chance of being a finalist for something. :D

I’ve been marketing like a machine. Tuesday night, Apple went live with a feature that lets you send promotional codes good for a free copy of games. They limit you to 50 codes per game, and with 3 games worth of codes at my disposal I’ve been getting creative. :)

Promo Codes

This image I lifted from an article on iLounge. It seems I was aggressive enough to get a mention. :D

I’ve nearly used up all my Smiles freebies. I’m saving a few for emergencies, but Smiles Zen and Smiles Drop codes have proved to be good giveaways for iPhone game sites. A little promotion I did today was met with some pretty good response. One and two minutes later, and the codes were all gone.

Googling for “Smiles Game” and “Smile iPhone” now finally yields some results related to the game. Excellent. :D . Cracking the “Smiles” search term is going to be a real battle. Bottom of page 9 last I checked. I just have to keep people talking. ;)

– – – – – – –

Now for the latest reviews!

First off, Smiles is currently averaging a 4.8 Star user rating worldwide. That’s pretty great. :)

OSX Reality gave Smiles a nice 4 Star review. The only beef was likely solved with the recent release of the split.

iPhone Games Network gave Smiles 4.5 Stars, an Editors’ Choice award, and a great quote for the website.

148 Apps gave Smiles 4.5 Stars, and another great quote for the website. approves of Smiles in a Video Review. A shame he didn’t find the multiple touches feature in Drop yet. I need to make this more obvious in v1.1.

A blogger discovered Smiles, and seems to think it’s worth the money. That’s good. :D

– – – – – – –

And the publicity!

Slide to Play mentioned Smiles in their weekly look at games video.

iLounge included a mention in addition to the promo codes article above.

The iPhone Blog liked my alternative to the usual price drop madness plaguing the iPhone.

Pocket Gamer liked it enough to post about it too.

I’m going to skip syndication this time, since there’s so much of it. ;)

– – – – – – –

So wow, lots going on. I know I’ve missed something, but that’s what I’ve got for now.

In the mean time, Ludum Dare 13 is tomorrow. I’ll be all over that and then some. Then to finish (start) this workstation format, and get back to the fun.

Until next time.