Code Monkey home page Code Monkey logo

nblood's Introduction

Hi there ๐Ÿ‘‹ I'm nukeykt

  • ๐Ÿ”ญ Iโ€™m currently working on: SC-55 emulation
  • ๐Ÿ‘€ I'm interested in: reverse engineering old games and integrated circuits
  • ๐ŸŒฑ Iโ€™m currently learning: reverse engineering circuits and verilog
  • ๐Ÿ“ซ How to reach me: nukeykt on discord, @nukeykt on twitter, mail: alexeytf2 at gmail.com

nblood's People

Contributors

alexey-lysiuk avatar breakinbenny avatar bszili avatar cdoom64hunter avatar colinkinloch avatar commonloon102 avatar dgurney avatar dibollinger avatar die4ever avatar extradrowsy avatar fhomolka avatar helixhorned avatar hendricks266 avatar jan200101 avatar jonathangray avatar jonof avatar mexmercury avatar mjr4077au avatar nooneblood avatar nukeykt avatar ny00123 avatar oplexitie avatar phlamethrower avatar plagman avatar seanm avatar sirlemonhead avatar strikerman780 avatar terminx avatar tmyqlfpir avatar zzeck 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

nblood's Issues

Building on Linux: case-sensitivity issue

Attempting to make NBlood on Linux (Mint 19) produces the following error:
weasel@lettfeti:~/games/nblood/NBlood$ make Built object obj/blood/blood.o source/blood/src/actor.cpp:54:10: fatal error: AIUNICULT.H: No such file or directory #include "AIUNICULT.H" ^~~~~~~~~~~~~ compilation terminated. Failed building obj/blood/actor.o from source/blood/src/actor.cpp! GNUmakefile:1160: recipe for target 'obj/blood/actor.o' failed make: *** [obj/blood/actor.o] Error 1
This is because, in actor.cpp, the #include line refers to AIUNICULT.H with a capital H. Renaming it to AIUNICULT.h does not solve the problem either, but correcting line 54 of actor.cpp to reference it with a lowercase h fixes this.

sprites misbehave and other problems

Hello. First good job on the port :).

Im having a bit of a snag but i dont see my problem specifically mentioned by anyone else, so im not sure if the problem is on my end.

Sprites for flames are misbehaving, sometimes drawing as green haze.
Heart sprites flicker.
Some wall textures seem to not draw correctly (smearing ?, looks like those textures only draw as tilted lines).

I used the gog version of one unit whole blood as the base, is there any thing different with that version besides the bundled dosbox ?.

If i use the high res pack for BloodGDX the viewport goes all bonkers.

Skyboxes have no top tile (just a large black square when looking up).

Game saving/loading issues

I suppose this isn't ready atm, or it's just the way things are in the original DOS EXE?

Either way, PlayerLoadSave::Load is trying to read more fields than PlayerLoadSave::Save.
There are also issues with seemingly uninitialized fields on load, like gPlayer[i].pSprite->extra being set to -1, yet used in the following reads a bit later:

PlayerLoadSave::Load: gPlayer[i].pXSprite = &xsprite[gPlayer[i].pSprite->extra];
viewInitializePrediction: memcpy(&predict.at75,&gSpriteHit[gMe->pSprite->extra],sizeof(SPRITEHIT));

E2M5 crash

Assertion failed: xsector[nXSector].reference == nSector in file source/blood/src/actor.cpp at line 5370
screenFetch-2019-05-30_11-31-20

NBlood v1.01-78-g4719c1b
Built May 30 2019 00:40:42, GCC 8.3.0, 64-bit

All graphics except HUD is nothing but a pink void

Specs:
NVidia GTX 960 (Driver is version 430.86)
Intel Core i5-2400 Quad Core 3.10GHz
8 GB DDR3 Ram
Windows 10 64-Bit

