Giter Site home page Giter Site logo

mwdns's People

Contributors

lucasb-eyer avatar macchiatow avatar vsupalov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

vsupalov

mwdns's Issues

TileMap Cards Bug

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.

Options screen constraints

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.

special effect for combos

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.

Player LEFT

Let's not delete players who leave, so people can come back, and everybody is on the same page.

FAVICON

CAN I HAS PLZ?

@TH4T idea is to maybe take the background.

Game-URL copy GUI

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.

UI

too much to list here. From chat to player namechanges to notifications/scoreboard

Changed player display

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.

Send card positions to the server after drop

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)

Robust Server

Make the server less carsh-happy (due to badly formatted JSON for example).

Make the drag&drop global events

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)

Game options

On the startscreen: options form for stuff like cardtype, imagesource, max players, gamename etc

Client side asset processing

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.

Game Manager

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.

Player identity

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.

Rush responsiveness

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.

Fancy Logging

Remember actions in a game, adding a replay functionality and saving of games. This is beyond fancy and nicest to have. Disregard please.

Current player leaving

In classic mode, when the player whose turn it is leaves, the game is deadlocked. Instead, the next player should be allowed to play.

Flippy

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.

Wrong Score or winning condition

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.

Fetch score and #turns when joining

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.

Keep the cards on a stack

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.

Subtle info of keys/features

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?

Can't touch that

Make the user interface respect what the server says ->
if it's not your turn, you should not be able to move cards (?)

Create a Makefile

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?)

Card layout

Make the server find a proper card layout / rotations if the players don't want to start with a cardstack in the center.

Implement card rotation

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?

Who sets color&name?

Currently I think it looks like this:

  • connection
  • serverside player (incl. color/name) generated, sends only newplayer message.
  • client gets newplayer, generates his own color/name
  • server still busy creating/sending cards
  • client sends a wantChangeName and wantChangeColor
  • server still busy sending cards
  • server sends its server-side generated color/name in a playerinfo
  • server finally gets client request to change color/name
  • server broadcasts client's color/name in a 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?

Client-side card-open-close delay

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.

Save player information

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.

Fix the card score lag

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.