Archive for the ‘Announcements’ Category

Feature Roadmap



Since the initial release of Beanstalk Games last month, our team has been hard at work creating more features for our users to enjoy. My role in this, as the programmer, is to build the behind the scenes functionality of the site. My job is to make things work smoothly and plug in the designs from the designer and artist. My goal for Beanstalk Games is to make it as interactive as possible without compromising on security or performance. To this end I submit the following features to expect in future releases of Beanstalk Games.

Short Term Releases

The following features will be released within the next few weeks or so, as they require more development and testing time. I have implemented a graphical rating system which instead of the numerical system, allows the user to rate games using stars. The rating system, a jQuery plugin, can accommodate any graphic. The plan for the future is to use beans to tie in with the beanstalk theme. The graphical rating system has also provided the impetus to switch to the wonderful jQuery JavaScript library, which in turn has decreased page size and uncluttered some markup. Previously the site was using Prototype, which I find to be too old fashioned JavaScript and requires the use of onclick and other HTML event attributes. Also, in an effort to recommend similar games in the future, and immediately improve site usability, I have implemented a favorite game system where users can tag games as their favorites which then show up under a favorites header on the profile page. Once games have been added to a user’s favorite list, they can be removed from the profile page as well. Likewise I have implemented a recently visited games feature, where our system tracks which games a user views and displays that information on the profile page under a recently viewed games header. I have considered adding an opt-out option to the profile page as well, for users who do not want our system to keep track of their habits. Another addition to the review system is the useful review feature. This system allows user to recommend this review to other users. Those reviews with the most recommendations will float to the top and be displayed first.

Long Term Releases

Farther down the road are the following features that still require some significant development and design work. We will be implementing a parent/child review system where reviewers will have the opportunity to review a game for themselves along with the opportunity to review it for their children. Likewise we are implementing a professional reviewing system where industry reviewers are able to review the games on our site. These reviews will then be displayed along with user reviews. We also want to be able to recommend games that are similar to the currently displayed game. This metric will help the user as it provides an additional point of reference for new or unfamiliar games. This feature will make use of the game reviews as well as the recently viewed and favorite game features. I have also implemented an ESRB rating system where the games that have ESRB ratings will display the familiar E, T, etc. ratings. Similarly I am working on implementing an age range system where games will be associated with the age range of children or adults who will enjoy it most. We are also working on a system that will allow us to associate games for which we have retail copies. This will essentially link to our new upcoming Brighter Minds website.

Technical Discussion

I would now like to discuss some technical issues. These are generally the things that excite me most, as they allow me a respite to the usual grind that is programming. On the slate today is collaborative filtering. What I have learned about collaborative filtering is that it puts to use statistics that most sites already have to create a useful recommendation system. The general idea is that we start out with, for example, a table of user reviews of games. Clearly there is a great deal of information here including the user names, game information, and more. But collaborative filtering uses this potential mountain of data to find games that a given user would like or that are similar to a given game. This is done by examining the current user’s review history and finding the games he/she reviewed. The next step is to look at the entire review dataset to find games that others have reviewed that the current user has also reviewed.

After finding the review correlations there are two paths we can take to analyze the data. One path recommends games on a user basis, where we analyze user reviews and make recommendations from users whose reviews are similar. The other path we can choose is to analyze the reviews and make recommendations based on similarly reviewed games. The first technique is called user-item filtering, and the second technique is called item-item filtering. I plan on using the item-item filtering technique so its details follow.

Once we have this user-game matrix we apply a difference algorithm to the data set, which essentially computes the similarity between games that have been reviewed. This produces a matrix of game-game similarities. Popular difference algorithms are the Pearson score and the simple Euclidean distance formula. Once this is applied we can compute the review of the current user for the games he/she has not played. This computation can be done in a number of ways but the simplest is the weighted sum. We then select the highest computed reviews and recommend those games to the user.

In terms of performance, the most demanding operation is finding the game-game similarity matrix where we apply our difference algorithm. It is trivial to compute the user’s predicted review. To mitigate this, we can simply store the game-game matrix in a database table. The implication is that we then only have to calculate the matrix again if a time interval expires or games or reviews have been added. I am thinking of simply running this operation on a given interval, daily or weekly. Then, game recommendations are simply found by a look up in the similarity matrix table, a computation of the given user’s predicted review, and a sort on the closest matching games. The only sacrifice here is that new reviews or games do not get added until the matrix is updated, which may be up to seven days.

Another technique is to take the current user out of the computations. This essentially finds games that are reviewed similarly by a group of people. I have yet to research this technique further, but it does look promising, provided it does not require a significant increase in computation time.

How this applies to the games on Beanstalk Games is still to be decided, but one source of readily available information is the favorite and recently viewed game histories. Here the same techniques apply, but the review example changes from a review metric to a viewed/not viewed or favorite/not favorite metric, which is essentially the same as a 0 or 1 review. I only hesitate not using reviews because the dataset would be very sparse, which means the recommended games may or may not be accurate.

