Exclusive: How Chillingo's social networking platform Crystal will be seamless for gamers and developers
Now it's time to get into the detail of how Crystal actually works.
We meet up with lead architect Gareth Reese and developer relations manager/producer Rebecca Jones to look behind the curtain.
Pocket Gamer: How have you approached the development of Crystal?
Gareth Reese: When we started planning Crystal, our main focus was casual gaming. We spent a lot of time analysing the existing social networking platforms and we found them to be concentrated on the hardcore gamer. We want Crystal to be casual focused. One of the most telling features in this respect is that no sign up is required for Crystal.
Similarly, ease of use has been a huge concern for us so before we started coding, we came up with detailed user interaction diagrams to make sure the flow through Crystal was smooth. We also prototyped the entire system on the iPhone before we started coding it server-side.
What about ease of use for developers?
Reese: We wanted to launch with a core set of functionality that we had implemented really well. Obviously, we need to make sure developers can add Crystal to their games with minimal input so we're making the SDK integration as easy as possible. We have a web-based administration dashboard for developers so they can configure everything for their game, such as achievements and challenges and how players can send notifications to Facebook and Twitter.
We've also spent a lot of time writing support documentation and that will be wrapped up in the Crystal website. We will have a ticket-based support system, a forum and a wiki. We think support is one area where the competition isn't as strong as it could be.
In what ways do you think Crystal will stand out from the competition?
Reese: Automatic friend finding is a big feature because social networking has to be social, right? Crystal can automatically find your friends from your address book, as well as Facebook and Twitter. We've tried to make this as seamless as possible.
Rebecca Jones: We also want to make sure that if you don't have any friends playing the same games as you, you can still have social interaction. For example, the Crystal challenge system enables you to post and complete open challenges created by anyone playing that game. We want people to be playing their games as much as possible. We don't want to be penalise them for attempting challenges as you get with some of the in-app currency-based challenge systems.
How are you dealing with challenges?
Reese: When players first join a challenge ladder, they are given a base number of Crystal points for that ladder. We're taking the same approach as Wii Sports so when you beat someone above you on the challenge ladder, you take some of their points off them. This points system is used in our challenges to produce game-specific global and localised challenge ladders. We've had a mathematician work out the correct formula so that the players at the top of the leaderboard won't get too many points, while the people at the bottom won't go into minus points. It's actually much more complicated than you'd think.
Jones: Along with game challenge ladders, developers can create leaderboards relating to a specific level, map, scenario, mode, or any other element from their game. For example if you have a racing game with 30 different circuits then you could have 30 different leaderboards; one per circuit. These leaderboards can be viewed globally, nationally and locally, so you can see where you are in the grand scheme of things, as well as how you compare with your friends in any specific area.
And Crystal takes a similar approach with achievements, so developers can set up as many or as few achievements for their game as they want to.
How are you planning to make Crystal seamless to the user?
Reese: We want Crystal to feel as if it's part of the game. With other social systems, you generally have to come out of the game and go into those platforms, which isn't good for the user. In contrast, Crystal will feel as integrated as possible.
Crystal has a comprehensive skinning system which enables developers to reskin every user interface element. We'll be supplying multiple skins when we launch so developers can choose either to take one of ours or dive right in and completely skin their own from scratch. Also, players don't need to register for Crystal. You can play as a guest if you want to, although you obviously won't get the same benefits as if you registered and logged in.
Jones: One of the unique elements of this system is that it works in both portrait and landscape modes. Because Crystal's main UI box for the scrollable content is a 320x320 square, it simply rotates, which reduces the workload for developers. The only items you have to reskin when you change orientation is relate to the global navigation bar.
How do you provide information to the player within Crystal?
Jones: The main Crystal navigation bar contains your avatar photo, username and tagline as well as four navigation buttons. The first button is your user profile, which has the usual things such as game related stats, friend finding and your games. Other items here include account settings and newsfeed items. The next button is for achievements, and the third goes to leaderboards which are split into global, national and local leaderboards for each game. The final button is for challenges, where you can see what you've completed and what's pending.
There are lots of different ways of getting to the same information though. You can tap on your friends to go to their profile, see what games they're playing, see how they're doing in terms of leaderboards and challenges, and so on. Of course, there's also cross-promotion and the ability to buy games from within Crystal.
Finally, there's the Crystal logo. If you're connected to the server, this is green, and red when you're not. We cache the information so you can see the most recent updates and when you're offline, you don't get a blank screen, which you do with other systems. And, obviously, we save your offline activity and automatically update the system when you're back online.
How are you preparing for the launch in terms of going from zero users to a lot?
Reese: We realise that when we convert our existing titles to Crystal we will have a huge number of users, so we're load-testing that at the moment. We're using Google App Engine for the backend so it automatically scales for any number of users.
Finally, what future plans do you have for Crystal?
Reese: We don't want to talk too much about that yet! Let's get the launch out of the way first. But we do have a roadmap of new features planned including things like in-app purchases, which will make a massive impact given the recent Apple announcements.
Thanks to Gareth and Rebecca for their time.
You can sign up for more information about Crystal at the official website.