-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathalpaca-netcode.cabal
More file actions
75 lines (70 loc) · 2.61 KB
/
alpaca-netcode.cabal
File metadata and controls
75 lines (70 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
cabal-version: 1.12
name: alpaca-netcode
version: 0.1.0.0
synopsis: Rollback/replay NetCode for realtime, deterministic, multiplayer games.
description:
A rollback/replay client-server system for realtime multiplayer games. The API
only requires you to express your game as a pure, deterministic function.
.
See "Alpaca.NetCode" to get started.
.
=== Advantages
* Simple code. Your game logic contains no NetCode.
* Low bandwidth. Only inputs are shared.
* Zero latency. Player's own inputs affect their game immediatly.
* UDP based. Unordered and using redundancy to mitigate packet loss.
* Lightweight server. The server does not run the game logic, it only relays and tracks user inputs.
* Cheating. Only inputs are shared which eliminates a whole class state manipulation cheats.
.
=== Disadvantages
* Increased CPU usage. Rollback/replay means that clients must run the game step function multiple times per frame.
* Not suitable for large numbers of players. Tens of players is likey reasonable.
.
=== Disclaimer
This is an initial release with minimal functionality and still very
experimental. Use at your own risk.
-- bug-reports:
license: Apache-2.0
license-file: LICENSE
author: David Eichmann
maintainer: davide@well-typed.com
copyright: 2021 David Eichmann
category: Network, Game Engine
build-type: Simple
extra-source-files: CHANGELOG.md
source-repository head
type: git
location: https://github.com/DavidEichmann/alpaca-netcode
library
other-modules:
Alpaca.NetCode.Internal.Client
, Alpaca.NetCode.Internal.ClockSync
, Alpaca.NetCode.Internal.Common
, Alpaca.NetCode.Internal.Server
exposed-modules:
Alpaca.NetCode
, Alpaca.NetCode.Advanced
build-depends: base >= 4.9 && < 4.16
, bytestring
, containers
, flat
, hashable
, network >= 3.1 && < 3.2
, network-run
, random
, stm
, time
hs-source-dirs: src
ghc-options: -Wall
default-language: Haskell2010
test-suite test
Type: exitcode-stdio-1.0
hs-source-dirs: test
Main-is: Test.hs
Build-depends: base >= 4.9 && < 4.16
, alpaca-netcode
, containers
, random
, tasty
, tasty-hunit
default-language: Haskell2010