Giter Site home page Giter Site logo

xortroll / emuiibo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ognik5377/switch-nfp-mitm

1.1K 57.0 84.0 13.88 MB

Virtual amiibo (amiibo emulation) system for Nintendo Switch

License: GNU General Public License v2.0

Makefile 0.84% C++ 81.96% Rust 12.69% C 0.24% CSS 0.04% Kotlin 4.23%
mitm amiibo emulation sysmodule hos horizon hacktoberfest botw nintendo amiibo-emulation nintendo-switch nintendo-switch-homebrew

emuiibo's Introduction

emuiibo

Virtual amiibo (amiibo emulation) system for Nintendo Switch

Discord Downloads License

Patreon GitHub sponsors PayPal

Table of contents

Download

Make sure you always read the README and release changelogs (which are located on the release page)!

You will need the following files:

Extract all ZIP files and copy the folders on your SD card. It should look like this in the end:

  • emuiibo: sd:/atmosphere/contents/0100000000000352/exefs.nsp and /flags folder
  • emuiibo overlay: sd:/switch/.overlays/emuiibo.ovl
  • tesla-menu: sd:/switch/.overlays/ovlmenu.ovl
  • nx-ovlloader: sd:/atmosphere/contents/420000000007E51A/exefs.nsp and /flags folder

Always keep in mind that (if these contents were placed without turning off the console, using FTP, MTP, etc.) a reboot will be needed for emuiibo to actually work/reload!

Virtual amiibos

Virtual amiibos go inside sd:/emuiibo/amiibo. For instance, an amiibo named MyMario would be sd:/emuiibo/amiibo/MyMario/<amiibo content>. They can go inside sub-directories, like sd:/emuiibo/amiibo/SSBU/Yoshi.

A virtual amiibo is detected by emuiibo based on two aspects: a amiibo.json and a amiibo.flag file must exist inside the virtual amiibo's folder mentioned above. If (for whatever reason) you would like to disable a virtual amiibo from being recognised by emuiibo, just remove the flag file, and create it again to enable it.

The JSON file contains all the aspects and data an amiibo needs to provide to games, except a few special ones (per-game savedata, protocol and tag type...)

