All Projects → lance-gg → Lance

lance-gg / Lance

Licence: apache-2.0
Multiplayer game server based on Node.JS

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Lance

Entitas Sync Framework
Networking framework for Entitas ECS. Targeted at turnbased games or other slow-paced genres.
Stars: ✭ 98 (-91.56%)
Mutual labels:  game-development, gamedev, multiplayer, networking
Colyseus
⚔ Multiplayer Framework for Node.js
Stars: ✭ 3,817 (+228.77%)
Mutual labels:  multiplayer, game-server, networking, websockets
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (-43.58%)
Mutual labels:  game-development, gamedev, multiplayer, game-server
Game Networking Resources
A Curated List of Game Network Programming Resources
Stars: ✭ 4,208 (+262.45%)
Mutual labels:  game-development, gamedev, multiplayer, networking
Kaetram Open
An open-source 2D HTML5 adventure based off BrowserQuest (BQ).
Stars: ✭ 138 (-88.11%)
Mutual labels:  game-development, gamedev, multiplayer, game-server
Reliablenetcode.net
A pure managed C# socket-agnostic reliability layer inspired by reliable.io and yojimbo
Stars: ✭ 122 (-89.49%)
Mutual labels:  game-development, gamedev, networking
Reldens
Reldens - You can make it - Open Source MMORPG Platform
Stars: ✭ 130 (-88.8%)
Mutual labels:  game-development, gamedev, multiplayer
Rhubarb
A WebSocket library optimized for multiplayer JS games, works on WebWorkers with binary data.
Stars: ✭ 167 (-85.62%)
Mutual labels:  game-development, multiplayer, game-server
Crystalshire
Legacy VB6 open-source ORPG
Stars: ✭ 24 (-97.93%)
Mutual labels:  gamedev, multiplayer, game-server
Flopnite Ue4
A remake of the popular battle royale game, Fortnite, made in Unreal Engine 4 and integrated with Amazon GameLift
Stars: ✭ 250 (-78.47%)
Mutual labels:  game-development, multiplayer, networking
Pydark
PyDark is a 2D and Online Multiplayer video game framework written on-top of Python and PyGame.
Stars: ✭ 201 (-82.69%)
Mutual labels:  game-development, multiplayer, networking
Mdframework
A multiplayer C# game framework for Godot 3.2 Mono.
Stars: ✭ 34 (-97.07%)
Mutual labels:  game-development, gamedev, multiplayer
Noahgameframe
A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
Stars: ✭ 3,258 (+180.62%)
Mutual labels:  game-development, gamedev, game-server
Evennia
Python MUD/MUX/MUSH/MU* development system
Stars: ✭ 1,309 (+12.75%)
Mutual labels:  game-development, gamedev, multiplayer
Colyseus Examples
Colyseus Game Server examples for learning purposes
Stars: ✭ 109 (-90.61%)
Mutual labels:  multiplayer, networking, websockets
haskell-tic-tac-toe
A multiplayer web real-time implementation of the famous Tic Tac Toe game in Haskell.
Stars: ✭ 51 (-95.61%)
Mutual labels:  multiplayer, websockets, game-server
Agones
Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes
Stars: ✭ 4,252 (+266.24%)
Mutual labels:  game-development, multiplayer, game-server
Librg
🚀 Making multi-player gamedev simpler since 2017
Stars: ✭ 813 (-29.97%)
Mutual labels:  gamedev, multiplayer, networking
Phaser Node Kit
Rapid Game Development with PhaserJS and Node for Modern Browsers
Stars: ✭ 39 (-96.64%)
Mutual labels:  game-development, gamedev
Scarab
A system to patch your content files.
Stars: ✭ 38 (-96.73%)
Mutual labels:  game-development, gamedev

Build Status Inline docs Slack

Lance logo

Lance 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, Lance implements efficient networking methods, position interpolation and extrapolation, user input coordination, shadow objects, physics and pseudo-physical movement, automatic handling of network spikes.

Lance 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: ( Europe Game Server, US Game Server )

Features:

  • Focus on writing your game. Lance 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 Lance documentation 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]{@tutorial MyFirstGame} 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 is your friend.

If you've encountered a bug and it's not already in the issues page, open a new issue.

I'd like to join in

For discussing Lance, multiplayer games or just hanging out you're invited to join us on slack.

Built something cool with Lance?

Please Let us know! We'd love to play it, and feature it on the Lance homepage.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].