Giter VIP home page Giter VIP logo

delverengine's People

Contributors

evrimoztamur avatar headclot avatar interrupt avatar jmickle66666666 avatar joshuaskelly avatar nethernarwhal avatar pretz333 avatar pythooonuser avatar vibrantrida 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

delverengine's Issues

Setup and building on macos with visual studio code

I'm currently setting up this project and thought it may be useful for future users to document my setup process. I'm using MacOS and Visual Studio Code.

You can now run Delver by navigating to the DungeoneerDesktop/ directory and running gradle run

Switch To JSON Configuration Files

Summary

With the new JSON schemas for configuration files it would be nice to be able to actually use them. Currently (as .dat is not a recognized default JSON format) one needs to set JSON as language in the IDE of choice for each configuration file.

It would be easier when these configuration files would be standardized using the .json file extension, so that the schemas can be used without any hassle.

Probably a backwards compatibility step needs to be addressed here (for loading old .dat formats).

In addition, is there a plan to roll out the schemas to modders (meaning to include them in the base game)? Because schemas (as far as I know) need to be referenced locally by a relative path. And currently the schemas reside in the top-level project folder., which is not part of the Steam build?!

Pushable Entities

push-demo
Current state of pushable entites after fixing the flipped axes.

Summary

Currently the Entity class has a pushable field and a very rudimentary implementation. Last time I looked at it the axes of the push were incorrect, and if corrected there was considerable stopping and starting of player movement while pushing.

Goals

  • 1. Actor objects can smoothly push an entity that is marked as pushable.
  • 2. Pushable objects should not be allowed to interpenetrate non-pushable objects or world geometry.
  • 3. Some sort of way to control the speed of the push. Probably a definable friction coefficient?
  • 4. Multiple entities can be pushed in a sequence.
  • 5. Entities on top of pushable stay on top during push.

Support Arbitrary Tile Selections

Summary

Pulling out the TileSelection logic into it's own class was a first step in a direction of supporting arbitrary tile selections. The idea here is you can shift + left click on tiles and build a selection that works like any other. Work will need to be done around how to render a set of tile from the tile selection, adding tiles to a tile selection, and cleaning up any old logic that assumes it's a rect.

Tile Selection Off When In Loading Dialog

Summary

The selection of the currently hovered tile is off when having the load dialog open. It seems to be restricted to the top-most edges of the map. I would expect the selection to stay accurate nontheless. Maybe even deactivate the selection alltogether.

cursor-wrong

Emission Shader Incorrect

image
Linear alpha gradient applied across center texture. Left actual. Right expected

Summary

The emission calculation in the main shader is correct because it is multiplying the already pre-multiplied color value by the inverse alpha which results in higher values actually getting darker (shown above on the left).

Shader change made some meshes invisible

I haven't tracked down the issue yet, but something in the "Texture atlases can specify a shader by name" change caused many models not to show up (collision boxes are still there) with the retail assets. In the tutorial map, the tombstone in the secret area and the bridge are invisible. In the campsite, it's tents, the well, tombstones, tables, etc. that are invisible.

I reverted that change and they all showed up again. There aren't any warnings in the logs that I see. I'm running on Linux.

Loading Levels Not Validated

loading-wrong

Summary

Any file can be loaded. Even ones that do not exist. They default to a new project layout. I would expect an error message in that case.

Work

  • Add ability to show error messages
  • Allow only valid level extensions to be loaded
  • Check if level could be loaded successfully

Disappearing inventory and character buttons

When bringing up the inventory screen, the inventory and character buttons initially show but will disappear if interacted with (exception being you able to click on the character button once). The buttons will not reappear when you go back into the inventory screens. This persists until the application is restarted. You may still use the inventory, but there is no way to see your character information after the first time without restarting.

In both the InventoryScreen.java and CharacterScreen.java makeContent methods I tried changing the following clear() calls to clearChildren() and reset(). No luck.

