incheon
Version:
A Node.js based real-time game server
61 lines (41 loc) • 2.94 kB
Markdown
[](https://travis-ci.org/OpherV/Incheon) [](http://inch-ci.org/github/opherv/incheon)
[](http://incheongg-slack.herokuapp.com)
<img src="https://cloud.githubusercontent.com/assets/3951311/21020499/6f125344-bd7d-11e6-86e4-a4bb16b32f2a.png" style="width: 100%" alt="Incheon logo">
# [Incheon](http://incheon.gg) is a real-time multiplayer game server
It provides an extendible Node.JS based server, on which game logic runs, as well as a client-side library
which synchronizes the client's game state with the server game state. In order
to provide a smooth visual experience for each connected client, Incheon implements
efficient networking methods, position interpolation and extrapolation, user input
coordination, shadow objects, physics and pseudo-physical movement, automatic
handling of network spikes.
Incheon aims to optimize the player's visual experience, while providing
a simple development model which is highly configurable and easy to analyze
and debug.
## See it in action
Check out the official demo: [Spaaace](http://spaaace.herokuapp.com)
## Features:
* Focus on writing your game. Incheon takes care of the netcode
* Can support any type of game or genre
* Optimized networking
* TCP via websockets
* Communication is packed and serialized into binary
* Automatic handling of network spikes with step correction
* Intelligent sync strategies for lag handling
* Extrapolation (client side prediction) with step re-enactment or:
* Interpolation for optimal object motion
* Tools for debugging and tracing
More features in the pipeline:
* UDP via WebRTC
* Full-stack testing suite
* Replay saving
* More physics engines
## That's so neat! Where do I start?
The official [Incheon documentation](http://docs.incheon.gg) contains articles on theory and rational, as well as the structure and architecture of the project.
If you feel like learning by doing you can start with first tutorial, [My first game: Pong](http://docs.incheon.gg/develop/tutorial-MyFirstGame.html) which contains step-by-step on implementation of a networked version of this classic game.
## Something went wrong! I need help!
If you're not exactly sure how to do something, [Stack Overflow](http://stackoverflow.com/questions/tagged/incheon) is your friend.
If you've encountered a bug and it's not already in the [issues page](https://github.com/OpherV/Incheon/issues), open a new issue.
## I'd like to join in
For discussing Incheon, multiplayer games or just hanging out you're invited to join us on [slack](http://slack.incheon.gg).
## Built something cool with Incheon?
Please [Let us know](http://www.twitter.com/opherv)! We'd love to play it, and feature it on the [Incheon homepage](http://incheon.gg).