4ian / gdevelop Goto Github PK
View Code? Open in Web Editor NEW:video_game: Open-source, cross-platform game engine designed to be used by everyone.
Home Page: https://gdevelop.io
License: Other
:video_game: Open-source, cross-platform game engine designed to be used by everyone.
Home Page: https://gdevelop.io
License: Other
This error happens with objects that have the draggable automatism when changing scene. It prevents XDK app to be built.
See : http://forum.compilgames.net/viewtopic.php?f=20&t=6420&p=49869 and http://forum.compilgames.net/viewtopic.php?f=19&t=6385&p=49691
Accidentally i close my own issue, and cant re-open.
answer here, or re-open it
Some builds fail because the SFML library is not built before a lib/exe that needs it (when using multiple cores to build like make -j4).
Error message : no target to make libsfml-graphics/audio or ... .so
Maybe you need to link against sfml-graphics instead of libsfml-graphics.so in CMakeLists.txt as now SFML is a part of the project building process.
GD seems to search for NodeJS in invalid standard path. In fact, NodeJS executable is not named node but nodejs.
There are some old logos which are outdated in the Ressources folder.
It would be nice if the snap to grid functionality would also affect the scaling of sprites. That way uniform scaling of different sprites would be easier.
I did some work on it, but cannot get the build to finish on Yosemite. After fixing all the other errors, the errors still popping up are related to wxwidgets and there my knowledge of linking internals ends ; I would not know how to fix those. Here they are;
https://gist.github.com/tluyben/b7777f0f766bddf93d2a
wxwidgets is the latest (3.0.2 which is included does not actually compile on Yosemite) from git; it compiles fine, for x86_64, but linking (with GD, nothing to do with wxwidgets it seems) just gives these errors.
I think after this hurdle it'll run though; any idea what causes this?
There should be an action to open a web page.
For HTML5 games, the action should trigger the opening of a new tab (using window
).
For native games, the action should use the system standard way of opening links (a call to system()
with start
for Windows or xdg-open
for Linux, as already done in another action (can't remember its name). Probably an alias to this action would be ok, no need to implement something specific in this case).
I think it's time to release GD 3.6.79: I'd like to get feedbacks (@victorlevasseur ?) to know if you think there are still major issues to fix or if everything looks ok?
My Ubuntu/Windows computer sort of crashed (Ubuntu crashed last time with an alarming error concerning sda, I didn't get any time to check this out since I'm working on the Mac I have now) so I didn't made extensive tests on real systems these latest times, just checked compilation and if basic things work on VMs.
i download the ExtLib's as suggested by you . (wxwidgets.7z)
loaded the GDCore.cbp in code::blocks then -> build ,
getting this compilation error:
||=== Build: Debug - Edittime in Game Develop Core (compiler: GNU GCC Compiler) ===| d:\dev\cpp\GameDevelop_source\GD\ExtLibs\wxwidgets\include\wx\platform.h |fatal error: wx/setup.h: No such file or directory| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
there file is not there , what im missing here ?
using windows 7 32 bit
Thanks
Need to fix this bug (already fixed in the tilemap panel and in the tileset panel).
With this project : http://forum.compilgames.net/viewtopic.php?p=48995#p48995
It crashes directly when I start the compiled game :
Program received signal SIGSEGV, Segmentation fault.
0x66982356 in sf::operator==(sf::String const&, sf::String const&) ()
from C:\Users\Victor\dynamic_structure_to_file\sfml-system-2.dll
(gdb) bt
#0 0x66982356 in sf::operator==(sf::String const&, sf::String const&) ()
from C:\Users\Victor\dynamic_structure_to_file\sfml-system-2.dll
#1 0x669823d8 in sf::operator!=(sf::String const&, sf::String const&) ()
from C:\Users\Victor\dynamic_structure_to_file\sfml-system-2.dll
#2 0x6b6219de in sf::Text::setString(sf::String const&) ()
from C:\Users\Victor\dynamic_structure_to_file\sfml-graphics-2.dll
#3 0x6428b312 in ?? ()
from C:\Users\Victor\dynamic_structure_to_file\Code.dll
#4 0x64284c05 in ?? ()
from C:\Users\Victor\dynamic_structure_to_file\Code.dll
#5 0x64282852 in ?? ()
from C:\Users\Victor\dynamic_structure_to_file\Code.dll
#6 0x64287f66 in ?? ()
from C:\Users\Victor\dynamic_structure_to_file\Code.dll
#7 0x6943a828 in RuntimeScene::RenderAndStep() ()
from C:\Users\Victor\dynamic_structure_to_file\GDCpp.dll
#8 0x0040465b in ?? ()
#9 0x004010db in ?? ()
#10 0x00401158 in ?? ()
#11 0x76c8338a in KERNEL32!BaseCleanupAppcompatCacheSupport ()
from C:\Windows\syswow64\kernel32.dll
#12 0x0028ffd4 in ?? ()
#13 0x777a9f72 in ntdll!RtlpNtSetValueKey ()
from C:\Windows\system32\ntdll.dll
#14 0x7efde000 in ?? ()
#15 0x777a9f45 in ntdll!RtlpNtSetValueKey ()
from C:\Windows\system32\ntdll.dll
#16 0x00401140 in ?? ()
#17 0x00000000 in ?? ()
This function will test if an object collides with a tile with a specific tile ID.
For example : test if a player hits a coin tile (without testing all tiles having a coin tile).
http://forum.compilgames.net/viewtopic.php?f=22&t=5713
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
There are some problems with the new InstructionSelector window :
Inside the TileMap editor (not in an object), I'm trying to load a texture using that :
game.GetImageManager()->GetSFMLTexture("myImage.png");
But it doesn't work for picture with relative path (the console prints "Image not found").
For the moment, the only thing I can do is loading the texture directly from a file but this source code is supposed to work in the editor but also in the scene (so I need ImageManager to work).
If you create a new object and try to choose an image from the resource library the corresponding dialog will open but not respond to any input. Even closing (x) doesn't work, the window only closes if you close the parent "edition of a sprite" window.
As a workaround you can load the images from the "images bank" first but this way you won't see any previews of the pics in the folder tree.
My system:
Linux Mint 17.1 Cinnamon 64Bit
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The extensions seems not to be loaded resulting in a lot of "WARNING : Unknown object type/automatism XXXXXXX" and the game doesn't work.
The following error appears right at startup.
I don't know if it has any impact on the pathfinding addons.
The error appears on both of these systems:
Both installed with the official "Ubuntu 13.10 64-bits" Deb package.
Release GD 3.7.80 on Ubuntu 15.04
Your readme says " LPGL v3 license" but isn't that really "LGPL v3 license?"
Hi,
I've created that issue to discuss the way the polygon will be separated from the sprite editor.
For me, it can be made using a main class called, for example, PolygonEditor (maybe it's not a good idea of name as it's not a standalone editor, but an helper plugged to a wxPanel of wxScrolledWindow) or PolygonEditionHelper.
Then, the class will contain some functions that we will call from the Panel/ScrolledWindow using it : DrawEditor(wxDC&, wxPoint offset)
, OnLeftDownEvent(wxMouseEvent&)
to be called from the Panel when the left mouse button is pressed.
Also, the class will contain the polygon "treeview" editor (to be added manually to its AuiManager or automatically from the ctor ?)
"The IDE (in the IDE folder) is licensed with GPL v3.
The Core library, the native and HTML5 platforms (respectively Core, GDCpp and GDJS folders) are LGPL v3."
If i create an game using this engine, the game will need to be open source/GPL v3?
First problem : it links only against w2_32, opengl32... but not wxwidgets libs. It seems that
set(wxWidgets_LIBRARIES "${wxwidgets_lib_dir}/libwxmsw30u_xrc.a ${wxwidgets_lib_dir}/libwxmsw30u_stc.a ${wxwidgets_lib_dir}/libwxmsw30u_richtext.a ${wxwidgets_lib_dir}/libwxmsw30u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw30u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw30u_aui.a ${wxwidgets_lib_dir}/libwxmsw30u_adv.a ${wxwidgets_lib_dir}/libwxmsw30u_html.a ${wxwidgets_lib_dir}/libwxmsw30u_core.a ${wxwidgets_lib_dir}/libwxbase30u_xml.a ${wxwidgets_lib_dir}/libwxbase30u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase30u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a" PARENT_SCOPE)
set(wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES} ws2_32 user32 opengl32 glu32" PARENT_SCOPE)
Doesn't work correctly and ${wxWidgets_LIBRARIES}" (in the 2nd line) doesn't return the previous content of the variable.
Then, if I put everything in the same line, I still can't build GD as it fails on the very first wxwidgets' include...
Browsers tends to cache JS files and serve these cached files, which can be a problem when launching preview/updating to a new version of GDevelop, because most users won't think use Ctrl+F5 (or Ctrl+Shift+R) to clear the cache.
Adding query with a a timestamp to the filenames of JS files when generating index.html (so file.js
become file.js?q=[timestamp]
) should do the trick
Can't remove tiles of the TileMapObject using right click in pencil mode.
I think I've found a solution to fix the shortcuts in the event editor.
Currently, the EventsEditor is a wxPanel so it can't get the focus : so, on GTK, the key input is not received and is sent to another control (sometime the objects list of the project tree).
To allow the EventsEditor to gain the focus, it should inherit of wxControl instead of wxPanel.
I've tested it and it works ! 👍
This solution is easy to implement, you just have to change wxPanel to wxControl and add wxDefaultValidator before the last argument of the Create function.
I just want to point out this minor problem: license.txt says that the name and logo of Game Develop are "exclusive property of Florian Rival". This should be clarified. It sounds to me like it's saying that these are trademarks. If that's what it's supposed to say, it should say so explicitly, and it would also be preferable if it pointed to a trademark policy.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Is there an arch build somewhere, im having trouble with the one at: https://aur.archlinux.org/packages/game-develop-deb/ as it only converts the .deb . Any help would be much appreciated 😄
I think the Polygon2d class is not at the good place in GDCore.
Maybe we can move it from GDCore/BuiltinExtensions/SpriteExtension to another directory. Which one ?
Then, we can move it into the gd namespace (even if it's used by GDCpp's games ?).
Why is this not possible de use directly wxWidgets from the Extlibs folder under Linux ?
You should add the doxyfile to the repository to make more easy to generate an offline documentation.
Add flood fill to the tilemap editor.
Hi,
When I'm trying to use that special code-only parameter, my function always get "true" even if the condition isn't inverted. Notice that it's an object's condition (not like the standard collision condition which is a free condition).
Instead of compare the price with the price of other things (29€ ( 39$ ) The price of: a nice T-Shirt)
You may put a system of:
0)The user
1)Ask a Feature
-then you see what is possible or not and put to votation
2)Vote on the features you want to get prioritized
Features asked by donators get prioritized
You can either:
Sell more votes on the pool (which feature should get prioritized)
(the problem is, some people may create new acounts to get more votes instead of donate)
Sell "gold votes" which get prioritized regardless of the amount of votes from non donators
And allow more votes from people who advertise your program (promotion link) but i recomend limit ths per users and during periods of time to avoid anoy with spam (and get ad'blocked)
this will be an better incentive to donate.
This is the busines model i was planning for my own game engine and is simillar to synfing model.
but since your game engine is open source now, and will also be avaliable for making games on mobile, will be kind of useless to me make my own engine instead of contribute for this project.
Using gtk-3.12.2 and wxgtk-3.0.0, I get the following traceback while building on some Archlinux system:
In file included from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:30:0,
from /usr/include/gtk-3.0/gdk/gdk.h:32,
from /usr/include/gtk-3.0/gtk/gtk.h:30,
from /tmp/gd/src/GD-build/Core/GDCore/IDE/Dialogs/ResourcesEditor.cpp:55:
/usr/include/gtk-3.0/gdk/gdktypes.h:127:39: erreur: conflicting declaration ‘typedef struct _GdkWindow GdkWindow’
typedef struct _GdkWindow GdkWindow;
^
In file included from /usr/include/wx-3.0/wx/treectrl.h:18:0,
from /tmp/gd/src/GD-build/Core/./GDCore/IDE/Dialogs/ResourcesEditor.h:10,
from /tmp/gd/src/GD-build/Core/GDCore/IDE/Dialogs/ResourcesEditor.cpp:8:
/usr/include/wx-3.0/wx/defs.h:3396:33: note: previous declaration as ‘typedef struct _GdkDrawable GdkWindow’
typedef struct _GdkDrawable GdkWindow;
^
Core/CMakeFiles/GDCore.dir/build.make:1522: recipe for target 'Core/CMakeFiles/GDCore.dir/GDCore/IDE/Dialogs/ResourcesEditor.cpp.o' failed
make[2]: *** [Core/CMakeFiles/GDCore.dir/GDCore/IDE/Dialogs/ResourcesEditor.cpp.o] Error 1
CMakeFiles/Makefile2:78: recipe for target 'Core/CMakeFiles/GDCore.dir/all' failed
make[1]: *** [Core/CMakeFiles/GDCore.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2
Is it some familiar definition conflict to you ?
What are the supported gtk/wx versions ? I'm really not sure it's a bug, or eventually in the cmake files...
TileMapObject : Condition to test if an object is on a tile (without the tile hitbox)
Allows to test if an object is over an empty tile for example.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The second minor version of wxWidgets 3.0 has been released. It brings some bug fixes, so it's highly recommended to use it now for GDevelop.
It doesn't cause any problems to GDevelop as this version is fully compatible with the older one.
(We should still consider using this version under Windows, PR #3 is not mergeable anymore, but we can make another one just to switch wx version, without changing mingw)
The sprite object editor doesn't have any of those buttons. It may be useful if you wants to cancel all the changes you've made. Also, it avoids GD to rely on the dialog close button (that's causing troubles on Gnome 3 because modal dialogs are fixed and without close buttons).
If a "Cancel" button is added, it means the editor will have to copy the data before changing it (currently, it directly changes the data on the sprite).
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
"foobar" + "bar" string expression cause compilation failure :
invalid operands of types 'const char[6]' and 'const char[3]' to binary operator 'operator+'
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Because of the change of platforms name, the current platform (when the gd::Project is unserialized) is not valid (need a compatibility code).
The compilation of the last commit of Game Develop leads to this error :
[ 6%] Building CXX object Core/CMakeFiles/GDCore.dir/GDCore/Tools/SystemStats.c
pp.obj
E:\Developpement\GD\Core\GDCore\Tools\SystemStats.cpp: In static member function
'static size_t gd::SystemStats::GetUsedVirtualMemory()':
E:\Developpement\GD\Core\GDCore\Tools\SystemStats.cpp:43:64: error: cannot conve
rt 'PROCESS_MEMORY_COUNTERS_EX*' to '_PROCESS_MEMORY_COUNTERS*' for argument '2'
to 'BOOL GetProcessMemoryInfo(void*, _PROCESS_MEMORY_COUNTERS*, DWORD)'
mingw32-make[2]: *** [Core/CMakeFiles/GDCore.dir/GDCore/Tools/SystemStats.cpp.ob
j] Error 1
mingw32-make[1]: *** [Core/CMakeFiles/GDCore.dir/all] Error 2
mingw32-make: *** [all] Error 2
When you close GD with a C++ game using the platformer automatism opened (and being previewed previously), GD crash (it might rather be when the scene is closed).
The backtrace :
Program received signal SIGSEGV, Segmentation fault.
0x650c1a96 in std::_Rb_tree_increment(std::_Rb_tree_node_base*) ()
from C:\Program Files (x86)\GDevelop\CppPlatform\Extensions\PlatformAutomatis
m.xgdwe
(gdb) bt
#0 0x650c1a96 in std::_Rb_tree_increment(std::_Rb_tree_node_base*) ()
from C:\Program Files (x86)\GDevelop\CppPlatform\Extensions\PlatformAutomatis
m.xgdwe
#1 0x650c02b8 in ScenePlatformObjectsManager::~ScenePlatformObjectsManager()
()
from C:\Program Files (x86)\GDevelop\CppPlatform\Extensions\PlatformAutomatis
m.xgdwe
#2 0x650813c3 in std::_Rb_tree<RuntimeScene*, std::pair<RuntimeScene* const, Sc
enePlatformObjectsManager>, std::_Select1st<std::pair<RuntimeScene* const, Scene
PlatformObjectsManager> >, std::less<RuntimeScene*>, std::allocator<std::pair<Ru
ntimeScene* const, ScenePlatformObjectsManager> > >::_M_erase ()
from C:\Program Files (x86)\GDevelop\CppPlatform\Extensions\PlatformAutomatis
m.xgdwe
#3 0x650e88fd in Extension::SceneUnloaded(RuntimeScene&) ()
from C:\Program Files (x86)\GDevelop\CppPlatform\Extensions\PlatformAutomatis
m.xgdwe
#4 0x05d27924 in RuntimeScene::~RuntimeScene() ()
from C:\Program Files (x86)\GDevelop\GDCpp.dll
#5 0x05e110b3 in CppLayoutPreviewer::~CppLayoutPreviewer() ()
from C:\Program Files (x86)\GDevelop\GDCpp.dll
#6 0x05e11262 in CppLayoutPreviewer::~CppLayoutPreviewer() ()
from C:\Program Files (x86)\GDevelop\GDCpp.dll
#7 0x66f8713f in std::_Rb_tree<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>
, std::allocator<char> > const, boost::shared_ptr<gd::LayoutEditorPreviewer> >,
std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, std::a
llocator<char> > const, boost::shared_ptr<gd::LayoutEditorPreviewer> > >, std::l
ess<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, st
d::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allo
cator<char> > const, boost::shared_ptr<gd::LayoutEditorPreviewer> > > >::_M_eras
e(std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, s
td::allocator<char> > const, boost::shared_ptr<gd::LayoutEditorPreviewer> > >*)
() from C:\Program Files (x86)\GDevelop\GDCore.dll
#8 0x66d41a73 in gd::LayoutEditorCanvas::~LayoutEditorCanvas() ()
from C:\Program Files (x86)\GDevelop\GDCore.dll
#9 0x66d41e82 in gd::LayoutEditorCanvas::~LayoutEditorCanvas() ()
from C:\Program Files (x86)\GDevelop\GDCore.dll
#10 0x05393249 in wxWindowBase::Destroy() ()
from C:\Program Files (x86)\GDevelop\wxmsw295u_core_gcc_custom.dll
The anti-virus scanner ClamAV (FOSS) reports that 7zS.sfx is a Trojan, even though they're compiled from source:
/GD-master/Binaries/Output/Release_Linux/7zS.sfx: Win.Trojan.Agent-683032 FOUND
/GD-master/Binaries/Output/Release_Windows/7zS.sfx: Win.Trojan.Agent-683032 FOUND
This is the reference data on the Trojan in ClamAV's database:
Submission-ID: 31754129
Sender: Virus Total
Added: Win.Trojan.Agent-683032
Virus name alias: Trojan.Win32.Swisyn.caaq (Kaspersky)
If you think this is in error, report the False Positive at: http://www.clamav.net/report/report-fp.html
The backtrace :
Unloaded compiled code0x32f1af0
Launching GD C++ Platform preview...
Scene Editor canvas reloading... ( Step 1/2 )
Switching to preview mode...
Scene canvas reloading... ( Step 2/2 )
Disabling tasks related to scene:New scene
Initializing RuntimeScene from layout...
Program received signal SIGSEGV, Segmentation fault.
0x00007fffd118b387 in b2World::DestroyBody(b2Body*) ()
from ./CppPlatform/Extensions//PhysicsAutomatism.xgdle
(gdb) bt
#0 0x00007fffd118b387 in b2World::DestroyBody(b2Body*) ()
from ./CppPlatform/Extensions//PhysicsAutomatism.xgdle
#1 0x00007fffd115c9e8 in PhysicsAutomatism::~PhysicsAutomatism() ()
from ./CppPlatform/Extensions//PhysicsAutomatism.xgdle
#2 0x00007fffd115ca49 in PhysicsAutomatism::~PhysicsAutomatism() ()
from ./CppPlatform/Extensions//PhysicsAutomatism.xgdle
#3 0x00007ffff725c6df in RuntimeObject::~RuntimeObject() () from ./libGDCpp.so
#4 0x00007fffd0ead817 in RuntimeTextObject::~RuntimeTextObject() ()
from ./CppPlatform/Extensions//TextObject.xgdle
#5 0x00007ffff727f2f8 in std::vector<boost::shared_ptr<RuntimeObject>, std::allocator<boost::shared_ptr<RuntimeObject> > >::~vector() () from ./libGDCpp.so
#6 0x00007ffff727f453 in ObjInstancesHolder::Clear() () from ./libGDCpp.so
#7 0x00007ffff727d390 in RuntimeScene::LoadFromSceneAndCustomInstances(gd::Layout const&, gd::InitialInstancesContainer const&) () from ./libGDCpp.so
#8 0x00007ffff735a2b7 in CppLayoutPreviewer::RefreshFromLayoutSecondPart() ()
from ./libGDCpp.so
#9 0x00007ffff735ac25 in CppLayoutPreviewer::OnUpdate() () from ./libGDCpp.so
#10 0x00007ffff7a5b662 in gd::LayoutEditorCanvas::OnUpdate() ()
from ./libGDCore.so
#11 0x00007ffff7a5f583 in gd::LayoutEditorCanvas::OnPaint(wxPaintEvent&) ()
from ./libGDCore.so
#12 0x00007ffff5c608be in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const ()
---Type <return> to continue, or q <return> to quit---
There should be an action to lock the screen orientation. The implementation should test the device/engine it is running in (Intel XDK/CocoonJS/Crosswalk/Vanilla browser) and call the appropriate function if it exists.
The idea is to create a simple gd::String class providing a string which supports utf8 internally (inside a standard std::string) so that GD would not have to deal explicitly with utf8 problems (such as string size, ...). As Darkhog mentionned, the utf-cpp library (http://utfcpp.sourceforge.net/) can be useful as it provide functions to deal with that encoding.
Utf8 is a good choice because it consumes less memory than Utf32 (used by sf::String) and is directly compatible with the first 128 chars of ASCII.
I don't have informations about how we can handle utf8 in javascript for the web platform, but I think it's managed directly inside.
The player is not totally stuck but fall very slowly and can jump at any moment).
Happens only in HTML5 games.
(http://forum.compilgames.net/viewtopic.php?f=20&t=5111)
The bug seems to happen in gd::EventEditorSelection::EndDragInstruction : at the end, when GD is trying to show (in std::cout) the list events type moved.
If I remove that part, GD crash somewhere else...
See this discussion of LGPL vs MIT licensing: http://programmers.stackexchange.com/questions/81947/why-is-jquery-released-under-mit-and-not-lgpl
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.