xwingtmg / xwing-data2 Goto Github PK
View Code? Open in Web Editor NEWAn easy-to-use collection of data and images from X-Wing: The Miniatures Game (Second Edition) by Fantasy Flight Games.
License: MIT License
An easy-to-use collection of data and images from X-Wing: The Miniatures Game (Second Edition) by Fantasy Flight Games.
License: MIT License
After having to build in some special cases to deal with ships without shields, I'm wondering if it would be better to represent ships without shields as having a ship stat of 0 instead of it not being present? Thoughts?
Captain Cardinal has the wrong png listed (duplicate of Stridan).
This causes in Vassal the image not to load.
Offending code snippet:
"name": "Captain Cardinal",
"caption": "Principled Instructor",
"initiative": 4,
"limited": 1,
"cost": 64,
"xws": "captaincardinal",
"ability": "While a friendly ship at range 1-2 with lower initiative than you defends or performs an attack, if you have at least 1 [Charge], that ship may reroll 1 [Focus] result. After an enemy ship are range 0-3 is destroyed, lose 1 [Charge].",
"image": "https://images-cdn.fantasyflightgames.com/filer_public/1b/2c/1b2cbc1c-7e49-4f9d-b25a-b72d7319b90b/swz18_major-stridan_a2.png",
Hi,
I think that is a good idea add "expansions" attribute in pilots and upgrade and include a list of expansion organized by wave.
Any chance to add the epic data? I found the upgrades but ships and quick builds seem to be missing.
I have written a small script that parses the Quick Builds pdf files and outputs the data in xws format. I see that there are already some quick builds defined here, I'm looking for ideas / interest in merging the resulting data (or maybe even the projects) together. Take a look:
I'm not even sure if you're wanting to add these values in:
https://www.fantasyflightgames.com/en/news/2018/7/27/man-your-ships-1/
If so, I might be able to help out with entering some of this in, as I might have some spare time this weekend.
Just realized that Proximity Mines got errata'd and I'll send a PR for that fix in a bit. But then that got me thinking, should we add some Errata Boolean property to the cards? Here's the use case:
I'm using the data to build my squad. Then I gather all the components and reread the cards only to see the text is different than the data from this repo. Now I can assume that the data has been errata'd, but I can also likely assume that the data is incorrect in this repro. Now I have to do some homework to figure out which is correct.
Personally I would be cool with just a Boolean. But when I was keeping my own data for 1.0 stuff, I did keep track of the original text just so I can compare. It was useful for when people were arguing about how a card worked, and I noticed they were referencing the original text. But things get weird with Saw's Renegades and Tie Reaper corrections since proton torpedoes are wrong in those packs, but correct in the conversion kits.
This is the same as #111, which seems to be closed?
Added the generic YT and updated the other 3 ships with correct data, so just replace the pilots block of the existing json.
YASB has xws for Solo/Chewie as "hansoloresistance" and "chewbaccaresistance"
{
"name": "Resistance Sympathizer",
"initiative": 2,
"limited": 0,
"xws": "resistancesympathizer",
"text": "After witnessing the Hosnian Cataclysm, some spacers willingly aided the Resistance with whatever ships they had.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/resistance-sympathizer.jpg",
"cost": 68,
"slots": [
"Crew",
"Crew",
"Gunner",
"Illicit",
"Modification",
"Title"
]
}
{
"name": "Chewbacca",
"caption": "Loyal Companion",
"initiative": 4,
"limited": 1,
"xws": "chewbacca-scavengedyt1300"
"ability": "After a friendly ship at range 0/3 is destroyed, you may perform an action. Then you may perform a bonus attack.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/chewbacca.jpg",
"cost": 72,
"slots": [
"Talent",
"Crew",
"Crew",
"Gunner",
"Illicit",
"Modification",
"Title"
]
},
{
"name": "Han Solo",
"caption": "Jaded Smuggler",
"initiative": 6,
"limited": 1,
"xws": "hansolo-scavengedyt1300"
"ability": "SETUP: You can be placed anywhere in the play area beyond range 3 of enemy ships.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/han-solo.jpg",
"cost": 76,
"slots": [
"Talent",
"Crew",
"Crew",
"Gunner",
"Illicit",
"Modification",
"Title"
]
},
{
"name": "Rey",
"caption": "Resourceful Scavenger",
"initiative": 5,
"limited": 1,
"xws": "rey",
"ability": "While you defend or perform an attack, if the enemy ship is in your [Front Arc], you may spend 1 [Force] to change 1 of your blank results to an [Evade] or [Hit] result.",
"image": "https://images-cdn.fantasyflightgames.com/filer_public/f9/27/f9276fd7-52fd-4b05-8599-05039fa479e6/swz19_a2_reys-pilot.png",
"force": { "value": 2, "recovers": 1 }
"cost": 80,
"slots": [
"Force Power",
"Crew",
"Crew",
"Gunner",
"Illicit",
"Modification",
"Title"
]
}
Hello,
So far I'm noticing that the following cards are priced incorrectly:
Fanatical: listed 0, actual 2
Special Forces Gunner: listed 0, actual 10
Heroic: listed 0, actual 1
{
"name": "Temmin Wexley",
"caption": "Snap",
"initiative": 4,
"limited": 1,
"xws": "jessikapava",
"ability": "After you fully execute a speed 2-4 maneuver, you may perform a [Boost] action.",
"shipAbility": {
"name": "Weapon Hardpoint",
"text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade."
},
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/temmin-wexley.jpg",
"cost": 54,
"slots": [
"Talent",
"Tech",
"Astromech",
"Modification",
"Configuration",
"Title"
]
}
Hi. I’ve just updated to 8.2.5. The Content Checker button was blinking and I opened it up. When I checked for missing 2e content, it said my content is up to date. Problem is, I haven’t yet and I can’t see any wave 2 ships (only black squares with numbers). Hope you can help. Thanks!
Biohexacrypt Codes missing from tech json
{
"name": "Biohexacrypt Codes",
"limited": 0,
"xws": "biohexacryptcodes",
"sides": [
{
"title": "Biohexacrypt Codes",
"type": "Tech",
"ability": "While you coordinate or jam, if you have a lock on a ship, you may spend that lock to choose that ship, ignoring range restrictions.",
"slots": ["Tech"]
}
],
"cost": { "value": 1 }
}
Pattern Analyzer is missing from Tech json
{
"name": "Pattern Analyzer",
"limited": 0,
"xws": "patternanalyzer",
"sides": [
{
"title": "Pattern Analyzer",
"type": "Tech",
"ability": "While you fully execute a red maneuver, before the Check Difficulty step, you may perform 1 action.",
"slots": ["Tech"]
}
],
"cost": { "value": 5 }
},
"device" : {
"name" : "Thermal Detonators",
"type" : "Bomb",
"effect" : "At the end of the Activation Phase, this device detonates. When this device detonates, each ship and remote at range 0–1 rolls 1 attack die. Each ship gains 1 strain token for each [Focus] result, and each ship and remote suffers 1 [Hit]/[Crit] damage for each matching result."
}
Hey,
is there a lib that converts XWS to text? Looking at the YASB code and https://github.com/guidokessels/xwing-list-loader there only seems to be the other direction available. YASB also seems to have their own internal format.
Sorry for asking this here, but this is the best I could find 🙈
Cheers,
Sebastian
\data\pilots\galactic-empire\tie-ln-fighter.json line 125
\data\pilots\resistance\t-70-x-wing.json line 99
Hi Guido
I was wondering if you would publish this package at npmjs.com (like you did with the original xwing project)
Just saw that new point costs files were uploaded on 2018-10-26. I'm assuming this data needs to be updated still since this repro was last updated 15 days before that. I started manually going through the first handful of ships and didn't notice any changes. Then I thought how there should be an automated way of doing this.
Did you have plan on doing this @guidokessels? I was thinking about writing a node script that'll take the latest info from https://squadbuilder.fantasyflightgames.com/api/cards/ and update the points/slots in the json files. That's assuming the REST data has been updated too. And I might not get to writing this for a couple weeks...
p.s. I just did a diff between my local copy of the REST data, and there were too many changes to see the real difference (because I think they reordered a lot of the data).
EDIT: oh, looks like they didn't actually change any point values or slots with that 2018-10-26 update.
I suggest storing the effects of device tokens data somewhere. I believe each device token corresponds with one upgrade card, so perhaps add the following to the upgrade.
{"effect": {"name": "Proximity Mine", "text": "After a ship overlaps..."}}
Otherwise I could see storing in a separate file.
Changes are in bold from what would make sense based on the new squad builder restrictions.
For Pilots, there are only a couple of additional fields that are needed.
{
"name": "Fenn Rau",
"caption": "Skull Leader",
"initiative": 6,
"limited": 1,
"cost": 7,
"loadout":12,
"xws": "fennrau",
"ability": "While you defend or perform an attack, if the attack range is 1, you may roll 1 additional die.",
"image": "https://sb-cdn.fantasyflightgames.com/card_images/Card_Pilot_155.png",
"shipAbility": {
"name": "Concordia Faceoff",
"text": "While you defend, if the attack range is 1 and you are in the attacker's [Front Arc], change 1 result to an [Evade] result."
},
"slots": ["Talent","Talent", "Torpedo","Modification"],
"artwork": "https://squadbuilder.fantasyflightgames.com/card_art/Card_art_XW_P_155.jpg",
"ffg": 155,
"standard": true,
"extended": true,
"keywords": ["Mandalorian"]
},
For upgrades, leaving the ability to cost things differently by just setting the cost to be "cost": { "value": 5 },
on everything would fix things without losing the ability to do dynamic points in the future (if those are brought back.)
{
"name": "Cobalt Squadron Bomber",
"initiative": 1,
"limited": 0,
"xws": "cobaltsquadronbomber"
"text": "Whether the ordnance silos of their StarFortresses are loaded with proton bombs or relief supplies, the heroic crews of Cobalt Squadron dedicate their lives to making a difference in the galaxy.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/cobalt-squadron-bomber.jpg",
"cost": 63,
"slots": [
"Sensor",
"Tech",
"Crew",
"Gunner",
"Gunner",
"Device",
"Device",
"Modification"
]
}
{
"name": "Cat",
"caption": "Cobalt Wasp",
"initiative": 1,
"limited": 1,
"xws": "cat"
"ability": "While you perform a primary attack, if the defender is at range 0-1 of at least 1 friendly device, roll 1 additional die.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/cat.jpg",
"cost": 67,
"slots": [
"Sensor",
"Tech",
"Crew",
"Gunner",
"Gunner",
"Device",
"Device",
"Modification"
]
}
{
"name": "Vennie",
"caption": "Crimson Cutter",
"initiative": 2,
"limited": 1,
"xws": "vennie"
"ability": "While you defend, if the attacker is in a friendly ship's [Turret], you may add 1 [Focus] result to your roll.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/vennie.jpg",
"cost": 67,
"slots": [
"Sensor",
"Tech",
"Crew",
"Gunner",
"Gunner",
"Device",
"Device",
"Modification"
]
}
{
"name": "Ben Teene",
"caption": "Crimson Bolide",
"initiative": 3,
"limited": 1,
"xws": "benteene"
"ability": "After you perform an attack, if the defender is in your [Turret], assign the RATTLED condition to the defender.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/ben-teene.jpg",
"cost": 68,
"slots": [
"Sensor",
"Tech",
"Crew",
"Gunner",
"Gunner",
"Device",
"Device",
"Modification"
]
}
{
"name": "Edon Kappehl,
"caption": "Crimson Hailstorm",
"initiative": 3,
"limited": 1,
"xws": "edonkappehl"
"ability": "After you fully execute a blue or white maneuver, if you have not dropped or launched a device this round, you may drop 1 device.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/edon-kappehl.jpg",
"cost": 69,
"slots": [
"Sensor",
"Tech",
"Crew",
"Gunner",
"Gunner",
"Device",
"Device",
"Modification"
]
}
{
"name": "Finch Dallow,
"caption": "Cobalt Hammer",
"initiative": 4,
"limited": 1,
"xws": "finchdallow"
"ability": "Before you would drop a bomb, you may place it in the play area touching you instead.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/finch-dallow.jpg,
"cost": 70,
"slots": [
"Sensor",
"Tech",
"Crew",
"Gunner",
"Gunner",
"Device",
"Device",
"Modification"
]
}
Zeta Squadron survivor is listed with same xws as Omega Expert.
The correct code snipet:
"name": "Zeta Squadron Survivor",
"initiative": 2,
"limited": 0,
"cost": 34,
"xws": "zetasquadronsurvivor",
@guidokessels don't know if you've seen it already, but someone on Reddit found all of the pilot and upgrade cards in high resolution on FFG's CDN.
If you've seen that already or it's not useful, feel free to close this issue. I created it because I couldn't figure out another way to contact users on GitHub :)
Added the generic YT and updated the other 3 ships with correct data, so just replace the pilots block of the existing json.
{
"name": "Resistance Sympathizer",
"initiative": 2,
"limited": 0,
"xws": "resistancesympathizer",
"text": "After witnessing the Hosnian Cataclysm, some spacers willingly aided the Resistance with whatever ships they had.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/resistance-sympathizer.jpg",
"cost": 68,
"slots": [
"Crew",
"Crew",
"Gunner",
"Illicit",
"Modification",
"Title"
]
}
{
"name": "Chewbacca",
"caption": "Loyal Companion",
"initiative": 4,
"limited": 1,
"xws": "chewbacca-scavengedyt1300"
"ability": "After a friendly ship at range 0/3 is destroyed, you may perform an action. Then you may perform a bonus attack.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/chewbacca.jpg",
"cost": 72,
"slots": [
"Talent",
"Crew",
"Crew",
"Gunner",
"Illicit",
"Modification",
"Title"
]
},
{
"name": "Han Solo",
"caption": "Jaded Smuggler",
"initiative": 6,
"limited": 1,
"xws": "hansolo-scavengedyt1300"
"ability": "SETUP: You can be placed anywhere in the play area beyond range 3 of enemy ships.",
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/han-solo.jpg",
"cost": 76,
"slots": [
"Talent",
"Crew",
"Crew",
"Gunner",
"Illicit",
"Modification",
"Title"
]
},
{
"name": "Rey",
"caption": "Resourceful Scavenger",
"initiative": 5,
"limited": 1,
"xws": "rey",
"ability": "While you defend or perform an attack, if the enemy ship is in your [Front Arc], you may spend 1 [Force] to change 1 of your blank results to an [Evade] or [Hit] result.",
"image": "https://images-cdn.fantasyflightgames.com/filer_public/f9/27/f9276fd7-52fd-4b05-8599-05039fa479e6/swz19_a2_reys-pilot.png",
"force": { "value": 2, "recovers": 1 }
"cost": 80,
"slots": [
"Force Power",
"Crew",
"Crew",
"Gunner",
"Illicit",
"Modification",
"Title"
]
}
Currently, the list of quick builds are not grouped together. Fantasy Flight Games groups the quick builds on cards and these cards appear to have a pattern: 1 or 2 named pilot quick builds followed by a generic pilot quick build. This pattern holds true when viewing the official list of quick builds available on Fantasy Flight's support website for quick builds for products that do not contain quick build cards (such as the faction conversion kits).
I have followed this pattern and created the following Quick Builds list.
https://raw.githubusercontent.com/iwerts/iwerts.github.io/master/xwsquickbuilds.json
Kerbocat has found the following errors:
I think the new data is looking good so far, but here are a few things that I noticed while looking through it:
The official squad builder has support for multiple languages. Is there any way to scrape that data into xwing-data2? If there isn't a clever way to automate this, I'd be happy to manually crunch the other languages into .json files if someone more clever than me can help by suggesting a proper structure for the data to take on.
I was wondering if cards which grand actionable abilities should be marked as 'actionable'. There are plenty of pilots, upgrades, conditions and damage cards that give extra actions to a ship, and an indication of this could help for some apps I guess
The latest version of the xwing-miniatures-ships meta data has
This corrupts the font naming, as all programs wanting to use the font, will need to use "My Font" instead of the right name "xwing-miniatures-ships".
The card text saids Kare Kun but the wikipedia on her says Karé Kun. The accented character is minor but prevents basic string comparisons.
I wasn't sure if I should submit the change with a general consensus on how to deal with these cases.
Hi, wanted to put forward the suggestion to add separate file/s for ship data.
I saw (in #62) that it looks like it's something that isn't wanted at the moment but I think it's important to have. Any tool that wants to get a list of ships currently has to parse all the pilot files.
data\pilots\first-order\tie-wi-whisper-modified-interceptor.json
Red Fury Zealot slots on line 169 should read:
"slots": ["Talent", "Missile", "Tech", "Tech", "Configuration"],
Has anyone attempted to cut up the rule reference and JSONify them? It seems a bit resource intensive and needs to be updated, but it would be very helpful to have on hand for streams if we ever need to quickly reference a rule entry.
Did you want to add Availability data like you would see from http://xwing-miniatures-second-edition.wikia.com/wiki/X-Wing_Miniatures:_Second_Edition_Wiki. I was thinking it would be nice to know which pilots/upgrades are available in certain expansion packs. For example when people ask what's in the Core Set that aren't in the Upgrade Kits.
I'm thinking we can add to the Pilot or Upgrade object. For instance, on the Heightened Perception force upgrade card:
{ "availability" : [ { "product" : "X-Wing Core Set", "quantity" : 2 } ]}
And then for the Afterburners modification upgrade card:
{ "availability" : [ { "product" : "X-Wing Core Set", "quantity" : 1 }, { "product" : "Fang Fighter Expansion Pack ", "quantity" : 1 } ]}
But I don't know if product should be using some key or id instead.
The recently added "image" property for R5-D8 points to an image of R5-P8.
I've been looking for a clean image of Second Edition R5-D8 from FFG, but the only one I could find is this one.
This wiki has a clean image of just the card, but I couldn't find it on FFG's website.
Should I update the image for R5-D8 to point to the FFG image (the one with other elements) or the wiki one (the one with just the card, but with an unknown source)?
I see you can also find the silhouettes for each ship in ffg's squadronbuilder, maybe this can be added to each ship?
I'll start already, using a tag like "silhouette" and add the url for each item.
manifest.json lists a file data/ships/ships.json, but this is missing in the repo at that location.
The attack data for upgrades doesn't indicate whether they have the ordnance icon on the card (which means range bonuses don't apply). Currently all Missiles and Torpedos have it and all other special weapons don't, so you can infer it, but that could change.
The question is should it be a range_bonus
property that is 1
for normal weapons and 0
for Missiles and Torpedoes, or an ordnance
property that is 0
for other weapons and 1
for Missiles and Torpedoes?
Hi,
Can you update quickbuild .json files with those new pilots ?
https://xwing-miniatures-second-edition.fandom.com/wiki/Hotshots_and_Aces_Reinforcements_Pack
I can scan you the quickbuild cards if you want (in french...)
Thanks.
"104thbatallionpilot" should be "104thbattalionpilot"
"sparepartscannisters" should be "sparepartscanisters"
Running the scraper tool reveals the following upgrades are missing:
Not found Gar Saxon Crew 8 Yes Yes
Not found Imperial Super Commando Team Crew 7 Yes Yes
Not found Tiber Saxon Gunner 4 Yes Yes
Not found Vectored Canons (RZ-1) Configuration 0 Yes Yes
Not found Bo-Katan Kryze Crew 4 Yes Yes
Not found Fenn Rau Crew 6 Yes Yes
Not found Ursa Wren Crew 6 Yes Yes
Not found Tristan Wren Crew 2 Yes Yes
Not found Clan Wren Commando Team Crew 7 Yes Yes
Not found Ahsoka Tano Crew 9 Yes Yes
Not found Bo-Katan Kryze Crew 4 Yes Yes
Not found Fenn Rau Crew 6 Yes Yes
Not found Kuill Crew 4 Yes Yes
Not found Prime Minister Almec Crew 9 Yes Yes
Not found Pre Vizsla Crew 9 Yes Yes
Not found Rook Kast Crew 11 Yes Yes
Not found Savage Opress Crew 10 Yes Yes
Not found Mandalorian Super Commando Team Crew 7 Yes Yes
Not found Gar Saxon Gunner 9 Yes Yes
Not found IG-11 Gunner 6 Yes Yes
Not found Delta-7B Configuration NaN Banned Banned
Not found Ahsoka Tano Crew 9 Yes Yes
Not found Bo-Katan Kryze Crew 8 Yes Yes
Not found Korkie Kryze Crew 5 Yes Yes
Not found Obi-Wan Kenobi Crew 11 Yes Yes
Not found Prime Minister Almec Crew 9 Yes Yes
Not found Satine Kryze Crew 10 Yes Yes
Not found Nite Owl Commando Team Crew 7 Yes Yes
Not found Ursa Wren Gunner 6 Yes Yes
Not found Landing Struts Open Configuration 0 Yes Yes
Not found Repulsorlift Stabilizers (Active) Configuration 0 Yes Yes
Not found Bo-Katan Kryze Crew 8 Yes Yes
Not found Savage Opress Crew 10 Yes Yes
Not found Tal Merrik Crew 7 Banned Yes
Not found Death Watch Commando Team Crew 7 Yes Yes
Not found Ursa Wren Gunner 6 Yes Yes
Not found Proton Cannon Cannon 3 Yes Yes
Not found Swivel Wing (Up) Configuration 0 Yes Yes
Not found Drop-Seat bay Modification 1 Yes Yes
Not found Blazer Bomb Device 4 Yes Yes
Not found Homing Torpedoes Torpedo 5 Yes Yes
Not found Gauntlet Title 0 Yes Yes
Not found Nightbrother Title 0 Yes Yes```
Since I have no write access, maybe you can paste this into the json?
{
"name": "Jessika Pava",
"caption": "The Great Destroyer",
"initiative": 3,
"limited": 1,
"xws": "jessikapava",
"ability": "While you defend or perform an attack, you may spend 1 [Charge] or 1 non-recurring [Charge] from your equipped [Astromech] upgrade to reroll up to 1 of your dice for each other friendly ship at range 0-1.",
"shipAbility": {
"name": "Weapon Hardpoint",
"text": "You can equip 1 [Cannon], [Torpedo], or [Missile] upgrade."
},
"image": "http://www.infinitearenas.com/xw2browse/images/resistance/jessika-pava.jpg",
"cost": 52,
"slots": [
"Tech",
"Astromech",
"Modification",
"Configuration",
"Title"
]
}
https://squadbuilder.fantasyflightgames.com/api/cards/ shows a force_side stat on all pilots. Presumably, this stat will be used in future to support dark/light side upgrades.
force_side has the following values:
NULL: no force
1: dark side
2: light side
data\pilots\scum-and-villainy\scurrg-h-6-bomber.json
The points cost for Captain Nym should be 45 (found on line 44).
The points cost for Lok Revenant should be 43 (found on line 67).
Hyena has an erroneous 2 speed kturn in the dial data
"dial": [
"1TW",
"1BR",
"1FW",
"1NR",
"1YW",
"2ER",
"2TB",
"2BW",
"2FB",
"2NW",
"2YB",
"2RR",
"2KR",
"3TW",
"3FB",
"3YW",
"4FW",
"5FR"
],
data\pilots\first-order\tie-vn-silencer.json line 94
"slots": ["Force", "Tech", "Torpedo", "Missile", "Modification"],
should be
"slots": ["Force Power", "Tech", "Torpedo", "Missile", "Modification"],
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.