This is a rough draft (very rough) of my idea for games integration in ubuntu. This is the wiki page for a blueprint proposed for discussion at UDS-N.

The main idea here is to make a framework of things that developers can use in their games and ways to make it easier to sell their games on ubuntu. Social aspects, trophies, U1 integration (save game sync, sso integration to bypass login..etc). This also affects the ubuntu software center's store with maybe allowing video content to show the games, offer demos, showing games your friends own, showing what trophies your friends have and allow more screenshots.

The biggest benefit is using the social aspect of the idea for content discovery.

Possible use cases for users

Affected projects

Gwibber

A lot of the stuff is already there and application developers can plug libgwibber so thats not so much of a problem I think.

Also I had an idea we could use gwibber for both the comments in the software center and the trophies system. So that you get a personalized comments and trophies system.

Empathy

Well I dont know much here but it would be ideal to have some dbus service to set the status and maybe some way to link to the game in the message. Also if mumble could be integrated into empathy it would be nice.

Ubuntu One

Well id say for the trophy system we could just make a replicated desktop couch db but we could go deeper with sso integration into games and auth of games use. Sync of save games should be easy enough to do.

one.ubuntu.com

We could make a page for your trophies if you have them and links to the games in the software center for people who are viewing the page that dont have the game. It could be done with some sort of status.net like system I think. Note: Some ideas on Save Game synchronisation: GamesIntegrationSaveGames

Software Center

This is where we need a lot of changes. Adding video content and extra screenshots. Displaying trophies(maybe), recording and displaying messages about the software from friends from gwibber (maybe). The link system is working with apturl so thats already done.

Ok so here are two quick mockups but they are really bad. The point of it is that we should have a comments and trophy thing added to the bottom. The videos and screenshots thing im kinda torn over how to do it. We could have both in the same place it is now and the user hits next through all of them.

Software_center_ui_concept.png

Software_center_ui_concept(2).png

(Ok I'm not too great at doing wire frames and the idea is fairly raw if someone wants to make some better mockups I'll be very happy)

Similar services advantages/disadvantages

Steam

Advantages

Disadvantages

battle.net

Advantages

Disadvantages

Xbox Live

To an extent this is good info to know too

Advantages

Disadvantages

iOS Game Center

(someone else has to do this I dont have a clue)

Advantages

Disadvantages

Playstation Network

Advantages

Disadvantages

Steam's app page battle.net

Comments (pre UDS Natty)

Other game platforms to consider: facebook, brattspielwelt

bryce 2010-10-03: I really like this idea, but I think the blueprint might be too ambitious to accomplish in one release. I'd suggest selecting one tightly-focused aspect of it and focus on that piece first, as a sub-blueprint of this one. I also agree that leveraging libgwibber may be a good approach, but libgwibber may need further development/documentation work before it's sufficient to be used by game developers for this purpose.

fagan 2010-10-4: I agree too focus is needed here I know the wiki page was just more to get a feeling for the overall direction I was thinking of going with it. If we can turn it into a few manageable work items to build the system up towards the next LTS release it would be manageable to get everything done with time to spare.

david 2010-10-11: I've been doing some work on figuring out how synchronized save games could work. I think it's important. What I've written up so far can be found here: https://wiki.ubuntu.com/GamesIntegrationSaveGames

david 2010-10-15: I've been thinking this over. I think Saved Games should be our priority (as I wrote above) so the question is "how?". I've broken this down into 3 distinct question: 1- Should the onus of enabling a game to use cloud saving be on the developer of the game or the Ubuntu community in general? 2- If the onus is on the developer, should we use this opportunity to enforce standards (ie. putting save games in the .conf or .local folder) 3- How exactly do we do it? (Do we sync the folder or make it a feature called by the game? How do we know which files to backup? What methods do we use to do the syncing?)

fagan 2010-10-15: Oneconf is a similar project to the game save syncing so it wouldnt be too hard to use the same code base. So thats the how im running with at the moment. I dont think save games are the priority though its more about the content discovery issue we need to address in the software center. So using social media elements, videos and demos inside the software center's UI to get people to know about the products.

Notes from UDS Natty

[?] Verify whether valve has plans to port Steam client to Linux
[?] What issues are blocking Valve

Target wine as the runtime? (NOTE: This would help, not only Linux, but ReactOS, FreeBSD, etc.)

pygame for small games
http://apt.ubuntu.com/p/quickly
apt-get install quickly
quickly create ubuntu-pygame test-game

We can create a template to wrap up flash games
 * sell via USC
 * Quickly could offer a ubuntu-game-flash template and you could drop a flash game in

Telepahy sharing of game states via tubes.  OLPC games already has telepathy tube state-sharing code - that integrates with the pygame mainloop. Branch quickly to include an example of this.

Ubuntu One
 * Easy API for sharing a telepathy tube with a contact, then sharing state
 * Store game saves & high scores
 * Storing achievements (OMG)
 * Showing which games both contacts have, so you can pick a game you have in common to play

High quality art assets are a common problem.  Maybe point to places a FOSS developer can grab Free art?
FLOSS ART Resources:
 * Linux Multimedia Sprint: FLOSS/Creative Commons art, sound, etc. : http://www.skyehaven.net/blog/linux-multimedia-sprint/downloads/
 * FreeSound: http://www.freesound.org/

A 'quickly sell' command?  Or some easy way to get a small game to be commercial.

Making packaging easy is a problem in the platform in general

Include one simple but fun game in the installer
change it every 6 months.


4 users
1. casual developer who wants to make a game for fun
  + Biggest need is reusable graphical assets ("programmer art")
  + would be nice to have a public place to store high scores
  + would be nice to have a U1 way to make easy multi-player games
  + would be nice to have a U1 way to publish a score/achievement to some central place so you can see what other people have done
  

2. casual developer who wants to sell a game for $1
  + Biggest need is smooth process / sample code for how to hook into USC's payment processes
3. professional developer who wants to make a new game for Ubuntu
  + Needs proof that market exists and will be profitable
4. professional developer who wants to port a game from another platform
  + Needs both payment process channel and low-cost method for porting it


Action Items:
 * fagan to look into the empathy status sharing api
 * alecu will look into highscores on the quickly pygame template, and see whether the olpcgames telepathy code can be used for a multiplayer pygame template. (mterry willing to mentor/help with the quickly bit)
 * mterry to add flash wrapper quickly template
 * fagan to add a java wrapper quickly template
 * dylanmccall to play with Quickly Ogre & ODE (C++) template

~~~~

GamesIntegration (last edited 2010-11-01 13:55:18 by eth3)