outerWindow.clear();
contentTable.clear();

The lines for turning debug on for outerWindow also disappears when the buttons do, even though the contentTable is still shown. The only workaround I have found is to recreate the outerWindow right below that:

outerWindow.clear();
contentTable.clear();
// This fixes it for some reason when even reset won't.
outerWindow = new Table();

Do this for both InventoryScreen.java and CharacterScreen.java and things work again.

Project Configuration for VS Code on Windows/Linux

Summary

This is a quick summary of my current working setup of the Delver engine using VS Code on Windows.

Main caveats:

  • Setting up the Java extension
  • Using the correct working directory when using the debugger
  • Graddle version 6.6.1 works

Steps

  1. Install the VS Code Java Extension Pack
  2. Download the JDK
    grafik
  3. Add the installation to PATH
  4. There are actually a bunch of files generated by the extension (add to .gitignore?)
    grafik
  5. Adjust the launch config for the debugger to use the correct working directory
{
      "type": "java",
      "name": "Debug (Launch)-EditorStarter<DelvEdit>",
      "request": "launch",
      "mainClass": "com.interrupt.dungeoneer.EditorStarter",
      "projectName": "DelvEdit",
      "cwd": "${workspaceFolder}/Dungeoneer/assets" <--- THIS HERE
}
  1. Press F5 and enjoy DelvEdit

Android

For developing on Android, install an appropriate SDK via Android Studio. Enable USB Debugging on your device and add the following launch config to VS Code.

{
      "type": "node-terminal",
      "name": "Android - DELVER",
      "request": "launch",
      "command": "gradle DungeoneerAndroid:installDebug DungeoneerAndroid:run"
}

Status Effect Particles Spawn at Offset from Player Position

Summary

Previously the player position needed to be manually offset to get the correct position. This was fixed, but the status effect particles were missed in the original change.

Status Effects

  • Fire effect
  • Paralyze effect
  • Poison effect
  • Slow effect
  • Teleport effect

Path Issue In FilePicker

Summary

When opening/saving a level the initial folder has a /. appended.
grafik

Clicking on the go up one directory button removes that dot, but obviously stays in that folder (as technically nothing changed regarding the current directory).
grafik

JSON Schemas Broken

Summary

A definition is missing in the JSON schemas which causes the entire intellisense to break.

$ref '/definitions/TriggerLike' in '/delverengine/jsonschema/current/Interfaces.schema.json' can not be resolved.

Pressing T Key While Typing in Property Pane Rotates Entity

Summary

When typing in a text field in the entity property pane, pressing the t key will rotate the entity. This is not desirable.
The property pane should consume most keystrokes. Though exceptions might be made for ctrl + s, etc?

Notes

Should be a similar to fix to preventing the camera from moving when scrolling in the entities pane:

