Sunday, August 19, 2007

MochiBot and MochiAds

Two free services. One tracks your SWF if you share it. The other puts ads in it so you can make money. MochiBot!

Friday, August 17, 2007


Kongregate logo

I published Square Nine at Kongregate tonight. They share 25% of add revenue. +15% if a game is exclusive. +10% is a game uses their statistics and high score API.

Join up.

Sunday, July 29, 2007

Games: Square Nine Update

Square Nine is still doing great at wiicade. It has a 3.3 rating and 4500+ games played. I think it was a fine addition.

Sunday, July 15, 2007

Games: Klondike, Spider, Fours Solitaire

This last week, I put together my first pass at a card game engine.

The card engine supports Decks, Cards, and Undo. Decks can shuffle, add/remove cards, set drag/drop restrictions, and draw in various ways. Cards have info about themselves and can be moved about. The Undo engine allows moves to be undone.

The classes were used to build three solitaire games: The Classic Klondike, Spider, and Fours. The current implementations work but are not heavily tested. The most obvious piece missing is polish.

The game itself just has to layout the positions for multiple decks, establish the drag/drop restrictions, create undo behaviors, check for victory, and in the case of Klondike -- write the autocompletion routine.

Klondike, the last in this series, was working in about 4 hours with 4 more hours of cleanup and refactoring to the card and deck class.

I hope to add animation for the cards next. And the games need sound and general polish. Likely in August.

Note: I used a deck of SVG cards from David Bellot. I was disappointed that Adobe Illustrator would not convert them to the Flash format. I expect to replace the cards and card backs as they are way to big (a bitmap for each one) and look bad (because they are imported from a bitmap).

Friday, July 6, 2007

Flash: Testimonials

I put together a testimonials movie yesterday from a Craiglist request. The request was a little old (mid-June) but it seemed like a simple enough project that had potential widespread use. Here is the demo. The donation route hasn't been working and so I think perhaps the freelance one will.

Thursday, July 5, 2007

Framework: Cards

The card game framework is finally underway.

One of the first steps is to get card images. For now, I am using a free SVG deck and sliced up the image using SliceImage. SlideImage was really nifty and saved me at least an hour of cropping out each of the cards from a composite image.

The other thing of note is that I am trying both a scrum for one and Test-Driven Design. Every day there will be some refactoring too. How extreme of me!

I expect to release the framework (for Flash 7 because it must run on the Wii) when I am done with the first game using it.

Tuesday, July 3, 2007

Games: Square9 ratings

After the first day on, SquareNine has a 3.5 rating with 250+ games played.

July 6 Update: 750+ games played and a 3.4 rating.

Game: SquareNine

I just released a new Flash mini-game: SquareNine. It was built with the Wii in mind so it plays nicely on that system. If you like it, head to to vote for it. It needs to have a 2.5 or higher rating to survive its probation period. It needs a 3.4 or so to be on the first page of the puzzle games.

If you are reading this an either want the source or to post it on another site, let me know.

Improvements over my last mini-game (Slider) is a preloader, sounds aren't on the first frame (sound movieclip with stop() on the first frame and the sounds loaded in frames 2 through N), and a really nice visual score history/meta game. My art still needs help though.

Saturday, June 30, 2007

Code camp

San Diego Code Camp is this weekend. Too late to tell you to go though. Hosted at the UCSD Extension classrooms, this was a fabulous free gathering of geeks. Speakers talked on all ranges of coding. I went to an Introduction to Agile, Managed vs Self-Formed groups, Scrum, and two refactoring sessions. Afterwards, there was a free dinner and band.

I can't make the Sunday sessions. Someone from Microsoft is talking about XNA and game development that would have been very interesting. Next time.'

My take-home tasks include looking up "scaling scrum", reading a book on Refactoring, and trying to figure out how to get a team in San Diego to use scrum. I wish I was coding because then I could suggest that I need a coding partner too.

Next year I should consider giving a talk. Suggestions?

Friday, April 27, 2007

Kids Cheating in Online Games,0,4256114.story

Online Game Infrastructure

Summary of Mastering Online Game Conference which discusses many of the things I'm going to be talking about at the Seattle Online Game Developer's Conference in May.

Wednesday, April 25, 2007

Torque: MMO Kit

Torque MMO workshop is starting to give independent developers a platform to build an MMO. Interesting...

Saturday, March 31, 2007

Blogger: label widget

