greg.tracy

The Arrington game genre

Creating and playing Michael Arrington games is all the rage on twitter these days with the release of PopFly’s Game Creator. Folks love to add Mike’s mug shot to their games. So we decided that we should join in the fun.

With our release of a new personalization feature, we’ve made it dead simple to incorporate your own pictures and sounds into games and share them with others.

If you aren’t ready to embark on the creation of a brand new viral hit, you can start with an existing game and personalize the artwork to your liking. Every application can be personalized by pressing the personalize it button below every running applet. If you’d like to dig into the logic, add or subtract contact, use the edit it button to whip up something even more authentic.

Providing our contribution to the Arrington game genre… Fly through space and shoot down giant Arrington asteroids with Arringroids.

This is a personalized version of TJ’s Asteroids game, and incorporates high scores, friend challenges, and a discussion board. You get all of this with every game you create or personalize - without the need to program!

In what might be the geekiest marriage proposal ever, a programmer named Bernie Peng proposed to his girlfriend by custom-programming a Bejeweled game to pop the question when she reached a certain score. After posting the news on his blog, the news swept across the Internet. Here is some coverage on CNN and Engadget.

PopCap Games, the makers of Bejeweled, were so impressed they’re donating Bejeweled games for the wedding guests, and money for “jewel-themed decorations” at the reception. (Perhaps this will be the geekiest wedding reception ever as well…)

Other people have developed widgets or used Twitter to propose marriage, but this may be the first proposal by videogame! (Although an alert Engadget reader found this comic from a few years ago.)

These proposals are examples of people finding new, more interesting ways to communicate using digital technology. Sharendipity is an ideal tool for this type of communication! We don’t expect a flood of custom marriage proposals, but we do expect people to use Sharendipity to send a custom birthday card, or invite someone to dinner, or, well who knows what people will come up with.

It took Mr. Peng about a month to develop his Nintendo game. Sharendipity makes this easier. Here’s a birthday greeting created in a few minutes by customizing the TossWord game.

What types of greetings or custom games could you come up with in Sharendipity?

mark.gehring

Unveiling our new user interface - Part 2

Continuing discussion of the new Sharendipity UI, which was started here, now we turn to the new behavior editor.

The behavior editor is where a user controls component or application logic. This can range from simple rules to complicated programming. Our goal was to make the UI intuitive for non-programmers, but powerful enough for experienced programmers.

Previously, our UI was based on a tree-structure, and we presented all available options at each node in the tree, producing entries like this:

Old behavior UI

This UI included pull-down menus on each element that produced a multi-tiered menu, and a + menu on the right side that allowed addition or subtraction of other terms. The UI got the job done, but was intimidating and clunky. It didn’t give the user any indication of what to do, or whether a given selection made sense.

Our new behavior editor was inspired in part by Scratch from MIT, which in turn was inspired by Boxer.

The new UI is completely drag and drop. Actions, objects, attributes, and functions are presented in a navigator and dragged into the behavior editor. The action above now looks like this:

New Set Action UI

If I want to change the right-hand side from “0″ to some other value, say a copy of another object’s attribute, I simply drag in that attribute:

  1. Initially, I can type in a value for orientation.
    Drag and drop an attribute
  2. Instead, I’m dragging over the circle’s orientation attribute.
    Drag and drop an attribute
  3. Now my orientation is set equal to the circle’s orientation.
    Drag and drop an attribute

But what if I want to add something to the right hand side? Previously the + menu provided access to addition or subtraction terms. In the new paradigm, I select a math function from the navigator:

Math functions

And simply drag it onto the value:

  1. Drag the plus function and drop on circle’s orientation.
    Drag and drop addition
  2. The existing value, circle’s orientation becomes the first argument.
    Drag and drop addition

The comprehensive set of mathematical functions allows any equation to be created.

The logic for boolean operations is similar. Conditional statements are formed by dragging over logic blocks.

boolean_logic.jpg

Again, a comprehensive set of boolean operations allow creation of arbitrary logic.

Logic Functions

Notice that the boolean functions are displayed with a diamond shape that fits into the IF and and statements. This shape conveys to the user visually where a given function or attribute can be dragged.

The same shape is used for attributes. The boolean attributes below, such as ignore_collisions, have the same diamond shape.

Physics Attributes

The end result is an editor that provides comprehensive functionality in a straightforward drag and drop interface.

