Giter Site home page Giter Site logo

celestialts's People

Contributors

kaigeffen avatar

Stargazers

 avatar

Watchers

 avatar

celestialts's Issues

Visual elements resize with window to support multiple layouts

The visual elements (Cards in the story, decks, cards in hand) should be relative to the size of the window, and display correctly on a variety of window sizes.

For example, hand might always be top/bottom on the left side, story in the middle on the left side, stacks on the right sides. Deck builder and other interfaces should also dynamically reorient to support multiple window sizes.

Chrome and FF sometimes pause tweens, then play them all at once on return to focus

This makes things like the recap look particularly weird, if user is tabbing out and back.
It also was reported to slow down the game on Chrome, although that has not recently been reported.

Consider either killing all of the tweens on return to focus, or pausing them when focus is lost, or maybe preventing displayed state from updating until the user returns focus.

Players can access a list of premade decks

Players should have the option of choosing from a list of basic premade decks, in addition to the user-defined decks.

They should not be able to remove or change these lists.

Include automatic reminders for keywords in card text

Compile a list of all keywords and their explanations.
All card text which uses any of these keywords should automatically list those full explanations, likely by using Regex.
Consider an option for users to disable those explanations, for those who know the game well.

Change menu from an object to a single scene

Remove the implementation of menus that listens for esc and is inconsistently formatted, and instead turn each outlined menu into its own file with consistent title/formatting/api.

Ensure that server is thread-safe

Ensure that matchmaking, access to game resources, and other issues of concurrency are handled in all realistic cases for the server.

Player can purchase packs with in game currency

From the welcome screen, users can select the shop, where they purchase packs for igc.
Packs should give cards from the expansion (40 cards, versus the 24 base cards) based off of their rarity.
Consider using the Gwent distribution and choice system:
4 cards are at least common, last card is guaranteed at least uncommon. Legendary is a rarity
The last card gives the user a choice of 3 cards from the same rarity (uncommon, rare, legendary).

Implementation-wise, the pack randomness is determined on the server.

New cards that users get for the first time (That they haven't had before) appear with a glow/outline in the deck builder.

Server logs relevant game and network data

Determine which aspects of the use of the web-app are worth logging privately, such as:

  • How many players are currently online
  • What decks players are using
  • Which cards are being used
  • Game states for each match, for use in debugging or verifying fairness
  • The addresses of players
  • Other features like game length, winrates, etc

This information should be recorded and privately available for internal uses.

Additionally, notify players of any information gathering that they would not reasonably expect (Anything beyond what CloudFlare / DigitalOcean do by default)

Players can win or lose when they have sufficient points

When a player has at least 5 points and leads by at least 2, they win the game.
They should be notified and prompted to play again, and their opponent should be notified that they lost and prompted to play again.

Possibly there should be an option to disable the win prompt for the purpose of testing.

Player sees a Match-Results screen after exiting a match normally

Whenever a player wins or loses a match, they should have the option to either review the game-state, then exit to a results screen, or immediately exit to a results screen.
This screen should express how much in-game-currency the user has earned, their current igc total, and direct them to the following screens based on what they just won/lost:

  • Tutorial loss : Tutorial deck builder
  • Tutorial win : Welcome screen
  • Normal win/loss : Deck builder

If the user just won/lost from the normal deck builder, they also have the option of queuing up again (To the same pvp/pve/mm mode).

Users have the option of making their own persistant accounts

Provide users with the option of creating their own Celestial account, which keeps track of their collection and progress.

Game should still be playable without an account, but just use local storage, and maybe have a cap or limited features to encourage users to make a permanent account.

Permanent accounts can be accessed from multiple devices/browsers.

Possibly, the system should ensure that a given user is only logged on in 1 place at a time.

Likely use some version of OAuth to do this.

Cards should be unlockable, and user have a currency

Consider doing the following:

Some of the cards (Ideally the more complicated ones) should not be unlocked from the beginning, and instead can be unlocked by the user by spending some currency on them.
This currency is accumulated by winning matches.

The purpose is not to keep users from using the full set, but instead to slowly introduce them to avoid overwhelm, and give them ownership over their collection/game.

Don't frontload the assets

Currently, all of the assets (sound, images) are loaded in the preload step of the Welcome Scene.
This causes a delay, especially on first visit (Without cache) before the user sees the first screen.
Ideally, these assets would begin loading in the background, and not delay progress until they are needed.

Ensure that matchmaking is reliable

Some issues have been reported with pvp and matchmaking-code pvp.
Provide sufficient testing to ensure that the experience is seamless for reasonable loads.

User can log in from multiple windows

A given user account can have multiple windows open playing the same game.

This risks things like double spending, playing against yourself, and general sync issues.

Instead, we should prevent them from signing in if a sign in is active currently.

Have a time limit for matches

While in pvp, each user has an amount of time left for them to play before they lose automatically.
Both users can see each other's time limits, and time limit is updated by the server when state is sent.
In pve, there is no time limit.

Possibly use 10+5 (10 minutes, +5 seconds for each action) or something similar.

Signed-in users can save custom decks

Users who have signed in can save / load / delete up to 9 complete deck lists.
These options should be available from the 'Deck' menu in main builder.

User Expansion button should be removed.

Inform user if they are queueing up against ai or with a matchmaking code

It feels easy to forget your settings (ai, matchmaking) when queueing up a game.
This may result in users waiting forever, without realizing that they have a matchmaking code on.

This could be addressed visually in either the searching for opponent screen or the deckbuilder before they hit start.

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.