This are the properties an amiibo has:

  • Name: the amiibo's name (max. 10 characters, longer names will be automatically limited to 10 by emuiibo)

  • UUID: it's a unique identifier for the amiibo, composed of 10 bytes. Common amiibo UUID values seem to have the last 3 bytes zeroed...?

  • Random UUID: if this option is enabled (set to true), emuiibo will ignore the fixed UUID value and generate random UUIDs every time the amiibo is accessed by a game. This has potential benefits in certain games, like in BOTW, where amiibos can only be used once per day, but with randomized UUIDs this can be bypassed, and one can get infinite rewards scanning this amiibo infinite times.

  • Mii: every amiibo has a mii associated with it (it's "owner"). Internally, miis consist on a 88-byte structure known as "char-info", so emuiibo stores this data in a file (typically mii-charinfo.bin). For new amiibos, emuiibo uses the console's services to generate a random mii, but for those who would like to use a mii from their console, emuiibo dumps in miis directory the console's miis, so it's just a matter of copying and pasting/replacing charinfo bin files. NOTE: emuiibo contains the charinfo file's name in the JSON (mii_charinfo_file), so if the file ever gets renamed, don't forget to rename it in the JSON too, or emuiibo will generate a random mii for the file name in the JSON.

  • First and last write dates: these are (as if it wasn't obvious) the first and last time the amiibo was written/modified. When a virtual amiibo is created with emuiigen, the current date is assigned to both dates, and when the amiibo is modified in console, emuiibo updates the last write date.

  • Write counter: this is a number which is increased everytime the amiibo is modified (and emuiibo does so, imitating Nintendo), but when the number reaches 65535, it is no longer increased (the number is technically a 16-bit number)

  • Version: this value technically represents the version of Nintendo's amiibo library (NFP), so emuiibo just defaults it to 0.

Virtual amiibo creation

While old emuiibo formats are supported and converted to the current format (see above), it is strongly suggested to, unless bin dumps might be indispensable, emuiigen be used, the intuitive PC utility designed to create and edit virtual amiibos:

Screenshot

Now you can copy the generated amiibo folder onto your SD card, in sd:/emuiibo/amiibo or in any subdirectories inside it!

Supported figures

Some games (like Skylanders) make use of their particular NFC technology, aside from amiibos. This project ONLY emulates amiibos; therefore, in Skylanders' case, only the two special figurines with amiibo support can be emulated here, where emuiibo will only emulate the "amiibo part" of them.

Areas

Areas (application areas, technically) are per-game amiibo savedata. Technically, real amiibos can only save data for a single game, but emuiibo allows as many games as you want (since savedata is stored as files). This savedata is quite small, and tends to be 216 bytes or smaller.

emuiibo saves this data inside bin files at areas directory inside the amiibo's directory, and the bin file's name is the game's area access ID in hex format.

An access ID is a unique ID/number each game has for amiibo savedata, used to check if the game actually has savedata in an amiibo. Here's a list of games and their access IDs:

Per-game access IDs

Game Application ID Access ID
Splatoon 2 0x01003BC0000A0000 0x10162B00
Shovel Knight: Treasure Trove 0x010057D0021E8000 0x1016E100
The Legend of Zelda: Breath of the Wild 0x01007EF00011E000 0x1019C800
Super Smash Bros. Ultimate 0x01006A800016E000 0x34F80200
Splatoon 3 0x0100C2500FC20000 0x38600500
The Legend of Zelda: Link's Awakening 0x01006BB00C6F0000 0x3B440400

Some of these IDs were obtained from switchbrew.

Usage and controlling

If you set up everything mentioned above, you're ready to use emuiibo ingame.

Tip: Enable it (emulation status) before you start a game, because it does not work in some games if you enable it after launching the game! It really depends on how the game uses amiibos internally, so this guarantees emuiibo will intercept the game.

To see if emuiibo is working ingame, check if emuiibo is intercepting the game when it's trying to access amiibos. If it's not, try launching the game with emuiibo enabled first.

To open the Tesla overlay, hold down L1 + DPAD-down and then press R3 (right stick). If you did it, the overlay will open on the left side of the screen. Now choose emuiibo.

You can see/control the following options in the top part of the overlay:

  • Emulation status (on/off): when emuiibo's emulation status is on, it means that any game trying to access/read amiibos will be intercepted by emuiibo. When it's off, it means that amiibo services will work normally, and nothing will be intercepted. This is basically a toggle to globally disable or enable amiibo emulation.

  • Active virtual amiibo: it's the amiibo which will be sent to the games which try to scan amiibos, if emulation is on. If the amiibo happens to have an image, this will be displayed in the top part of the overlay.

  • Virtual amiibo status (connected/disconnected): when the active virtual amiibo is connected, it means that the amiibo is always "placed", as if you were holding a real amiibo on the NFC point and never moving it - the game always detects it. When it is disconnected, it means that you "removed" it, as if you just removed the amiibo from the NFC point. Some games might ask you to remove the amiibo after saving data, so you must disconnect the virtual amiibo to "simulate" that removal. This is a recent feature, since emuiibo tried to handle this automatically in previous versions, causing some games to fail.

  • Random UUID (on/off): when a virtual amiibo is selected, this will toggle the random UUID option on the amiibo (see above), which will make emuiibo use randomized UUIDs any time a game accesses the amiibo.

In the main menu of the bottom part, You can browse virtual amiibos (and thus select them) through the (sub)directories in sd:/emuiibo/amiibo. You can also mark some of them as favorites, which can be easily accessed from a separate menu below.

After you selected an amiibo, you can see it's selected on top in the overlay and that it is connected. A virtual amiibo being connected is the equivalent of holding a real amiibo figurine/card on the NFC point. To disconnect the amiibo (the equivalent of removing a real amiibo from the NFC point), just select the same amiibo again.

To go back in the menus, just press B button.

Example of use:

  1. Open the overlay and choose emuiibo
  2. Enable emuiibo
  3. Start the game
  4. Navigate to the games NFC feature to use the amiibo and activate it
  5. Open the overlay and choose your amiibo (the amiibo will then be connected).
  6. The game should now register/make use of it
  7. If the game tells you to remove the amiibo, disconnect it.

Boot procedure

  • This is the list of actions emuiibo will automatically do when booting the console:

    • Console miis are saved at sd:/emuiibo/miis/<index>, both their name (in a text file since it might not be ASCII) and their data as a mii-charinfo.bin file.

    • Old amiibo formats (raw bin dumps and old virtual amiibo formats) are automatically converted to the modern format:

      • If sd:/switch/key_retail.bin is present, the bin dump's encrypted sections can be also used, which means that amiibo settings (mii, name, etc.) and game app-area (save-data), if present, are also extracted for the new format.

      • The bin dump file does not get removed, but it will get moved inside the modern amiibo format, along with the decrypted file.

Compiling

In order to compile emuiibo you need to setup Rust for Nintendo Switch development. You'll also need devkitPro (devkitA64 specifically), in order to compile the overlay.

With this requirements satisfied, simply clone (recursively) this repo and hit make

For developers

emuiibo hosts a custom IPC service, also named emuiibo, which can be used to control amiibo emulation by other homebrew tools.

The overlay's code serves a good example to see how to control emuiibo with libnx.

Credits

  • Everyone who contributed to the original nfp-mitm project (and other forks): Subv, ogniK, averne, spx01, SciresM

  • AmiiboAPI web API, which is used by emuiigen to get a proper, full amiibo list, in order to generate virtual amiibos.

  • 3dbrew for their detailed documentation of amiibos, even though some aspects are different on the Switch.

  • LoOkYe for writing emuiibo's wiki and helping with support.

  • AD2076 and AmonRaNet for helping with the tesla overlay.

  • AmonRaNet for all the work he put into the overlay.

  • AmonRaNet, Impeeza, amazingfate, qazrfv1234, shadow2560 and SimoCasa for providing/helping with translations.

  • Thog / Ryujinx devs for reversing mii services and various of its types.

  • Citra devs for several amiibo formats used in 3DS systems.

  • Manlibear for helping with improvements and development of former emutool.

  • All the testers and supporters from my Discord server who were essential for making this project progress and become what it is now :)

License exemption

  • The Ryujinx project/team is exempt from GPLv2 licensing, and may make use of emuiibo's code licensing it under their current license.

emuiibo's People

Contributors

1dontex1st avatar ack77 avatar ad2076 avatar alula avatar amazingfate avatar averne avatar ca1e avatar compsciorbust avatar ddinghoya avatar lookye avatar manlibear avatar noahc3 avatar ognik5377 avatar sciresm avatar slluxx avatar spx01 avatar subv avatar xortroll 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  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  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

emuiibo's Issues

9.0 system & 0.94 atmosphere have some problems

i use the latest emuiibo and AmiiSwap1.0 and i have set up emuiibo folder and put into bin files according to instruction, but it show me List is Empty after selecting Amiibos->All in AmiiSwap .
And there are some empty folders in sd/emuiibo/amiibo, is this situation normal, what should i do.
Forgive my poor English.

Not Working on 8.1.0

Running Kosmos v13.0.1 w/ Atmosphere 0.9.2 on 8.1.0. When I drop the 0100000000000352 folder in to my atmosphere/titles folder I begin to have problems. On emuiibo v0.2.0 when booting I get stuck at the Nintendo Switch logo and have to hold the power button to restart. When I use emuiibo v0.2.1 I can boot but when I launch The Homebrew Launcher it crashes and I have to reboot.

Writing Data to Amiibo/Emuiibo

Would writing data to an amiibo be a planned feature later on? Otherwise, whenever you rescan/re-emulate the amiibo, like in Super Smash Bros Ultimate, it picks it up as a new amiibo rather than a previously saved amiibo.

emuGUIibo Does Not Work With WINE

$ ./emuGUIibo.exe 
0009:err:winediag:gnutls_initialize failed to load libgnutls, no support for encryption
0009:err:module:load_so_dll failed to load .so lib "/usr/bin/../lib32/wine/l3codeca.acm.so": libmpg123.so.0: cannot open shared object file: No such file or directory
^C0037:fixme:console:CONSOLE_DefaultHandler Terminating process 8 on event 0
0037:err:mscoree:expect_no_runtimes Process exited with a Mono runtime loaded.

Smash Ultimate not saving data

Super Smash Bros Ultimate reads the emulated amiibos fine, and says it saves when you're done with the amiibos, however scanning the same amiibo again makes you register it again, and it won't let you bring one into battle.
Also, the key combos are a little wonky, and don't always work. Basically I have to enable amiibo emulation before needing to read the amiibo, and disable it immediately afterwards. They apparently can't be emulated while it's searching for amiibos, if that makes sense. Also when I use right+down to disable, it doesn't disable until, like, I go to another screen, which can lead to getting stuck in dialogue boxes complaining this amiibo isn't compatible or whatever

emuiibo nonfunctional in fire emblem 3houses

so i just downloaded emuiibo .3 and am having a spot of trouble getting it to work for fire emblem 3 houses (id test more on games, but all i have is BotW). I'm currently on 8.1 using ams 0.9.2, and i get the light on the home button when i toggle emuiibo on, but i just can't get any responsiveness out of the game. I've got the needed jsons in my amiibo's folder but can't get results. Any insights that could be offered are appreciated

Duplicate combobox items

In the emuGUIibo, combobox2, if you have more that 1 item with the same name, this causes a crash if you select a duplicate item.

Change: SingleOrDefault()

to: FirstOrDefault()

This prevents that error from occurring.

Feature Request!

In the new emuGUIibo, when you select an amiibo the picture of the amiibo is displayed, when you generate the virtual amiibo would it be possible to also save the image file as amiibo.icon in the same folder where the json files get generated.

Just need to add a second checkbox and add this code:

if (checkBox2.Checked)
{
pictureBox1.Image.Save(Path.Combine(amiiboDir, "amiibo.icon"));
}

Thanks.

Custom keys

Would be great if some customization to keys for combos was possible, for example using ZR instead of Right stick in combination with U/D/L/R.

Would be nice to also have UP as on, DOWN as off, LEFT and RIGHT as previous and next amiibos :)