A variety of people have written bloggerscript code to make the label widget be a cloud. Here and here and ... you get the point.

The first one seems overly complex. The second one with a quick modification to remove everything BUT the zoom mode and adding post counts is what I am currently using.

Friday, March 30, 2007

Flash: Training at

Cartoon Smart has a bunch of training videos on Flash and drawing and actionscript. I haven't actually watched any yet. I plan to and will write up reviews once I am done. Anyone else seen these?

Hmmm. Some of the training is free. But most of it apparently costs money.

Saturday, March 24, 2007

VB: Developer name announced

Announced is an overstatement. We are going to be releasing VectorBlast under the Three Gunmen Games banner. Brand new branding. I believe we are trying to get a pitch sheet up and a game snapshot over at Garage Games.

What the new brand means is that we have hopes that the game will sell enough copies to cover the cost of a couple of domain names in addition to the previous expenses. So you will start to see a couple of references to 3Gunmen on occasion now. The google search is pretty clean except rather graphic -- lots of news stories about 3 gunmen doing horrible things to folks.

Wednesday, March 21, 2007

Game: Betrayal at House on the Hill

Betrayal at House on the Hill demo. 3-6 players. Boardgame. Not in my collection.

Tuesday, March 20, 2007

VB: Screenshots

Vectorblast! Steve has some information on the game. Time to work on him to update the information though.

VB: Weekly Progress

We still aren't ready to release to much information about the game. But at least you can track some progress. Follow the links for more information about Torque Game Builder.

This week for VS, I went in an updated the highscore page to prompt you to enter your initials when you get a new highscore. Fluff is important. The highscore list is just one way we hope to keep you playing.

More importantly, I figured out how to allow for all our commands to be mapped to the keyboard and controller. The keyboard commands get assigned a KEY. The controller buttons/sticks/triggers get assigned an ACTION. And those get saved in the preferences. Next for this feature is a proper user interface. That's an 8+ hour task so maybe this weekend.

And finally, I added our "brain" to the last of our ships. It is a very big ship with multiple turrets and could be considered an aircraft carrier. Steve will be adding the script logic to destroy the turrets and adding them to several levels.


Mono face is a brilliantly simple idea. A bunch of headshots and you get to flip through different parts.

Net seminar: Parallel computing -- Are you ready?

Intel has some free web seminars. This was the first in the series. You can signup at

The next event is April 3, a gentle introduction to parallel softare.

Go to
Or to Intel Sofware College

Here's my summary of the first one (the PDF of the sliders are available):

Tim Mattson.

Good: Moore's Law expected to continue.
Bad: Single thread performance is falling off
Worse: Growth in power usage is exponential

1) Transition to many core architectures --
driven by the fundamental physics
multiple cores per silicon
one large core = 4 power -> 2 performance
4 small cores = 4 power -> 4 performance

the trend continues - 4, 8, 16, 32, ...
general purpose and special purpose cores

2) Parallel computing is ubiquitous
Software cannot count on hardware frequency improvements
Time to think about parallel applications

Look at high performance computing for examples for standard parallel algorithms. 6 buckets. Not trivial but lots of information exists.

Look for tools to help!

--patterns for parallel programming (book)

James Reinders
3) Software Must Change mindset to parallel
serial algorithms don't necessary work well in parallel
and for sometime, we'll still have some single core systems

Tools from Intel- (lots of later talks)
optimizing and debugging tools need improvement

4) Software challenges and mindset changes

A) scaleability : should be faster on 2 processors than 1 and faster on 4 than 2. Dividing into 2 is not enough.
Best solution is to use abstractions that have scaleability worked out already. OpenMP, threaded libraries, thread profiler, Intel Threading Building Blocks

being able to visualize the cores is essential

Threading Building Blocks - (a seminar just on them soon)
has existing parallel algorithms
highly concurrent containers

Hand coding may not be as efficient as using tools such as building blocks and OpenMP as the cores approach 8 and beyond

B) correctness : race-conditions and deadlocks
deadlock - a is waiting for b but b is waiting for a
livelock - more than one thread is waiting for some thing that won't happen
race condition - thread should be waiting but doesn't

debugging tools haven't dealt with this because these conditions don't happen in serial applications
intel thread checker - dynamically analyze code to find deadlocks and race conditions

Automated detection is essential because the risk is high.

C) Maintainability

calling threads (pthreads/window threads) yourself is like using assembly. increases maintenance issues as more cores become available.

Use OpenMP, MPI (lots of cores), language extensions

