galaxyyao / touhougrave Goto Github PK
View Code? Open in Web Editor NEWAnother version of Touhou Spring(https://github.com/galaxyyao/Touhou-Spring), with some adjustment in rules
Another version of Touhou Spring(https://github.com/galaxyyao/Touhou-Spring), with some adjustment in rules
Resolve shall be done after each flush of command queue.ResolveBattlefieldCards could be removed afterwards.
Accessing to Game arbitrarily from UI thread may possibly cause race condition. Either duplicate the game object per-frame or lock the Game while flushing commands
Card controls shall work correctly while game states are changing at background. That usually happens under multi-player games.
Specifically, MouseDown/MouseUp and MouseEnter/MouseLeave do not necessarily happen in pair. And effect icons tend to change.
Issue #27 also falls in this topic.
Before doing the actual task, either make some benchmarks or use profiling tools;
Prioritize the maintainability and usability of the public interface of behavior system.
Succeeding task of #47.
And some behaviors which let the card to be effective in sacrifice zone reveal their host cards in sacrifice zone.
For a crude implementation, one may just write out the serialized form of commands into a file on disk, along with the initial parameters of a game (decks, hero, random seed).
Replay the written replay file in Console.
Since new behaviors may possibly need to ask the player select targets from library/graveyard, UI should be implemented to allow such an action;
Also the graveyard shall be inspect-able by all players at any time during a game.
Implement the server side of the game. Shall provide the following services:
It definitely will be a very HUGE story. But only basic features will be implemented at the initial game launch. Players of 100-200 is the target number to be aimed at.
Design, define and implement the countering process.
Some behavior requires temporarily cancel current command in setuptrigger, and issue a new command.
For example, Passive_AttackFirst requires cancel DealDamageToCard first, and take it back if attacker is not killed
Another example, one behavior: cancel one spell, and deal N damage to enemy.
With card & skill number grows, there should be a deck builder in XNA application, for testing if a skill is designed properly, without modifying source code.
Create Battle Network, which hold players' profile, default deck and so on
Allow button texts to be customized;
Allow icons or cards to be displayed for each option.
Resolve shall be done after each flush of command queue.ResolveBattlefieldCards could be removed afterwards.
Local trigger shall be implemented for PlayCard, DrawCard, DealDamageToCard, Kill, Summon, AddBehavior and RemoveBehavior commands (which has a clear target). Local triggers are triggered only for those target cards so that writing new behaviors could be easier.
Implement multi-player game based on public p2p connection.
Problems like firewall penetrating could just be ignored: one could safely assume that at least one peer has public address because finally our public server will act as a bridge.
Commands are sent two-way-ly between clients. The granularity of command packing(how often or on what timing commands are sent packed) shall be carefully defined.
Proper command serialization shall be implemented then.
The whole game states need to be hashed and sent over to validate the synchronization.
Filing Character Skills v0.3.0, based on Len's character design document
Currently, effects for summon-able card & sacrifice-able card are the same(green border), which makes it difficulty to make them out.
Intended to test the effectiveness of the particle system.
Resolve shall be done after each flush of command queue.ResolveBattlefieldCards could be removed afterwards.
For dynamic create server if connection number meets limit
BaseCard.BehaviorList currently has IList interface implemented, but for modding purpose this interface shall not be exposed publicly. Change it to a readonly collection.
UI needs to be implemented to let player discard cards over the cap;
And the cap shall be modifiable by behaviors.
As title
Resolve shall be done after each flush of command queue.ResolveBattlefieldCards could be removed afterwards.
Similar to MTG, sometimes it's necessary to show some special mark on Card. For example, poison mark.
It can be used to present a 2nd resource, or a dot.
The system will let the card (characters) chat with each other.
The detailed design is to be determined.
Card entering graveyard should be animated.
PlayerPlayer/PlayerController shall be unified for public interface;
OpponentPlayer/OpponentController shall be removed considering multi-player game of more than 2 players; use collection of enemy players instead.
Combats should be animated.
Numbers shall be rendered with bigger fonts. Modified values caused by some buff/debuff shall be rendered in green/red or other effect.
Make it compile;
Redo some commands to adapt the change of interactions.
Refactor, rewrite or document; by any means, make the code cleaner & more maintainable.
When new card is added to handset, automatically sort handset by:
Instead of Hard code, initialize deck from Local or server profile
Consider how to render them and how to let player inspect them in detail.
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.