entityPropertiesPane.addListener(new EventListener() {

Saving Levels Not Validated

Summary

When saving a level it can be named arbitrarily.
saving-wrong1

When loading, it seems to not have saved at all. Also, .png should not be a valid level format. See #79.
saving-wrong2

I expect an error message to appear when trying to load something invalid.

Add Formater And/Or Linter

Summary

As the project ventures into the realms of open-source it encounters many different developers using a variety of operating systems, editors and naming conventions (and {} bracket style religions).

Therefore, and also to remove any whitespace wars, the project could adopt a global editor configuration and linter/formatter solution.

Solutions:

There might be others, maybe more Java related, please add to the list.

Defaulting to `.bin` format when saving

Summary

Currently files are saved without an extension when only a name is given. Maybe we should use a default extension .bin for levels when saving. May be connected to #82.

Better Handling Of Missing Configuration Files

Summary

When using the bare-bones version of the editor some configurations are missing - e.g. for the level generation.

grafik

When clicking on e.g. the Dungeon option, the editor hangs in an infinite loop. Following is an exerpt of the output (not sure where it starts).

I would expect that an error message appears and maybe some helpful text about how to create such a config and where to put it.

[DelverGenerator] Making level
[DelverGenerator] Using theme dir generator/Dungeon/
[DelverGenerator] Using theme dir generator/Dungeon/
[Renderer] Set level to render
[Delver] Trying to make map layout.
[Renderer] Set level to render
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not generate a good room!
[DelverGenerator] bound must be positive
[DelverGenerator] Bad level. Trying again
[DelverGenerator] Making level
[DelverGenerator] Using theme dir generator/Dungeon/
[DelverGenerator] Using theme dir generator/Dungeon/
[Renderer] Set level to render
[Delver] Trying to make map layout.
[Delver] Trying to make map layout.
[Delver] Trying to make map layout.
[DelverGenerator] bound must be positive
[DelverGenerator] Bad level. Trying again
[DelverGenerator] Making level
[DelverGenerator] Using theme dir generator/Dungeon/
[DelverGenerator] Using theme dir generator/Dungeon/
[Renderer] Set level to render
[Delver] Trying to make map layout.
[DelverGenerator] bound must be positive
[DelverGenerator] Bad level. Trying again
[DelverGenerator] Making level
[DelverGenerator] Using theme dir generator/Dungeon/
[DelverGenerator] Using theme dir generator/Dungeon/
[Renderer] Set level to render
[Delver] Trying to make map layout.
[Delver] Trying to make map layout.
[Delver] Trying to make map layout.
[Renderer] Set level to render
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not find file in any mods: data/room-builders/dungeon_rooms.dat
[RoomGenerator] Cannot read field "type" because "defaultRoomTheme" is null
[Delver] Could not generate a good room!
[DelverGenerator] bound must be positive

Game Jar Crashes When Starting a New Game

Summary

Attempting to start a game from the jar file crashes.

Repro Steps

  1. Download or build the game jar.
  2. Run the jar file: java -jar DungeoneerDesktop-1.0.jar
  3. Click through the splash screen and start a new game.
  4. Crash.

Notes

  • This issue repros in both v1.0.0 and v1.1.0.
  • The editor works just fine in both edit and play modes.

Error Log

[DelverLifeCycle] READY PLAYER ONE
[DelverLevelChangeScreen] Exception: index can't be >= size: 0 >= 0
[DelverGameManager] Fatal error!
java.lang.NullPointerException
	at com.interrupt.dungeoneer.GameManager.tick(GameManager.java:113)
	at com.interrupt.dungeoneer.screens.GameScreen.render(GameScreen.java:73)
	at com.badlogic.gdx.Game.render(Game.java:46)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
[DelverGameManager] Fatal error!
java.lang.NullPointerException
	at com.interrupt.dungeoneer.gfx.GlRenderer.render(GlRenderer.java:434)
	at com.interrupt.dungeoneer.GameManager.render(GameManager.java:126)
	at com.interrupt.dungeoneer.screens.GameScreen.render(GameScreen.java:88)
	at com.badlogic.gdx.Game.render(Game.java:46)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
[Controllers] removed manager for application, 0 managers active
[DelverLifeCycle] Goodbye

Overworld mod doesn't appear to be complete

First off, thanks for releasing this! I love playing around with these. It inspired me to buy the game (not on sale) and I am really enjoying it so far.

Anyway, when trying to run the Overworld mod the game will crash with the following message.

[DelverGenerator] Using theme dir generator/Outdoor/ [DelverOutdoors] Creating new Chunk [DelverGameManager] Fatal error! java.lang.NullPointerException at com.interrupt.dungeoneer.game.OverworldChunk.SpawnEntity(OverworldChunk.java:646) at com.interrupt.dungeoneer.game.OverworldChunk.SpawnEntities(OverworldChunk.java:677) at com.interrupt.dungeoneer.game.OverworldChunk.Init(OverworldChunk.java:164) at com.interrupt.dungeoneer.game.terrain.threading.OverworldGenerationThread.run(OverworldGenerationThread.java:45) at com.interrupt.dungeoneer.game.OverworldChunk.generateOnThisThread(OverworldChunk.java:88) at com.interrupt.dungeoneer.game.OverworldLevel.makeNewChunk(OverworldLevel.java:354) at com.interrupt.dungeoneer.game.OverworldLevel.MakeNewChunks(OverworldLevel.java:326) at com.interrupt.dungeoneer.game.OverworldLevel.UpdateChunks(OverworldLevel.java:343) at com.interrupt.dungeoneer.game.OverworldLevel.tick(OverworldLevel.java:186) at com.interrupt.dungeoneer.game.Game.tick(Game.java:530) at com.interrupt.dungeoneer.GameManager.tick(GameManager.java:113) at com.interrupt.dungeoneer.screens.GameScreen.render(GameScreen.java:73) at com.badlogic.gdx.Game.render(Game.java:46) at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225) at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126) [Delver] Could not find file in any mods: meshes/sky.obj [Delver] Could not find file in any mods: sky.png [Delver] Could not find file in any mods: meshes.png

