View
96
Download
0
Category
Tags:
Preview:
Citation preview
GAMECHATGamified Instant Messaging
Gaming over Instant Messengers
http://gamechat.com.ng
MORE LIKE THISMORE LIKE THIS
● We Like People Better After we Play a Game with Them, Even if They
Have Beaten us Badly – Jane McGonigal
● ALICE is bored and wants to play
Crossword with BOB
● ALICE & BOB can switch between the
game and their current Instant Messenger
GameChat as a Platform● GameChat cares about enabling user interactions● If I have seen further, it is by standing on the
shoulders of giants (WhatsApp, Wechat, Telegram etc.) – Isaac Newton
● Engage the User– Commitment (Share of app users who access it weekly)
– Frequency (Average number of days app users use it)
– Time Spent (Time spent using the app)
● Reward the game developers (Content Creators)● Make the users happy (Content Consumers)
Why GameChat● Eliminate Boredom● Improve Cognitive Skills (Brain Power)● Reduce Stress Levels● As a result, HAPPINESS is guaranteed● Escape Real World Suffering● Reality Sucks but Don't Get Lost in Limbo● Play with someone you know in Real-Life and
Create a Deeper Connection with them.
Milestones● Virtual Currency● Gambling (with possibility of cash-out)● Gaming Tournament/Competition (Monthly run)
– Participants
– Spectators
DRAFT
Anyone Can Develop Games for GameChatThe Frameworks
● Real-Time and Turn-Based Two-Player Tournament – Tic Tac Toe
– Chess
– Checkers etc.
● Real-Time and Turn-Based Multi-player– Ludo
● Real-Time and Turn-Based Two-Player – Tic Tac Toe
– Chess
– Checkers etc.
Mupuntu.jshttp://mupuntu.com
Proposed Frameworksnot implemented yet
Mupuntu.js http://mupuntu.com
Games made with mupuntu can use backbone, underscore and jquery + any other javascript library out there such as d3.js, snap.svg and kinetic.js.
Mupuntu.js: State Machine● namespace: The game's ID as
registered on http://mupuntu.com ● mapping_id: friendship between two
gamers.● gamestate: A storage section
accessible to developers for storing the state of game.
● scoreboard: A storage section accessible to developers for storing user scores, game configuration etc.
getModel(waitCallback, [context])
waitCallback : function(gamedata){_gamestateModel = gamedata.gamestate_scoreboardModel = gamedata.scoreboard
}
_gamestateModel.set('turn', {player: “54036ffd3bd6d4cb7ce21b9d”
})
_scoreboardModel.set('totalgames', 53)
Client Side JavaScript
Server Side Model
Mupuntu.js: Listeners and Triggers
● Alice triggers Event directly on Bob's without passing through the server.
● Alice changes a value in gamestate or scoreboard. Bob is notified.
Alice Bob
Alice Bob
_scoreboardModel.set('totalgames', 53)
_scoreboardModel.onChange(“scoreboard.totalgames”, callback, [context])
trigger(“reset-game”, data)
listenTo(“reset-game”, callback, [context])
Mupuntu.js: Critical Notifications
● Alice is online. Alice and Bob are notified.
● Alice is off-line. Alice and Bob are notified.
Alice Bob
on(“remote-offline”, callback, [context])
on(“user-online”, callback, [context])
on(“remote-online”, callback, [context])
on(“user-offline”, callback, [context])
Alice Bob
Mupuntu.js: Testing & Debugging ● Android Emulator with Support for Remote Debugging.● Web Based Development Environment.
THANK YOU
What Do You Think?Please keep in touch.
Retnan Daserdretnan@acm.org, retnan@live.com ,
songofsongs2k5@gmail.com, http://facebook.com/retnandaser, http://twitter.com/RetnanDaser,
http://gamechat.com.nghttp://mupuntu.com
Recommended