Honestly I am still rather foggy on the details of these techniques, and since I am writing this off line (gasp), here are some references for further reading. The resource I most recommend is the Collective Intelligence book from O’reilly with the penguin cover. A really great technical explaination I found on CiteSeer is called Item Based Collaborative Filtering Recommendation Algorithms. And a PHP implementation that I haven’t had a chance to look at is called Vogoo. Also the obligatory Google search.

Stay tuned for more exciting adventures next week.

A Bit Too Much Kid



I think I may have mentioned in my original post that I wanted Beanstalk Games to be a family-friendly website. Talking about that vision with some of the other people here at Brighter Minds, I came up with a representation of my feelings of what Beanstalk Games should be. Mom sitting at the computer with a child in her lap, looking for games to play. Not just games for her, or games for the child, but games for them both.

Gamezebo did a review of our Bob the Builder: Can-Do Zoo program and I found this on their forum:

Click Here to see the Gamezebo forum post

The line “my son is always wanting to play ‘my games’” is what caught my eye. I’ve always been an avid computer game player and when my kids were younger they would watch me play and sometimes want to sit in my lap and click the mouse or push the keys on the keyboard. They wanted to help me, and play with me. When kids see mom and dad having fun they want to be included. Fun together is what Beanstalk Games is about.

A lot of the games on Beanstalk are appropriate for parents and kids. Diner Dash is a great example of that kind of game. It can be enjoyed by anyone from 8 years old to 80 years old. Some games are only appropriate for younger children. Our Bob the Builder Can-Do Zoo is a good example of that. A 4 year old might love it, but after the age of 6 or 7 it’s not really going to work for most kids. Some games like Hidden Secrets contain references to violence and other subjects that would not be appropriate for kids. Though it’s a great game, it may not be appropriate for anyone under 15 or so.

What I want from Beanstalk games is a place where you can go and find the games that are appropriate for you or your children. I want to Beanstalk Games to provide you with not just game descriptions, but with reviews from other parents just like you. Where you can read about what games those other parents liked or didn’t like. Read about what games the kids enjoyed and how old they were when they played them. I want to give you a place to go where you can get the information you need to help you choose the best games for you to try, both for your interests and for your child’s interests and abilities. The information you need to be able to choose age and content appropriate games for your kids, and the best games for you to enjoy on your own time.

My fear is that every time we show the website to anyone, they see all the fairy tale characters and automatically think that it’s a web site for kids.

It’s not.

This website is for us all, Mom (or dad, aunt, uncle, grandmother, grandfather) with young child in their lap or older child standing next to them. We need to adjust the look of Beanstalk Games to better convey that message to you, our audience.

So, we put a bit too much kid into the design and now the challenge is to trim away at the kid and leave in all of the fun. We have a few ideas on how to do it - but we would love your input, too! Please feel free to let us know about your initial impressions of Beanstalk Games, and how you think we might be able to grow and improve. Stop by from time to time to watch as we implement changes and let us know what you think.

As always, any and all input is appreciated and encouraged :)

Yours Truly,

The Mean Giant
MeanGiant (at) BeanStalkGames (dot) com

Who is Beanstalk Games?



I know it’s not grammatically correct but let me tell you why it FEELS right to say it.

First let me tell you our vision for Beanstalk games.  We want to create a website where families can go to find and talk about the latest computer games.  A community where people can try games and let the other people of that community know what they liked and what they didn’t like about the games they play.  But computer games are not just for adults.  Kids are people too!  So we want Beanstalk Games to be a place where you can download and try games with your children, grandchildren, nieces, or nephews.  Where you can take a look at what other parents have to say about the games their kids have tried - what they liked, what they didn’t like, and why.

We’ve put a lot of time and effort into making Beanstalk Games what it is right now.  But this is just the rough outline of what we want it to be. It’s still a living creature, growing and evolving. We have big plans for the reviews of games available to you. Professional reviews, reviews from parents, even reviews from kids! We are going to have fun contests and prizes for our community to encourage you to help as we continue to GROW.

It’s a community website and we want to hear from YOU in our community.  We have a vision for what we want Beanstalk Games to be as it grows up but we welcome and heartily encourage you to be a part of the process.  Rants, raves, praises and suggestions.  We want it all so that we can make Beanstalk Games the best that it can be.  Please help us make the right choices for our website and we’ll share everything we can about our progress with you. Remember what Beanstalk Games looks like now, on Day One, and let’s see where we can take it together…

Growing is an important theme for us at Beanstalk Games.  You’ll see little Jack and Jill climbing our ever-growing beanstalk.  You’ll be a part of our growing community.  The list of available games for you to play will continue to grow. And the games we make for children will help them grow up with the right values, and a love for computer games of course!

Beanstalk is our project, our baby, our child.  That’s what I mean when I say ‘Who is Beanstalk Games?’  It’s more than just a website to us and we hope it will feel that way to you as well in time.

So please feel free to comment on this blog, post your reviews on any of our games, or contact us at: gamesforkidstoo (at) brightermindsmedia (dot) com

Please sign up here (Click here to Register with Beanstalk Games) and come grow with us. We’ll send you all the latest news, special offers, and sneak peek games and information before anyone else.

Thanks for listening - and enjoy the Beanstalk!

Yours Truly,

The Mean Giant

Coming Soon



BeanstalkGames coming soon!