Thanks.

Can't switch between amiibo

I have my folders set up correctly and everything but the shortcut to switch to the next amiibo (R thumb click + left D pad) refuses to work. The home button lights up but they don't swap. I've also checked to make sure both amiibo work perfectly, the folders have their JSONs inside and everything and only work if only one is in the emuiibo folder at a time.

I'm using emuiibo v.03
I have atmosphere 0.9.2
I'm trying to swap between two amiibo, a Ike and a Isabelle, from smash bros.

In and out of the game, they won't swap but only work if they're the only amiibo folder in the emuiibo folder.

emuiibo not running on ams

Using 7.0.1 with Kosmos 12.1.2 (AMS 0.8.9)

I compiled all from source (latest libstratosphere and latest emuiibo), but using Kosmos Settings, under Background Services, it says it's disabled. tries enabling it from there, didn't do much good...

and of course, I have the boot2.flag in the title.

Crush on 7.0.1 ASM 0.8.9

After placing v0.2 emuiibo files from 'archive'/atmosphere/titles/.... to 'sdcard'/atmosphere/titles/... and reboot - on startup crashes to atmosphere error screen, fixes after removing emuiibo folder from 'sdcard'/atmosphere/titles/...

Emuiibo doen't work in atmosphere 0.9.4

I use emuiibo in system 9.0.1 and atmosphere 0.9.4 in an SD with exFat.
I know that it is often corrupted but I was using several versions of the program and it closed when entering emuiibo but now it does not want to turn on the console with the emuiibo installed.

