/piccon

Pictorial Consequences (rails2 branch did work, a long time ago, as a Facebook Canvas)

Primary LanguageRuby

Simultaneous games with everybody online
Facebook Connect, Twitter auth
CSS3, Chrome Frame for IE
Canvas drawing

Comments (id, comment_count, last_comment_at)
Gallery (id, name, maturity_rating)

- start a paper with people online or offline
- create paper screen shows people currently online, grouped into friends (FB/twitter) and others
- plurk style real time conversation / comments + list of who is online
- sense of reputation as a witty player
- players can join or leave papers
- papers can be invite only

Pages:

/papers
  list of papers
    waiting for you
    waiting for others
    recently finished

/papers/new
  [Play with people online]
    invite form
      potential player list (only people online)
        friends
        other people online
        all players
      players invited
      paper length
      open to anyone?
      submit

  [Play with people offline]
    invite form
      potential player list (all)
        friends
        other people online
        all players
      players invited
      paper length
      open to anyone?
      [Submit] redirect_to /papers/:paper_id/posts/new

/papers/:paper_id
  finished paper

POST /papers/:paper_id/players # join

/papers/:paper_id/edit
  change name of the game
  gallery options

/papers/:paper_id/posts/new
  - if drawing
    description
    canvas
  - if describing
    picture
    description text field
  - if first post
    toggle drawing/describing button
  list of players with status
  player comment stream

/galleries/:rating

/help
/welcome

---

Eligible Players

- the "last two" rule:
  - if you submitted the last or second last post to a paper, you cannot claim
    it
- if the paper is invite-only, then only invitees can play
- if the paper is public and unrated, anybody can play
- if the paper is public and rated, only users with an adequete rating can play
  - you can specify the minimum rating
  - you cannot specify a minimum rating higher than your own rating

Rating

Finished public papers go to the gallery. When browsing the gallery,
authenticated users can "Like" a paper which gives everybody who submitted an
entry to it +1 rating.

As you improve your rating, you can make "pro only" games with only people
who have a high rating like you.


papers
id, creator_id, length, status, created_at, updated_at, claimant_id,
claimed_at, finished_at, published_at, comment_count, commented_at, title,
thumbnail_id, last_user_id, second_last_user_id, phase, gallery_id

invitees
id, paper_id, user_id, status, created_at, updated_at, position

posts
id, paper_id, author_id, text, created_at, updated_at

galleries
id, rating, title

users
id, nickname, rating, fb_id, fb_auth, created_at, updated_at

eligible:
  select * from papers
  where ((papers.last_user_id IS NULL OR papers.last_user_id != :user_id) and (papers.second_last_user_id IS NULL OR papers.second_last_user_id != :user_id))
    and (not papers.invite_only or :user_id IN (select user_id from invitees where invitees.paper_id = papers.paper_id))
    and (papers.minimum_rating IS NULL OR :user_rating > papers.minimum_rating)