I copied over the 3 files mentioned above from the retail copy, but the SpawnEntity method is crashing because it can't create a bush entity. Other missing files will be listed as well (probably from within one of the bin files since they aren't listed in the dungeon.dat), such as meshes/plane.obj, textures/wood-ladder.png, etc. None of those files are in the asset folder either. I certainly may have done something wrong, however it doesn't look like this mod can run without content from the retail version of the game.

Sidenote: The test level will play, but has a bunch of warnings about missing audio files (dragging the audio folder from retail in fixes that). Also, you may want to upgrade the Gradle wrapper. I looks like it is for a really old version of Gradle and I couldn't get running with Java 10 or 8 (using Gradle 47 got further with different warnings, but 50+ definitely didn't work because of project Gradle config). I gave up before trying Java 6 and dumped Gradle and Maven and included the dependencies manually to get things running.

Right-Click Menu Stays Open When Moving Camera

Summary

The right-click menu stays open when moving the camera. This can cause a selection and highlighting of options in the dropdown menus.

Proposed Solution: When having an open right-click menu, upon moving the camera with the right mouse button, close the menu again.

right-click-wrong

Support Custom Game Types

Summary

Enhance Delver Engine to support different types of games by providing extension points for custom player implementations and custom hud implementations.

Goals

  1. Preserve existing player behavior.
  2. Support a typical retro shooter style player. Think Wolfenstein/Doom.
  3. Support a third person camera. Example mockups

Child Issues

  • #99 HUD Abstraction
  • #100 Player Abstraction

Raspberry Pi version

Hello,

Does anyone know if this can be compiled for ARM? I see that it's Java so it shouldn't be a problem unless they used some third party proprietary stuff that's not available on other platforms, right?

I'd also like to know the system requirements for running the game. I'm curious to see if it would be able to run on a Pi 3 hardware.
Publishing them in the README.md would be quite helpful, by the way.

Editor control issues

A bunch of little features/bugs that I may take a look at adding

  • Right click menu on a surface should let me select a texture for the surface
  • Right click on a surface then moving the camera should prevent the right-click menu from opening when you let go
  • Escape doesn't close the right-click menu
  • Camera Y rotation should be clamped, so you can't end up upside down
  • Sometimes the camera flips upside down in one frame, I need to look into reproducible steps for this

Swapped Items Rotate Forever

item-rotation-bug

Summary

Swapping an inventory with an item on the ground can result in the item on the ground rotating forever.

Repro Steps

This doesn't 100% repro, but can can be reproduced by trying various items.

  1. Swap an item from the ground to an inventory slot that is not an equipped item.

Notes

This seems to come from: Item.java:293
The item for some reason is never set to being on the floor and will alway rotate.

Drag and drop logic lives here: Game.java:1172