Saving in Smash Ultimate

When trying to save the amiibo, occasionally the game will say "The data on this amiibo may have been overwritten by another console. Unable to write on this amiibo." I am unable to determine when this error occurs, because it does not happen every time. I have attempted to shut off the service by doing the right click + down in between the first scan and saving scans with no success

Using amiibos on Link's awakening hangs the game

I've got some amiibos created with the GUI tool (4 json file in each folder)
When trying to use it in Link's awakening it's not detected, and pressing "Quit" in the game hangs it.

I do see the light in the home button turn on when clicking the r-stick and up dpad

I'm using emuiibo 0.3.1, fw 8.1.0

Amiibo does not work in BotW

Amiibo does not work in BotW. SSB Link, Majora's Mask Link, 8-bit Link, OoT Link, TP Link, SS Link. Always called fish and chest instead of the items specified in the description. All other amiibo work.

Botw chests do not appear

Hi, when i use an amiibo, (using AmiiSwap) only some foods spawn but the chests do not appear, i tried with 4 different amiibo but still the same, only foods but no chests, someone know why?

emuiibo crashes on 8.1.0

Copy-pasting from my Atmosphere issue

It crashes all of Atmosphere upon activating, and it's Atmosphere-independent (SciresM)

Bug Report

What's the issue you encountered?

