174 lines
4.0 KiB
Markdown
174 lines
4.0 KiB
Markdown
Thirteen Tien Len
|
|
================
|
|
|
|
TODO
|
|
----
|
|
|
|
- Refactor seat.jsx buttons in to a <form>.
|
|
|
|
- 1st 2nd 3rd place messages. End game message.
|
|
|
|
- Tables to contain the games
|
|
|
|
- flexbox layout: http://codepen.io/anon/pen/ojJOjq
|
|
|
|
- bot players
|
|
|
|
- flexbox layout: http://codepen.io/anon/pen/ojJOjq (started)
|
|
|
|
- graphics
|
|
|
|
- Remove PlayToBeat model and table.
|
|
|
|
- Implement run including face cards (done?)
|
|
|
|
- TODO: SoftToken unique for User
|
|
|
|
- TODO: If actions are taken while not logged in, and then user logs in,
|
|
should those actions be applied to that account? Maybe prompt the user
|
|
to signup or login to save their earnings / progress.
|
|
|
|
- BUG TODO: First player / lowest card holder should not be able to pass
|
|
first play
|
|
|
|
- Bug: Players should not be able to pass outside of their turn.
|
|
Validate play: play.player == game.current_player
|
|
|
|
- Replace publicly displayed emails with usernames
|
|
|
|
- Review attributions and license compliance
|
|
|
|
- TODO: Refactor guardfiles down to one file using `groups`
|
|
https://github.com/guard/guard/wiki/Guardfile-examples
|
|
|
|
- TODO: Move game logic out of game model / controller to module in
|
|
/lib/game_logic.rb e.g. https://github.com/adamof/rails-poker/tree/master/poker
|
|
|
|
## Proposed Schema
|
|
|
|
Table
|
|
has_many Seats
|
|
User
|
|
has_many Games
|
|
players from seats.users
|
|
has_one :current_game
|
|
|
|
## Game Lifecycle
|
|
|
|
Start
|
|
Player Turns
|
|
First place finish
|
|
Second place finish
|
|
Third place finish
|
|
Start new game with existing players
|
|
- Provide button for player to leave before new game starts
|
|
- If less than max players, button to vote to "wait for more players"
|
|
|
|
## Feature Ideas
|
|
|
|
- Invite friends to current table
|
|
- Address link to current table
|
|
- Show winner of previous game
|
|
- User stats
|
|
- Table stats
|
|
- In game currencies
|
|
- Tournaments
|
|
|
|
## Bot players
|
|
|
|
Essential:
|
|
|
|
- Play valid hands
|
|
- Pass
|
|
|
|
Nice to have:
|
|
|
|
- Skill level setting
|
|
- AI based on skill level
|
|
|
|
ReactJS front-end
|
|
|
|
Implement card graphics
|
|
https://openclipart.org/detail/171444/white-oxygen-playing-card-faces
|
|
http://www.vecteezy.com/vector-art/65607-gambling-cards
|
|
http://opengameart.org/content/playing-cards-1
|
|
|
|
ActionCable for realtime / websockets
|
|
|
|
Animation with pixijs http://www.pixijs.com/ (or VelocityJS ? https://github.com/julianshapiro/velocity)
|
|
|
|
Metrics https://www.skylight.io/ and/or NewRelic
|
|
|
|
Rename Game column from `control_player_id` to
|
|
`current_player_id` ?
|
|
`active_player_id` ?
|
|
|
|
Mobile app with Intel XDK ? https://software.intel.com/en-us/intel-xdk/documentation
|
|
|
|
Remove console.log debuggings
|
|
|
|
End Goals
|
|
---------
|
|
|
|
- Implement front-end in React
|
|
|
|
- Play from IRC / xmpp / AIM
|
|
|
|
Ruby on Rails
|
|
-------------
|
|
|
|
This application requires:
|
|
|
|
- Ruby 2.1.5
|
|
- Rails 4.1.8
|
|
|
|
Learn more about [Installing Rails](http://railsapps.github.io/installing-rails.html).
|
|
|
|
Getting Started
|
|
---------------
|
|
|
|
Documentation and Support
|
|
-------------------------
|
|
|
|
Issues
|
|
-------------
|
|
|
|
Similar Projects
|
|
----------------
|
|
|
|
Contributing
|
|
------------
|
|
|
|
Credits
|
|
-------
|
|
|
|
This application was generated with the [rails_apps_composer](https://github.com/RailsApps/rails_apps_composer) gem
|
|
provided by the [RailsApps Project](http://railsapps.github.io/).
|
|
|
|
Rails Composer is open source and supported by subscribers. Please join RailsApps to support development of Rails Composer.
|
|
|
|
License
|
|
-------
|
|
|
|
Attributions
|
|
------------
|
|
|
|
## Felt subtle pattern
|
|
|
|
Source: http://subtlepatterns.com/felt/
|
|
Author: http://atle.co/
|
|
|
|
## Extra suits
|
|
|
|
> R. Wayne Schmittberger, in his classic game design primer New Rules for
|
|
> Classic Games (1992), describes how you can make your own six-suited
|
|
> deck. Obtain two standard decks with the same backs. Set one aside, and
|
|
> take the Hearts and Diamonds from the second. Draw an arrow through each
|
|
> Heart with a permanent black marker to make a suit of Valentines, and
|
|
> draw an 'X' through each Diamond to make a Kites suit. Shuffle these two
|
|
> new suits together with the deck you set aside, and presto! a six-suited
|
|
> Schmittberger deck! (Of course, you can remove either Kites or
|
|
> Valentines to create a five-suited deck like the Stardeck.)
|
|
|
|
http://www.thegamesjournal.com/articles/GameSystems2.shtml
|