Camera messed up when toggling simulation in DevlEdit

After the fly controls were implemented it exposed weird behaviour when toggling between simulation. Hitting 'P' plays the level, but you are facing up toward the sky. Hitting 'Esc' takes you back to edit, but you are now looking down at the ground.

I have a fix, but GitHub managing forks via the UI has cluttered my commit history so much I'll spare you the messed up PR that will result. The fix is pretty simple. In EditorFrame, make the following changes to get rid of adding/subtracting the unnecessary 18.9f to things:

Change Line 471 to rotY = -Game.instance.player.yrot;
Change Line 2380 to Game.instance.player.yrot = -rotY;

You may also want to change Line 2378 to Game.instance.player.z = camera.position.y - 0.5f; to match the height being set the other way (they are both +/- 0.5f now).

Inconsistent New Level Behavior

Summary

When first starting the editor we get a new level with a single tile (not in the center) and a weird camera angle (top down).
grafik

When creating a new level using the menu bar we get an empty grid and an arbitrarily zoomed out camera angle (it strongly depends on the previous camera angle, see EditorCameraController::viewSelected).
grafik

I would expect these two behaviors to be consistent in both grid layout and camera angle/position. It should also not depend on the previous camera position.

Selection Active When In Menu

Summary

The tile selection still follows the mouse cursor even when hovering over the menu bar. I would expect the selection to be not active.

top-menu-selection-wrong

Support Panning of the Editor Camera

Summary

Enable panning of the camera in the editor viewport. Shift + Right Mouse seems like a reasonable command.

Notes

  • Change will need to be made in EditorCameraController.java
  • Vertical mouse movement should move camera along the camera.up vector.
  • Horizontal mouse movement should move along the camera's right vector. Which should be camera.direction cross product camera.up

Player Bounces on Retracted Spikes

spike-bounce-bug

Summary

The player will continuously bounce on retracted spikes.

Repo Steps

The player will bounce on spikes if:

  1. There is a model beneath the spikes with collision turned on.
  2. The spikes are set to LOOPING and have gone through at least one animation cycle.

Notes

  • This is not related to the Entity.canStepUpOn property.
  • Might be related to logic in spikes that give player a push when hit: Spikes.java:71

Editor Tech Theme Polish

Summary

The Delver Engine displays an awesome tech themed splash screen and test level. It would be nice to expand on that and add additional polish. Doing so could be used to show-off all available features of the engine.

For example removing test textures and levels, replacing them with the tech themed version. Adding proper prefabs and configurations. A level/room builder using the tech theme. Renaming the tech theme.

Also, there are a lot of missing UIs, textures and sounds. These could be substituted (if feasible, copyright permitted etc.).

This issue can be used to track the work.

  • Theme Naming
  • Proper folder structure (e.g. inside textures, levels etc.)
  • Missing textures
  • Missing sounds
  • Room Builder and Levels
  • Theme Info Revisit
  • Section Config Revisit

Player Abstraction

Summary

Provide an abstraction to allow for custom Player implementations. The current player behavior should be encapsulated in a DelverPlayer object, or something along those lines.

Find a licence that works better for games than GPL-2.0

GPL-2.0 might not be the best choice for this as a game engine. Ideally we can find something that can do the following:

  • Let people use the engine for free and commercial projects
  • Require people to make any engine changes made for their projects available
  • Not require people to release assets or code specific to their project that does not change the base engine

HUD Abstraction

Summary

Provide an abstraction to afford custom defined HUD implementations. The current HUD behavior should be encapsulated in a DelverHUD object, or something along those lines.

Resizing Editor Window While in Play Mode Breaks Lighting

editor-resize-in-play-mode-bug

Summary

While in play mode in the editor, adjusting the window size breaks lighting. Exiting and re-entering will fix the lighting.

Repro Steps

  1. In the editor enter play mode.
  2. Open your inventory.
  3. With your mouse, adjust the window size.

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.