5) Programmer challenge
- think about parallel (or perish)
- learn about scalability, correctness, maintainability

6) Questions and Answers

OpenMP vs Intel Thread Building Blocks
- both have there place. openMP is almost everywhere.
- Thread building blocks can be used with OpenMP
- TBB is like a standard template library for parallel computing
The intel compiler has a switch to have it look for parallel opportunities

7) Demo code
Destroy the Castle game:

-- The bias of the presentation is to use Intel tools. But overall the concepts are important. Many of the later topics go into specifics on the tools.

Thursday, March 15, 2007

Torque programming

The project is neither Flash nor ActionScript nor even online. But I am working on a project using the Garage Game Torque engine. The reason it gets mentioned here is that this game will more than likely be a better way to fund my hobby (building games) than posting the quick and simple Flash games. They were an attempt to bring in some traffic to translate into some donations -- I think the month+ I spent on the sirigames site and the games has brought in $0.03.

The game, if the handshakes hold up under pressure, on the otherhand will be published once it is complete. I suspect my share will be more than $3 per month. 100x the return. I honestly expect it to be closer to $300 for awhile.

I would like to be able to write about it here. I hope you'll find the experience interesting. More details about the game will follow as things become public.

Monday, March 12, 2007

Video: Pole Position

Not so noisy has a couple of videos of an art project that uses people for pixels. This one is of pole position...

Sunday, March 11, 2007

Design: Clueless

Based on the board game clue, this proposed logic game boils the hunt for the clues down to the simplest form. The user picks to play again 1-5 computer controlled opponents. The who/what/where cards are drawn and the rest of the cards distributed to the players. The user gets to ask one who/what/where question per round. The order of responses follows the board game's logic -- the player to the left shows one match and if there aren't any matches, the next player shows a match, and so forth. Only the actual player makes any guesses.

The motivation to play is that the Clue mechanic is an interesting logic game. The number of moves required is recorded to give the player a score.

The user interface would likely involve a checklist that gets filled in automatically and the cards. To avoid trademarks and copyrights, things like names would have to be replaced.

Future enhancements would include more or less cards, different number of dimensions, and some multiplayer action. But multiplayer moves the game from


One way to be held accountable is to publish a roadmap...

  • More Flash games at confetti, railroad puzzle

  • Multiplay game lobby and move mirror

  • Google or Yahoo map project

  • A proper mashup

  • Kakuro generator

  • Gesture recognition project

Saturday, March 10, 2007

Puzzles: Picross

Very similar to minesweep, Picross forces you to think about placement in a grid with numberic clues. A google search reveals that these are actually called Nonograms or paint by numbers puzzles.

Wiicade has a fine implementation of Picross. The image is from the Armor Picross easy level. The hard ones are 15x15. Lots of puzzles are available.

Another instance of the game is TylerK's Picross.

Games: Slider on Wiicade

I released Slider onto last week and made it past its probation period with a rating of 2.7/4.0. Over 1000 sessions have been played so far. The Flash project was resurrected to see what type of results I could expect from wiicade and the opera browser on the Wii.

The puzzle game is a solid implementation of a classic. The first time I played the physical puzzle I concluded it was going to be really hard and thus went about writing a computer program to solve it. Unfortunately a bug in the code led me to the incorrect solution that the puzzle was unsolvable. The next week, after I told this story about the unsolvable puzzle, a co-worker quickly found the solution.

The most obvious change made for this version was the addition of an easy and half-way mode that makes the 116+ move puzzle more accessible to first time players. The easy mode requires just 17 moves and the half-way point is around 62 moves. I didn't add any logging functionality to trace the success rate of various users.

However, the second major change was to give out colored stars when a user completes one of the puzzle modes. A big gold star is awarded for the perfect solution. Large silver stars go to users getting close. And everyone else solving the puzzle gets a bronze star. The ratings may not be obvious enough to motivate a second attempt though. I suspect if I showed the number of moves actually required, Type A personalities would try again. Another limitation is that the stars are not persistent. However, I think that this is a really good first pass at ranking system.

The third change was to add sound. A quick prototype changes into a polished product with some quick sounds. The sounds are not great but enough.

The traffic to SiriGames hasn't been changed much but I expected the growth to be slow.

Tuesday, February 27, 2007

Flash and Flickr: Clock

This cool Flickr Flash clock inspired me to read about the Flickr API with ActionScript.

This reminds me of human clock.