After moving all the required files into their own directory (Blood's INI file, the DEM and RFF files ect.) I noticed that no matter what renderer I set it to, or graphical filtering settings I set. the game's rendered in a pink or purpleish void with the exception of HUD elements. Here's a screenshot of what it looks like and the log file.
blud0000
nblood.log

I will note that I wouldn't be surprised if it's an issue on my part.

turning right prevents attacks

Version: NBlood v1.01-23-g527f6aa
Arch: linux_amd64

Standing in one spot, rotating to the right and trying to attack, but the pitchfork doesn't attack anymore. Works fine while rotating left however.

Some problems on Raspberry pi

Hi!! well done!

Ive tested eduke before on mesa drivers and it runs 100% ok at 1080p under opengl driver

for some reason, it doesnt work on this one, no error, no crash, it jus freeze and thats all..
if I set soft renderer it starts but I cant see nothing.
what debug log do you need to be supplied by me?
i need to rebuild for debug mode.

if Ive compile it disabling opengl it runs ok, but not at 1080 p and it doesnt scale well on fullscreen because there are no 16:9 aspect ratio options on fullscreen besides 1080p ::(

I will try updating mesa to the latest... but it should not be the problem at all..

pi@pi:~/Desktop/NBlood $ ./nblood
NBlood v1.01-74-g8401d66
Built May 19 2019 18:36:56, GCC 8.1.0, 32-bit
Using /home/pi/Desktop/NBlood/ for game data
Using /home/pi/.config/nblood/ for game data
Initializing SDL 2.0.9
Using "x11" video driver
Using "nblood.pk3" as main game data file.
Initializing OSD...
Executing "settings.cfg"
Initializing Build 3D engine
Initializing engine
Loading palettes
Loading translucency table
Loading gamma correction table
Loading tiles
Initialized 96,0M cache
Loading "blood.def"
.
Definitions file "blood.def" loaded in 143 ms.
Loading cosine table
Initializing view subsystem
Initializing status bar
Initializing dynamic fire
Initializing weapon animations
There are 4 demo(s) in the loop
Loading control setup
0 joystick(s) found
Initializing network users
Setting video mode 1680x1050 (32-bpp windowed)
Refresh rate: 60Hz
polymost_glreset()
OpenGL information
Broadcom VC4 V3D 2.1 2.1 Mesa 19.1.0-devel (git-f1122f78b7)
gltexinvalidateall()
gltexinvalidateall()
polymost_glreset()

Could I launch the game with MY prebuilt eduke32 setup in some way??

Status of macOS target

I'm curious about status of macOS target, and of Xcode project in particular. Will you plan to update it?
Probably you don't own a Mac because it's a bit outdated and tightly coupled with Homebrew for some reason.
I would like to fix this. However, I'm in doubt about dependencies. Is it OK to have them in the repo?

v1.01 Pitchfork produces no smoke puffs on impact

When the pitchforks hits a solid part of the level (like the floor, or walls), no smoke/impact puffs appear.

Report based on v1.01 binary. I am unable to build my own binary from the latest commit.

Several issues during compilation for a port

Hi, i'm trying to compile NBlood based on my EDuke32 port for PSVITA. I've edited accordingly the same files as i did on EDuke32 however during compilation i'm getting several issues that seems to come from an erroneously way to include header files. I fixed a bunch of them by adding Vita only "patches" however now i'm stuck to this.

immagine

Repeatable crash on Linux when loading any episode other than the first

In Linux, starting any episode other than the first one crashes the game. It crashes immediately after selecting the difficulty setting.

No debug output in the terminal and -debughelp parameter not implemented from eduke32.

Same issue tested/happens in Solus and Arch for myself and someone else who tested.

$ ./nblood
NBlood r(?)
Built Feb 15 2019 07:50:30, GCC 8.2.0, 64-bit 
Using /home/<me>/Software/NBlood/ for game data
Using /home/<me>/.config/nblood/ for game data
Initializing SDL 2.0.9
Using "x11" video driver
Using "nblood.pk3" as main game data file.
Initializing OSD...
Executing "settings.cfg"
Initializing Build 3D engine
Initializing engine
Loading palettes
Loading translucency table
Loading gamma correction table
Loading tiles
Initialized 96.0M cache
Loading "blood.def"
.
Definitions file "blood.def" loaded in 24 ms.
Loading cosine table
Initializing view subsystem
Initializing status bar
Initializing dynamic fire
Initializing weapon animations
There are 4 demo(s) in the loop
Loading control setup
0 joystick(s) found
Initializing network users
Setting video mode 2560x1440 (32-bpp fullscreen)
Refresh rate: 144Hz
OpenGL information
 X.Org Radeon RX Vega (VEGA10, DRM 3.27.0, 4.20.8-110.current, LLVM 7.0.0) 4.5 (Compatibility Profile) Mesa 18.3.3
Opened "textures" as cache file
Initializing sound system
Waiting for network players!

./nblood[0x4516ad]
/usr/lib/haswell/libc.so.6(+0x40560)[0x7f7bbba80560]
./nblood[0x500b54]
./nblood[0x420f38]
./nblood[0x5303dd]
./nblood[0x40f002]
/usr/lib/haswell/libc.so.6(__libc_start_main+0xeb)[0x7f7bbba63bdb]
./nblood[0x41131a]

This is the only info outputted to terminal.

can't compile master on Ubuntu

Not sure if this is my issue or yours, latest master doesn't compile on Ubuntu 18.10:

source/build/src/animvpx.cpp:15:10: fatal error: vpx/vpx_decoder.h: No such file or directory
#include <vpx/vpx_decoder.h>
^~~~~~~~~~~~~~~~~~~
compilation terminated.
Failed building obj/build/animvpx.o from source/build/src/animvpx.cpp!
make: *** [GNUmakefile:1160: obj/build/animvpx.o] Error 1

Kill Counter Bug

Spawned Civilians add to max kill counter but don't count as kills. They should not add to the max kills.

e.g. E1M3 open the door to exit the super secret area. It spawns 4 cultists + 2 civilians increasing the kill counter by 6 but only 4 kills have an effect on the kill counter.

-edit-

Just checked in dosbox and this turns out to be a vanilla bug. Not sure if it should get a fix.
This does however stop the player from 100%ing some levels so maybe it should get an optional fix.

Sanitizer error in aizomba.cpp

Unfortunately I haven't gotten more details, other than that it has occurred in E1M1 while moving near enemies, I think. (Note that if sdlayer.cpp's line number differs, that's a bit of my fault, and probably shouldn't be related.)

==7659==ERROR: AddressSanitizer: unknown-crash on address 0x555555c731a4 at pc 0x5555557126cb bp 0x7fffffffd8e0 sp 0x7fffffffd8d0
READ of size 52 at 0x555555c731a4 thread T0
    #0 0x5555557126ca in thinkPonder source/blood/src/aizomba.cpp:184
    #1 0x5555556d360a in aiProcessDudes() source/blood/src/ai.cpp:1325
    #2 0x5555556c8d47 in actProcessSprites() source/blood/src/actor.cpp:5398
    #3 0x5555556939ad in ProcessFrame() source/blood/src/blood.cpp:915
    #4 0x555555697367 in app_main source/blood/src/blood.cpp:1666
    #5 0x555555a04353 in main source/build/src/sdlayer.cpp:494
    #6 0x7ffff609309a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #7 0x55555568c309 in _start (/mnt/hdd/Games/nblood/NBlood/nblood+0x138309)

0x555555c731a4 is located 60 bytes to the left of global variable 'xsprite' defined in 'source/blood/src/db.cpp:38:9' (0x555555c731e0) of size 122880
0x555555c731c0 is located 0 bytes to the right of global variable 'xsector' defined in 'source/blood/src/db.cpp:39:9' (0x555555c6b9c0) of size 30720
SUMMARY: AddressSanitizer: unknown-crash source/blood/src/aizomba.cpp:184 in thinkPonder
Shadow bytes around the buggy address:
  0x0aab2ab865e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0aab2ab865f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0aab2ab86600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0aab2ab86610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0aab2ab86620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0aab2ab86630: 00 00 00 00[00]00 00 00 f9 f9 f9 f9 00 00 00 00
  0x0aab2ab86640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0aab2ab86650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0aab2ab86660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0aab2ab86670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0aab2ab86680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==7659==ABORTING```

OSX support?

Hi everybody,
I've successfull compile NBlood for osx (same method of EDuke32) but when I start ./nblood (with blood file in same directory) still stuck.

Why?
Thanks
Tom
Screen Shot 2019-03-20 at 18 26 31

Anisotropic Filtering Does Not Work

At least on my system, anisotropic filtering does not appear to work. I have tried all settings from 2x to Max with no results. I have also attempted to force filtering via the NVidia control panel, with no success.

I use a NVidia GeForce GTX 970M (MSI variant), which is a mobile card.

E2M1 Clipping issue

blud0001

Diving suit is visible through the wall in E2M1 using Polymost renderer in latest dev build. Issue is not reproducible using classic renderer nor in version 1.01 (both renderers).

Multiplayer, disconnects immediately. Packet error, network.cpp:1350

Start nblood > multiplayer >host game

second pc (or second instance of blood on same pc)
Start nblood > multiplayer > join game
crashes back to main menu, after repeatedly trying I get Packet error, network.cpp:1350
included wireshark capture, game connecting to a second instance of the game on the same machine

strafing on gamepads reversed

after testing using various controllers and two systems I've come to the conclusion that analog_strafing is reversed e.g. holding left goes right

Game freeze with Life Leech and/or Cerberus

I've found a reproducable game freezing bug in E4M8: Hall of the Epiphany. Here's how to reproduce it:

Before facing the Cerberus, place a Life Leech staff in turret mode (weapon 9, secondary fire) just around the corner so it shoots at the Cerberus, then go back a few steps, see screenshot for details - I've placed the staff where the crosshair is pointing to.
Ideally The cerberus will try to attack but get stuck and constantly fired at by the life leech in turret mode. After a while, likely when the cerberus loses one head, this message comes up:

Assertion failed: nTarget >= 0 && nTarget < kMaxSprites in file source/blood/src/ai.cpp at line 854

Files:

  • savegame to reprodce the bug
  • screenshot of the message
  • screenshot where to place the staff to easily reprodce the bug
    game0000.sav.zip
    bug1
    bug1a

GUI cursor is difficult to see

I use the mouse to navigate the menus and the cursor is hard to see, initially. I have some suggestions on how the experience might be improved:

A) Dim the 3D viewport while the menu is up (like GZDoom). Would default to off to replicate vanilla visuals.

B) Ability to customize the mouse cursor graphic. I feel like it hides into the surroundings too much because it re-uses the in-game crosshair as the cursor.

C) Always place the mouse cursor at the center of the screen when the UI is first opened. This is my biggest issue... when you are playing the game using the mouse, the cursor moves with your mouselook actions in the game, even if the UI isn't opened. So every time I re-open the menu, the cursor would be at some random position and I'll have to move the mouse around first to find the cursor before I can even begin to operate the menu.

Layered Transparent Sprites Not Displaying Properly

When 2 sprites occupy the same space and one of the them is transparent, there are instances where only the transparent sprite is visible (rather than both). Here's an example from Death Wish's dwe1m2:

https://i.imgur.com/8JOHWfE.png

DOTS

DOSBox vs nBlood:

DOSBox
https://i.imgur.com/dBFIwXm.png
dots-DOSBOX

nBlood
https://i.imgur.com/rKFlOzd.png
dots-nblood

I'm not sure why this would happen in some spots and not in others. As you can see from the images, there are a few places where the sprites appear correctly.

Feature request: Map sky texture to the interior of a cylinder

Currently, the sky is rendered as a scrolling plane with an orientation that depends on the where the player is looking. This produces an odd effect when looking up, which does not correspond to any physical scenario I can think of. Engines such as GZDoom solve the problem of translating a scrolling sky texture into geometrically correct 3d by mapping the texture to the interior of a cylinder, and filling the remaining space with a solid color, depending on the sky texture, which blends in well with the texture's upper edge, with very good results. Requesting that NBlood/ EDuke32 do the same.

Issue with Bone Eel attack state

Occasionally, I managed to trigger the following assertion failure:
pXSprite->target >= 0 && pXSprite->target < kMaxSprites in file /Volumes/ramdisk/NBlood/source/blood/src/aiboneel.cpp at line 86
The value of pXSprite->target is -1.

Good news is it happens right after loading of this saved game.
Bad news is it doesn't seem to have enough information to figure out what's wrong with it.

In addition, the given assertion should be moved at the beginning of BiteSeqCallback() because out-of-bounds access to sprite array in this line.

libsmacker under linux

Get the following build error when trying to compile under solus linux

source/libsmackerdec/src/FileStream.cpp: In member function 'int32_t SmackerCommon::FileStream::ReadBytes(uint8_t*, uint32_t)':
source/libsmackerdec/src/FileStream.cpp:52:16: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
     if (nCount != nBytes)
         ~~~~~~~^~~~~~~~~
source/libsmackerdec/src/FileStream.cpp:52:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if (nCount != nBytes)
     ^~
source/libsmackerdec/src/FileStream.cpp:55:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  return nCount;
  ^~~~~~
source/libsmackerdec/src/FileStream.cpp: In member function 'uint32_t SmackerCommon::FileStream::ReadUint32BE()':
source/libsmackerdec/src/FileStream.cpp:69:9: error: '_byteswap_ulong' was not declared in this scope
  return _byteswap_ulong(value);
         ^~~~~~~~~~~~~~~
source/libsmackerdec/src/FileStream.cpp: In member function 'uint16_t SmackerCommon::FileStream::ReadUint16BE()':
source/libsmackerdec/src/FileStream.cpp:83:9: error: '_byteswap_ushort' was not declared in this scope
  return _byteswap_ushort(value);
         ^~~~~~~~~~~~~~~~
Built object obj/enet/list.o
Failed building obj/libsmackerdec/FileStream.o from source/libsmackerdec/src/FileStream.cpp!

Flare shot decal

I cannot see the flare decal on an enemy when I have shot them. They take damage and burn as normal, but I don't see this on the character model.
I can't seem to make it appear under any circumstances, I have changed graphical settings from from classic to filtered, polymost, widescreen, etc.
I thought perhaps this was a known bug, but I have seen videos where the decal is present (https://youtu.be/QJFJYXDrUVI?t=165)
I have installed NBlood as per your instructions and have no additonal content added.

Damage Sectors Not Working Properly when Data=0

Sectors with a number set to "DamageType" are doing greatly reduced damage/sec when Data=0. Previously, if you set the Data value to "0", the damage output was almost equivalent to an instant-kill.

If you want to see the difference, go to Blood's e1m3 Phantom Express. In DOSBox, jumping off the train kills almost instantly. In nBlood, you can hop along the ground and make it all the way to the back of the train because the damage output is so low.

As a side-note, this instant-kill feature should work as long as a DamageType is set to anything other than 0 regardless of the sector Type. Originally in Mapedit, you didn't need to actually tag a sector as "Type: 618 Damage Sector" to do damage. If you look at the Death Wish mod, dwe1m2 has moving sectors (the cars/trucks) that deal damage/sec despite being sliding sectors. They currently don't work as intended in nBlood since the Damage output for Data=0 is so low.

Fix version identification

Now only NBlood r(?) is reported in the startup log which is not quite information ๐Ÿ˜‰

For example, output of git describe --tags command can be used here.
I believe something like NBlood v1.0-84-gdf64d91 would be much better, right?

Try to resolve a sanitizer error in view.cpp

This at least resolves a specific sanitizer error I had, albeit with possibly differing behaviors:

- if (nLowerLink >= 0 && (sprite[nLowerLink].type == 10 || sprite[nUpperLink].type == 14))
+ if (nLowerLink >= 0 && (sprite[nLowerLink].type == 10 || sprite[nLowerLink].type == 14))

VSync has no effect on Linux and macOS

Regardless of VSync setting's value it doesn't seem to do anything on Linux (tested on Kubuntu 18.04) and macOS. It works correctly on Windows though.

SDL_GL_SetSwapInterval() returns zero and SDL_GL_SetSwapInterval() return one. These are the expected results while FPS counter shows quite the opposite with r_maxfps set to zero.

Unrelated to VSync, I must admit that the FPS limiter itself is an odd thing. It fully consumes one CPU core instead of waiting on an appropriate synchronization primitive. But it's a totally different issue.

Game freeze after using "Lara Croft" cheat twice and then pressing "Next Weapon"

(Turns out that this bug also exists in the original Blood executable)

The "Lara Croft" cheat gives the player all weapons and infinite ammo.
Typing it in a second time attempts to deactivate it, and as such takes away all of the player's weapons, including the default pitchfork.
Using either the "Next Weapon" or "Previous Weapon" key in this state causes the game to freeze, as there are no weapons to pick from. (possible infinite loop?)

XCODE CI unable to compile

the XCode CI is unable to finish compiling because of an error in the project file
various lines set the path of sdlmusic.cpp to be e.g.

source/blood/src/sdlmusic.cpp
the master branch used to have the sdlmusic source in every game folder but in the mapedit branch it seems to only exist under
source/audiolib/src/sdlmusic.cpp

I have no understanding of the pbxproj format so I can't help with fixing this

Tag v1.0 release

Please create a Git tag for future reference of v1.0 release.

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.