Git Product home page Git Product logo

concarneau's Introduction

 ,-----.,--.                  ,--. ,---.   ,--.,------.  ,------.
'  .--./|  | ,---. ,--.,--. ,-|  || o   \  |  ||  .-.  \ |  .---'
|  |    |  || .-. ||  ||  |' .-. |`..'  |  |  ||  |  \  :|  `--, 
'  '--'\|  |' '-' ''  ''  '\ `-' | .'  /   |  ||  '--'  /|  `---.
 `-----'`--' `---'  `----'  `---'  `--'    `--'`-------' `------'
----------------------------------------------------------------- 

Hi there! Welcome to Cloud9 IDE!

To get you started, we included a small hello world application.

  1. Open the hello-world.html file

  2. Click on the Preview button to open a live preview pane

  3. Make some changes to the file, save, watch the preview, and have fun!

Happy coding! The Cloud9 IDE team

Support & Documentation

Visit http://docs.c9.io for documentation, or http://support.c9.io for support. To watch some training videos, visit http://www.youtube.com/user/c9ide

concarneau's People

Contributors

btouellette avatar delapouite avatar dfearon avatar rodrigorm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

concarneau's Issues

Archive instead of delete.

One can click on edit and delete some games when the list gets too long.
But I would prefer archiving. I don't want to see the finished games all the time, but sometimes I may want to come back to previous ones. Similar to email. No need to see the read messages all the time (too many), but sometimes one wants to read an old one for some reason.

Farm area highlight

I don't think it's needed for roads or cities, but farm can be large and complicated, and there are some tiles when one can be in doubt whether the farm stops or continues.

(I remember once I have encountered a bug in farm area computation, where I couldn't add a pig to my farm. I admit, it was a huge and very complicated farm, but it was connected.)

It would be nice to have a highlight of the whole farm when moving mouse over it, say, with a lighter color. And as a bonus it could show how many cities the farm touches.

Bug: Need to Reload Game Between Each Turn

I don't know if this is because the server is under too much load or what, but towards the later part of my game tonight, both myself and the people I was playing with had to reload the game page to get the moves to update each turn.

Rotating the board.

Most screens are 16:9, almost twice as wide as high.
But some games grow vertically (most tiles placed north and south of current tiles).

It would be nice to be able to rotate the whole board, to make the vertical games into horizontal ones that fit again well on the wide screen.

Time limit.

Like in chess and many other games, playing with clock is a good way to equalize how much people think. Then if somebody takes 5 minutes per move, they run out of time and loose. It makes playing more fun, because the opponents cannot leave the game, but need to stay engaged and play.

In fact even a clock without any limit (just showing used time for each player) is good, because then people using much more time can see that, feel a bit guilty, and start moving faster.

Make email notifications work

I've clicked "E-mail notifications" on the settings page but I do not receive email notifications when it's my turn. (I tried creating a "local" account and an account linked to Google but the problem persists in both.)

Thank you for your help!
Screen Shot 2020-07-28 at 1 56 59 PM

Next tile for everybody.

A feature request based on physical gameplay. When I play in the real world, we always draw next tile when the opponent(s) is/are thinking. This way everybody always has one tile on hand, and is not bored by just waiting for other(s) to move.

Currently in Concarneau only 1 player draws a tile, and the other(s) has/have nothing to do. This means that when playing, say, 3 people, on average each player is only actively engaged in the game 1/3 of the time and bored 2/3 of the time. This feature would change it so that every player can think about their move 100% of time, because everybody can see their next tile.

Of course people shall not see others' drawn tiles, every player can see ONLY their own next tile. The exception is the current player, who of course makes his drawn tile visible to everybody, just as it is today.

A small inconvenience is the builder - extra move. Then the player draws new tile from 'the bag', so people's own drawn tiles do not change. If there is no more tiles in 'the bag' left, the extra tile is taken from the last-to-make-a-move player, so (s)he loses their drawn tile to the current player.

Request for knowledge: accound management seed ?

Hello, did you used an external seed / github project to kickstart to nodejs / mongodb / bootstrap accound management system ? If you did, could you share the source as it would be quite helpful.

Enter key for move accept.

I feel like I have to move the mouse a lot to the corner of the screen to accept moves. Especially if I'm placing some figure on a tile in the second stage of the move. Then I have to go back and forth with the mice twice.

It would be much easier and faster just hitting the enter key.

New game button gone.

There was a button next to 'GAMES' for creating a new game, but I cannot see it anymore.

Twitter login showing Internal Server Error

We were middle of a game and it was my turn, I went to login and I got this error. It seems to go through the twitter login redirect fine, but fails on the callback to the heroku site.

image

Our game is stuck mid-progress!

Couldn't finish move

Hi, this is a strange behavior that I can't precisely reproduce, but happens sometimes:

weird

The only way is to play the tile on another place (undesirable) or start a new game (even worse).

Instructions needed

Needs instructions on how to operate controls in this online version. Cannot do anything in a solo game. What is program doing? Need to be able to adjust time for next solo player to make move.

Fix link for rules

The link indicated at the main page is broken, leading to 404 error. It needs to be updated.
Maybe as an enhancement, also, it would be nicer to have the rules available 'in-game', maybe divided by topics and accessible while still visualizing the current game.

Sound when my turn.

Some players may take long time to make a move. Sometimes they're even away for a while.
I know there is currently an exclamation mark on tab title for that, but I often miss that. For instance if I have many tabs open, and I switch to another, I cannot see the title of the game tab anymore, only the icon. If I have really many tabs, then even the icon disappears.

It would really help if the game made a sound when it's my move again.

Summary over many games.

Since the game has a very large element of chance, playing once is not enough to see who is better. I often play a mini-tournament with somebody (say 10 games), after which chance is spread more evenly, and then one can judge who is really better.
So I would love a feature where I could see a list of all games against a given player, and see who won how many times, and also the total points. E.g. after 10 games it would say:
Player A: 3 games, 900 points.
Player B: 6 games, 1100 points.
Player C: 1 game, 700 points.

Show current player even when menu is collapsed.

The 'Always collapse menu' feature is great, I love it. But with this feature on, who's move it is (useful only when playing with multiple opponents) is missing.

The current player could be somehow highlighted in the colorful player-resources list.

Disable HTTPS?

Hey @btouellette . I'm working on adding a Dockerfile for this repo so that this can be run inside a docker-compose stack.

I can build and run the image no problem, but I'm having some problems with the HSTS and HTTPS upgrades. When running inside docker, usually SSL termination happens in the incoming proxy rather than the container itself.

I've disabled the call to helmet(), but local testing is still showing a mandatory SSL upgrade which yields a ERR_SSL_PROTOCOL_ERROR error in chrome.

Javascript is not my forte - would you mind providing a few pointers on where in the codebase this happens?

Thanks!

Autozoom.

Currently the game offers moving (dragging) the board, and zooming with mouse wheel. I have noticed that actually I always try to achieve the most-zoomed view of full board. So I always want to see entire board, I never zoom to see less than all. And then I keep the maximum zoom, which still allows me to see all. And of course I move/drag it to see it within the screen boundaries.

But all that could be done automatically. The game could just center the board on the screen, and zoom it to such extent as to show all of it (including the gray placeholders for possible moves). It would save me so much manual mouse-work. Also the zoom levels the game provides currently are quite big steps. I think there are only 3 steps, with quite large difference between them. So it's not super-easy to keep perfect zoom.

Of course this is my personal preference, maybe some people do zoom to see only small part of the board? So maybe this could be a checkbox somewhere, so the manual zoom is also possible.

List of remaining tiles

How nice would it be to see the list of remaining tiles during a game!
This way a novice player could play with a more experienced one without a big disadvantage.
Also, this would be great for training - people playing in tournaments must now distribution and frequency of tiles by heart.

Choose player color

Allow player to choose a specific color they are always represented by. This would be client side only and would just rotate the color selection until they are matched up.

The number of remaining tiles also when menu collapsed.

The 'Always collapse menu' feature is great, I love it. But with this feature on the number of remaining tiles is missing.

I'd like to request a change, so it is visible also when 'Always collapse menu' is on. The number of remaining tiles could be shown next to the drawn tile, it's a natural place for it.

Delete game icon to small and not clickable.

Recently (for the last 3 weeks or so) the mechanism of removing games seems to be broken. Previously, when I clicked on the 'edit' button, an icon appeared on every game in the game list allowing to delete a game. Now, I can click on 'edit', but instead of an icon, a very small thing appears on every game (maybe it's a comma, maybe a partial question mark), but I'm unable to click on it to remove a game.

As a workaround, one can locate the closing icon in dev tools inspector, and execute .click() on it from the console.

As a side effect I've noticed that with many (around 10) games open, the performance deteriorates, and the game sometimes becomes unstable (the move is not executed, I need to refresh, and sometimes I'm getting 'application error'). But maybe this performance and stability has nothing to do with number of open games, maybe it's just a coincidence.

Enter in chat accepts the move.

When I place a tile in one of possible gray areas, and then write text in chat, pressing enter, then the move gets accepted, as if I pressed enter outside of chat.

The feature of pressing enter instead of clicking the green forward arrow is fantastic. It makes it much easier to play. But enter in chat should not activate this feature. Perhaps the chat keyboard events should have bubbling cancelled.

Game doesn't start without setting up OAuth

I'm trying to self-host the game and it doesn't seem to start without setting up OAuth. Specifically I am installing on a clean ubuntu 18.04 VM on which I installed npm and followed the instructions on the README. Just in case I also installed mongodb.

The output I get is this:

$ node server.js
/home/barkasn/concarneau/node_modules/passport-oauth1/lib/strategy.js:84
  if (options.consumerSecret === undefined) { throw new TypeError('OAuthStrategy requires a consumerSecret option'); }
                                              ^

TypeError: OAuthStrategy requires a consumerSecret option
    at Strategy.OAuthStrategy (/home/barkasn/concarneau/node_modules/passport-oauth1/lib/strategy.js:84:53)
    at new Strategy (/home/barkasn/concarneau/node_modules/passport-twitter/lib/strategy.js:53:17)
    at module.exports (/home/barkasn/concarneau/config/passport.js:245:18)
    at Object.<anonymous> (/home/barkasn/concarneau/server.js:76:29)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:188:16)
    at bootstrap_node.js:609:3

It would be great if there were instructions to get the game up and running without requiring making accounts for 3 different OAuth Providers

Stronger visualization where last tile was placed

The current way of highlighting where last tile was placed (border in the color of the player) can be hard to see, especially after many tiles are placed, and especially if the player is green. Also it's even more difficult to realize that the opponent moved twice (using the builder), because then two tiles must be found.

I have to often ask my opponent where did she put her last tile.

I would love some more evident visualization. Maybe the whole tile blinking or wobbling. Maybe only when I click on the background. One can do that to cancel current move. It's a nice feature, maybe it could at the same time re-animate last move of the opponent.

Dark Mode Setting

Thanks for working on this! It would be nice to have a dark mode option in the setting. The people I play with tend to change the CSS while playing, but it'd be nice to have it built in.

The Tower expansion

I found reference to 'the-tower' expansion in source code. Does it mean this expansion is coming?

Hide left pane.

The left pane (with game list) is very annoying during the game. It takes a large portion of the screen. And the screen estate is very precious. Once the game is started, I never need to use it for anything. The only useful thing there is the number of tiles remaining. But taking around 1/4 of the screen just to show this number is suboptimal.

I know the left pane allows to switch between games and play several simultaneous games. For me this possibility is only theoretical, this never happened to me.

So it would be nice to be able to hide the left pane, to use entire screen for the current game. Then of course the number of remaining tiles could be shown together with status, e.g. where the players' resources and points are shown.

Show points for uncompleted features.

It would be very helpful to show the total points including incomplete cities, roads, currently held farms, cloisters, etc.

For instance it could look as follows:
Green player 124 (178)
Blue player 144 (181)

This would really speed up the game, because now players have to compute this themselves. This can lead to big delays, especially during the endgame, where players need to know how risky moves to take. In our example the Green player can see she only needs 4 points to actually win, without spending several minutes to calculate this.

Undo.

Sometimes I or my opponent forget to place a figure on a tile and we wish we could undo to do this. I don't know any rude opponents who would disallow this. Most are polite and allow it, because it is usually a 'mouse error' when one just clicks the green arrow twice due to habit, and forgets to place a figure. Such a mistake would normally never happen in real life game, so no opponent I think would object to undoing.

Matchmaking

Allow user communication in a lobby of sorts so that you can find new players to play against or friend. Or an option to pair up with someone else looking for a random game.

Window resize shold not cancel the move.

Currently one can click on the background to cancel the move, and start again. But I experience that the same happens on window resize. For instance, I often play full-screen. Then I move the mouse to the corner to accept the move, but I hit the top of the screen, and the browser's list of tabs becomes visible, resizing the window, and cancelling my move. Therefore I have to move my mouse really slowly and carefully.

I think it would be better if resizing the window would keep the chosen move.

Edit Games button click gives ReferenceError: event is not defined

When I click on Edit Games button (svg.fa-edit), nothing happens and in console I get:
ReferenceError: event is not defined

I can see it calls enableGamesEdit(event). If I just call myself enableGamesEdit() in console, I also get an error:
TypeError: e is undefined
but this time, it actually has an effect - the delete game icons appear on all games, so I can delete old games.

Precise rules for number of tiles?

Hi, and thanks for this great game.

I think I've noticed some change in rules? I think long time ago there was more tiles than now? I'm not sure.

But I am sure that the number of tiles is being limited, because in some games a rare tile might not come.

In case I'm right that there is some limiting, it would be great to write these rules down, perhaps on a Wiki?

Even better, allow choosing number of tiles when creating a game. This way one could play a quick game, but still with 2 extensions.

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.