lucasb-eyer / mwdns Goto Github PK
View Code? Open in Web Editor NEWMemory Which Does Not Suck - play turn-based and realtime memory with your friends in the browser.
Memory Which Does Not Suck - play turn-based and realtime memory with your friends in the browser.
It is bm to shuffle around cards which have not been yet scored as soon as a game has started (=first pair has been scored).
which compiles the js code into one file and uglifies it, as well as compiles the less code into css and minifies it (if that's possible?)
Come up with a prominent GUI explaining that the user needs to give the URL to a friend in order to play with him. We failed hard at that in the hackathon :) Ideally, it would be or have a button which copies the URL to the clipboard, just as github has for the commit hashes.
Include a "rematch" button which starts a new game if all remaining players accept.
In the browser, without cookies, as this has annoying consequences thanks to EU regulations. This can be also used to re-identify a player who left a game.
The javascript code does not make use of the data in /static/data/cards.json, neither does it use the asset id which is transmitted by the server.
Let's not delete players who leave, so people can come back, and everybody is on the same page.
Before the second card is scored, the border flickers to white first before taking the player's color. The issue seems to be in the client.
For when the chosen card deck is random colors. Use go-colorful. Probably send the list of colors with the initBoard
message.
Something like a green point next to the active player
a "change name" button on top or under the player list, in addition to the (you) link next to the name.
When joining a game, where there are open cards, the already flipped cards show as scored, but without images. Probably some awkward loading time issue.
Title says it all :) In classic mode, the turn count shouldn't be the flip count.
too much to list here. From chat to player namechanges to notifications/scoreboard
Currently I think it looks like this:
newplayer
message.newplayer
, generates his own color/namewantChangeName
and wantChangeColor
playerinfo
playerinfo
I think the color is the server's task (pre-generate as many distinct happy colors as max players) and the name should be server-random too, but the player can change it after the fact.
We could then store a player-selected name clientside in an offline-storage and the next time he connects he will request a namechange automatically.
How does that sound?
The mouse keeps leaving the cards on far-away zoom levels -> dragging stops for no reason...
until the mouse hovers over the card again.
It might be best to limit the draggable objects to one (a global variable holding the currently dragged / focused object, be it card or board)
otherwise trololo scenarios are too feasible
Same goes for camera movement, so people don't get lost
A player opens one card, then leaves. The card stays open forever, but should be closed again.
Flipping a card could be animated, to provide feedback to the user. For the love of all that is good and holy, don't even consider using flippy.
When joining an already-running game, the player which joins doesn't see the score and number of turns of other players! He will only see it when it gets updated.
Also the move transitions which arrive from the server should be animated at
a proper speed (calculate the animation time based on the distance to travel)
what about z-index behaviour?
What about live move updates? (bad idea)
When being redirected there because of an error, e.g. bad url:
See TODO note in 8e4dcd4
A unique client id, which can be used by a player to identify with the server. It could be saved in the offline browser storage or in a cookie. It could be used by people to reconnect to games without hassle (or security :). This is directly related to saving player names and other settings between sessions.
Just lost with a score of 6 against a score of 4. Either the score display is borked (not accounting for combos?) or something else is awry. Giff victory.
a combo being a streak of successful card flips. On the server-side, the cards randomly reshuffle already. Showing a "combo" text or better yet, playing a sound, would be awesome.
When an image source is picked which only provides a certain number of distinct images, the gui should reflect this by disabling (greying out) options which are not supported.
I have at least one in mind, which is memorable and nice to look at.
Make the server find a proper card layout / rotations if the players don't want to start with a cardstack in the center.
When starting a game, all attending players are highlighted as active due to some magick. Fix pls.
Make the user interface respect what the server says ->
if it's not your turn, you should not be able to move cards (?)
Make cards in rush flip back immediately, instead of after 3 seconds, when a third card is opened by the player, to reduce the confusion potential.
something like a "+1" appearing, then fading out.
In classic mode, when the player whose turn it is leaves, the game is deadlocked. Instead, the next player should be allowed to play.
Remember actions in a game, adding a replay functionality and saving of games. This is beyond fancy and nicest to have. Disregard please.
Need a subtle pointer to show a list of possible interactions to the user, like show that it's possible to move and rotate cards, as well as zoom and use keyboard shortcuts.
Maybe something like github's "Keyboard shortcuts available" at the bottom of the issue list?
On the client, have a delay between opening and closing a card again, independent on when the messages come. That is because on slower connection, the open and close messages might come in at almost the same time.
Make the card layout a button-option just like the card rotation.
On the startscreen: options form for stuff like cardtype, imagesource, max players, gamename etc
If one is clicked, it goes to the top, the others bubble down to fill the gaping hole it left behind -> more natural & better looking.
Only for correct z-index values. "Stack" might be misleading.
Depending on who scores them, because it's awesome
Only one synchronized part of the program that opens, closes or deletes old games. I can remember the strong impression of the current setup being a little on the unsafe side of things.
For example playcard ratio, with image & text parts
CAN I HAS PLZ?
@TH4T idea is to maybe take the background.
or at least something showing who's da boss.
A third coordinate goes along with x,y: phi. It is already carried along almost everywhere but needs to be applied to the cards!
maybe through the "transform: rotate(phi deg)" css property? But it has many variants, like "-webkit-transform" etc. Maybe we should use a jquery plugin for that?
Make the server less carsh-happy (due to badly formatted JSON for example).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.