Behavior Window

Give it a try and let us know what you think! If you’re an alpha user, you can examine the logic from popular games like Filla. If you’re not an alpha user, send an e-mail to alpha at sharendipity dot com and let us know a little bit about yourself.

mark.gehring

Unveiling our new user interface - Part 1

We’ve just released a completely revamped user interface for Sharendipity! This project has been underway for the last month or so, driven by internal and external customer feedback. Our overriding goal was to make the software approachable and intuitive for both consumers and creators.

The slide-out galleries at the top and bottom of the screen? Gone. The radial menus? Gone. The complicated tree-based behavior editor? Gone.

Instead, we now have a paradigm based on characters that guide the user through the development process. These characters appear at the bottom of the screen and can easily be toggled on and off with the escape key. (Note that the graphics are temporary and may change.)

characters

Director The director (currently a professor) guides the user through management of high-level applications and scenes.


Construction Worker The construction worker provides access to the basic building tools for creating circles, lines, joints, and other content.


Librarian The librarian provides access to the user’s collection of assets (the gallery) for the current application.


Explorer And on the right side of the screen, separated from the other characters, the Explorer acts as a gateway to the components and applications created by the community.

Clicking on these characters produces a menu or window corresponding to the character. For example, clicking on the explorer produces the search window:

Search window

(If you’ve used Sharendipity, you’ll see that the Search window is completely revised as well, providing access to more search results in a better organized list.)

Similarly, clicking on the construction worker produces the tool menu:

Tool menu

In the near future, these characters will also guide the user using word or thought bubbles - providing an interactive tutorial for new users.

A future post will explore the new Behavior window.

We would love to hear what you think about our new UI. Post a comment, or better yet give the tools a try and let us know what you think.

dale.beermann

Who is really defining casual games?

There were two keynotes for the Casual Games Summit this year, one yesterday from PlayFirst, and one today from Microsoft Casual Games. To my surprise, it was actually Chris Early from Microsoft who expressed more of a core understanding of the future of casual games.

 

Before Chris’s talk, I was a bit dismayed at the content in the Casual Games Summit. There’s a lot of recapping about what casual games are: who the target demographic is; what the target platforms are; etc. If you’re here at GDC, chances are you already know this.

 

Chris realizes that casual games need to continue to innovate. The one statement that summed it up best was that we need to continue to look at casual games as “brand new,” a territory whose horizon is always evolving. Specifically, he understands that innovation in casual games is happening through social networks and the activities involved therein.

 

Among the specific topics Chris has noticed in casual game innovation are asynchronous play, the ability to play with your friends, mini-games as multiple winning opportunities, data persistence, and pyramiding through the social graph. He knows that the portals need to embrace change, and he’s got the right idea. As an indication, yesterday’s talk on Social Gaming was in front of a crowd that can’t even be described as standing-room only:

 

Social Gaming

 

To his credit, I’ll also mention that John Welch from PlayFirst had a few key points. One: the minority is still happy with the $20 price model and that we require new business models. Two: casual games are still dominated by clones.

 

What does this all mean? My hope is that it shows that there will be additional support from those who recognize these facts, enabling the true innovators to get their ideas to market faster, providing new business models for developers to capitalize on their creations. You can see this in the explosion of companies such as SGN, Zynga, and of course, Sharendipity.

 

It’s worth adding that innovation can come from anywhere – including you - so come innovate using Sharendipity and distribute your creations to your friends!

dale.beermann

Independent Games Summit - Monday Morning

Lots of interesting thoughts from the opening sessions in the Independent Games Summit. The first session I attended was about the Potential of Indie Games:

GDC1

Kellee Santiago, the maker of Flow, had some really great thoughts about intrinsic rewards systems in games. She was talking about rewarding the player through the gameplay itself as opposed to extrinsic rewards such as points and achievements. This type of gameplay promotes a different kind of behavior in the player and really treats them as a partaker in the experience rather than simply a consumer. As examples, this can be done by promoting the player’s actions and the skills they develop through in-game feedback, such as the way the character grows in Flow.

The maker of Everyday Shooter, Jon Mak, also had a great demo that showed off the importance of graphics as part of the gaming experience in opposition to the growing mantra of Gameplay over Graphics. The demo was based on what he called “Input/Output Theory” and allowing the player to feel like they truly own the output of the game. He does this by linking every input from the user to the visual output. Even with very abstract gameplay, this lets the user associate the actions they perform with the result of the game, making them feel more a part of the game.