Atmosphère crashed.

How can the issue be reproduced?

It can be reproduced by going to sdsetup.com](https://www.sdsetup.com/console?switch) and selecting the same packages, then turning on emuiibo, sys-ftpd, and sys-clk and rebooting into CFW.

Crash Report

I have two crash reports, one after booting from fusee-primary and the other after booting from hekate. Gist

System Firmware Version

8.1.0

Environment?

I launched Atmosphère by fusèe first, then hekate.
I used Kosmos's (13.0.1) latest build of Atmosphère (0.9.2).

sysmodules:

  • emuiibo
  • hid-mitm
  • sys-clk
  • sys-ftpd
  • sys-netcheat
  • ldn_mitm

homebrew:

  • Kosmos Updater
  • Kosmos Toolbox
  • AmiiSwap
  • Checkpoint
  • Goldleaf
  • NxThemes Installer
  • Retroarch
  • MelonDS

Additional context?

I activated emuiibo, sys-clk, and sys-ftpd before the error.
I'd guess that this is an emuiibo issue.

Screenshot_20190708-150938_Camera

Smash Bros Ultimate Won't reconnect when Asking to overwrite?

I am using Kosmos, latest atmosphere, and firmware 8.1. So I see emuiibo works fine on the latest, but never worked on 2.1. It reads the amiibo, but it never seems to want to read again after I already went to edit the name and color of the amiibo on Smash Bros Ultimate. Is there anyway I can fix this problem of it asking me to place the amiibo again?

20H Wolf Link

How to get 20HP Wolf link? Is it possible on Emuiibo v0.2? And how to do it?

Trouble correctly identifying some amiibo

Specifically the wedding versions of Bowser/Mario/Peach, and gold version of Mario, get recognized as their normal versions when trying to unlock stuff in Mario Odyssey (attempted with quite a few different dumps)

Use DKP libnx instead of a local one

The makefile uses ./libnx-master/nx as the libnx dir, while it should use $DEVKITPRO/libnx. Symlinking the two directories allows the project to build appropriately.

[Suggestion] Amiibo redirection

There is a continuing issue where amiibo don't work well or at all in some games due to how they are implemented. My suggestion on how to work around this is to redirect actual scanned amiibo and instead whatever emulated amiibo you have selected.

So as an example, lets say you have a real mario amiibo, and you have an emulated Link amiibo selected. Whatever you do while scanning the Mario Amiibo would instead read as the link amiibo. To be used as needed for any game.

This does require a real amiibo for the user to use it, but I think most people have at least one amiibo.

Russian support

There is problem when mii name have special characters switch don't booting up(#17 it seems that emuiibo sees ALL russian characters as "special"

In-game usage like BOTW

Have tried several times and still can not be used in BOTW, perhaps the combos are not compatible in this game? Sorry but I really do not know how to use it properly.

Switch won't boot when enabled

When I use Kosmos Toolbox to turn emuiibo on then reboot my switch hangs at the Nintendo Switch logo. I have to put my SD in the PC and delete the emuiibo files for it to boot.

randomizeUuid not usable?

So I tried using the randomizeUuid feature but I guess it breaks the amiibos.
After changing the json back it worked.

Here is an example json:

{
   "applicationAreaSize": 216,
   "firstWriteDate": [
      2019,
      6,
      15
   ],
   "lastWriteDate": [
      2019,
      6,
      15
   ],
   "name": "BOTW Zelda",
   "randomizeUuid": true
}

8.1 system + 0.93 atmosphere could not used

Swithch 8.1(no fake system)+ Atomsphere 0.93
Amiiswap 1.0 + Emuiibo 0.21
In Amiiswap could load the Amiibo.bin and enable Emuiibo(the green lignt up)
In Zelda could not use and press the ==> + R-stick no feedback. the home button blue light up mean it could use.
and use the Emuiibo 0.3 could not load the amiibo.bin in Amiiswap.(0.21 could load)

Makefile adjustment

This bit needs to be corrected in the makefile. Paths with drive letters aren't appropriate. You also need to check if the folders exist, and create them if they don't, before trying to copy a file into them.

@rm -rf f:/atmosphere/titles/0100000000000352/exefs.nsp
@cp $(OUTPUT).nsp f:/atmosphere/titles/0100000000000352/exefs.nsp

Amiibos keep Switching

When i activate emulation, ingame it seems like it just does nothing,
when i then pop up amiiswap, it states emuiibo status to be unknown while constantly switching rapidly between my amiibos thus not staying on long enough to be registered by games, i assume.
Is there anything wrong with my setup or a way to avoid that or is this a common bug?

V.02 doesn't work with atmosphere 0.8.10 and nand 8.0.1

I'm using version 0.2 of emuiibo and it does not work with atmosphere 0.8.10. Can someone help me?
Obs: I put all .bin in the :\emuiibo\ folder. But when I try to use pressing the right d'pad +up arrow does not work. With AmiiSwap sometimes works if I enable before starting the game, but I can not change amiibo during the game with dpad right + right arrow.

Causes 2168-0002 error on 9.0.0, AMS 0.9.4

Fatal crash on boot until I deleted Emuiibo manually from my SD card.

Booting with plain ol' fusee-primary. Nothing special about my setup; I've only used Checkpoint and Emuiibo on my Switch.

Issue on Yoshi's crafted world

i posted this on gbatemp but now that issues are open here , its more appropriate.
The problem is somehow its reading the amiibo wrong , the mega yarn yoshi is supposed to unlock a yarn yoshi outfit , but its unlocking the standard yoshi amiibo outfit wich is an egg , its not my bin file because i tested with the original switch-nfp-mitm and he unlocked the right outfit.

Emulation status unknown

Amiiswap cycles through not enabled and status unknown, amiibos dont work in games, or settings, tried redownloading, wiping info, everything. nothing works

Button combo R3+dpad does nothing.

In TLoZ: BotW, instead of amiibo items spawning it just goes to the menu or sheika slate scope depending on what button was pressed first.
Using 0.3.1 with a combination of bin dumps and generated with emuGUIibo.
There are also PNG files in the amiibo folder.

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.