Pekko Koskinen finished up the session talking about Games as systems of behavior. He states that game design can be thought of as an art of fictional behavior, providing a lens through which the user sees a particular experience. Unlike so many other forms of expression, games are not reliant on the media through which they’re presented. Once you know the rules of a game, you can even play it in your head!

We’re excited to see what else the conference has to offer and will continue to post our experiences!

greg.tracy

GDC kickoff

The Game Developer’s Conference is getting started! You can follow our activities this week on Twitter @sharendipity.

More to follow…

greg.tracy

GDC ‘08

The Sharendipity crew is heading to San Francisco for the Game Developer’s Conference during the week of February 18th. We’re looking forward to another great event.

Please let us know if you’ll be there and would like to get together. We’d love to share stories and show off some of the exciting things we’ve been up to.

dale.beermann

Dynamic Scripting in Web Applications

We recently issued a new release of the Sharendipity platform that was aimed at improving launch performance. One of the issues that we addressed was the scripting engine that allows advanced users to extend the core functionality of the platform.

 

You might think that the underlying scripting engine is only important to the authors of shared assets in Sharendipity. The reality is that the wrong scripting engine can provide a very negative impression of application performance to any user.

 

Originally we used the Jython project to provide scripting using the Python language. The functionality was great. It was even fast. Despite this, there were a few big problems.

 

Jython is large. The download size for Jython alone was nearly 1.2MB. The result of this is that the user’s first experience when launching our applet takes significantly longer, directly affecting the percentage of users that are willing to sit through the download.

 

This wasn’t the biggest problem though. Our number one issue was the initialization time. On many users’ machines this was commonly around 10-15 seconds. When a user launches an application in Sharendipity, it may require the use of scripts before doing anything else. We needed the application to launch and run immediately and this just wasn’t possible with Jython.

 

Our most recent release changed our underlying scripting engine to use the Rhino JavaScript implementation. Rhino fixes every single issue that we had with Jython.

 

The Rhino developers understand the importance of a small footprint. Rhino provides a very easy way to reduce the download size to as small as 204KB, or about 20% of the size of Jython. There is no initialization time for the Rhino engine either, so there is no pause when loading an application in Sharendpity.

 

The smaller download and lack of initialization are a huge win for us already. There’s also something else that developers might not think about when choosing a scripting engine, and that’s portability.

 

We’re still in Alpha mode, so we have enough flexibility to change our scripting implementation. JavaScript (or ECMAScript), is the only scripting language that was really an option when creating a Rich Internet Application. This is what ActionScript, Flash’s language, is based on, and Silverlight supports it as well (in some respect, at least). Furthermore, just about every web developer in the world knows it.

 

We’re trying to strike a balance between the demands of our power users and the ability for our casual users to launch existing content very quickly. We’d love to hear your feedback on walking this tight line!

greg.tracy

The New Literacy

There is a terrific article by Marc Prensky in the March issue of Edutopia titled “Programming: The New Literacy”. Marc makes the case that literacy will soon be defined not just by reading and writing skills, but also by programming skills.

He reminds us of a level of programming everyone is already doing with our phones and remote controls. What’s most interesting is that he expects everyone to graduate from this type of menu-driven programming to a point where many of us will be using scripting languages, Flash, and/or piecing together open source software to meet a specific need.

“As the highly literate adult of today might pen a witty birthday card note for a young niece or nephew, the highly literate adult of tomorrow might program the child a game. And though today’s highly literate person may enjoy a sophisticated novel or nonfiction book on a plane or train ride, tomorrow’s highly literate person may prefer to change, by programming, whatever story or other media he or she is interacting with to suit individual preferences, and might then, with a little more programming, distribute those changes to the world.”

Marc isn’t alone. The Python community has rallied around Guido van Rossum’s beliefs that everyone should learn to program.

We share Marc’s vision in terms of the end goal. But I think we differ in how we’re going to get there. Rather than educating everyone on programming, we believe the best way to get to this form of literacy is fix the tools. If tools are available to create and distribute software without the need to program, then creativity can be harnessed more effectively. Surround that with a community capable of sharing ideas and software components, and now creativity can actually be accelerated.

Do you share Marc’s vision for literacy?

« Prev - Next »