• Stars
    star
    284
  • Rank 145,616 (Top 3 %)
  • Language
    Go
  • License
    MIT License
  • Created over 7 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A pure Go physics library with no dependencies. Unofficial Chipmunk2D port.

cp

GoDoc Sourcegraph

Chipmunk2D ported to Go

project status

Stable -- most features are implemented and the demos are very close to Chipmunk2D demos.

examples

https://github.com/jakecoffman/cp-examples contains the port of all of the Chipmunk2D demos.

https://github.com/hajimehoshi/ebiten/blob/master/examples/chipmunk/main.go is an example using Ebiten

https://github.com/gen2brain/raylib-go/blob/master/examples/physics/chipmunk/main.go is an example with raylib's Go port

documentation

The official chipmunk docs are a really good place to start: https://chipmunk-physics.net/release/ChipmunkLatest-Docs/

features

Same features as Chipmunk2D:

  • Designed specifically for 2D video games.
  • Circle, convex polygon, and beveled line segment collision primitives.
  • Multiple collision primitives can be attached to a single rigid body.
  • Fast broad phase collision detection by using a bounding box tree with great temporal coherence or a spatial hash.
  • Extremely fast impulse solving by utilizing Erin Cattoโ€™s contact persistence algorithm.
  • Supports sleeping objects that have come to rest to reduce the CPU load.
  • Support for collision event callbacks based on user definable object types types.
  • Flexible collision filtering system with layers, exclusion groups and callbacks.
  • Can be used to create all sorts of effects like one way platforms or buoyancy areas. (Examples included)
  • Supports nearest point, segment (raycasting), shape and bounding box queries to the collision detection system.
  • Collision impulses amounts can be retrieved for gameplay effects, sound effects, etc.
  • Large variety of joints โ€“ easily make vehicles, ragdolls, and more.
  • Joint callbacks.
  • Can be used to easily implement breakable or animated joints. (Examples included)
  • Maintains a contact graph of all colliding objects.
  • No external dependencies.
  • Many language bindings available.
  • Simple, read the documentation and see!
  • Unrestrictive MIT license

More Repositories

1

gorunner

A Jenkins-like continuous integration server written in Go (Golang) and Angularjs.
Go
142
star
2

go-angular-tutorial

source code for video tutorial series
HTML
114
star
3

flask-tutorial

Source code for video tutorial series
Python
91
star
4

crud

Swagger/OpenAPI builder and input validation for Go APIs
Go
41
star
5

jake-theme

pitch black intellij theme
16
star
6

cp-examples

Chipmunk2D examples ported to Go
Go
15
star
7

stldevs

St. Louis developer profiles powered by Github stats
Go
15
star
8

rely

reliable UDP messages for Go
Go
14
star
9

taskpy

Taskpy is a continuous integration web application written in Python, focusing on the DRY principal.
Python
13
star
10

rest

updated version here: https://github.com/jakecoffman/go-rest
Go
8
star
11

camweb

Go
7
star
12

falcon_example

Example implementation of Python Falcon REST server with angular frontend.
Python
6
star
13

graph

graph and tree algorithms in Go
Go
6
star
14

flask-bootstrap

a bootstrap project for Python's Flask, Twitter Bootstrap, and JQuery
Python
6
star
15

cp-ebiten

example physics in ebiten using chipmink port
Go
6
star
16

martini-gorp-bootstrap

Golang martini gorp bootstrap project
Go
4
star
17

camcontrol

view and control multiple Amcrest cameras at once in one app
C++
4
star
18

golang-websockets

Golang websocket examples.
Go
4
star
19

falcon-angular-bootstrap

Python
3
star
20

go-command-running-thing

It's like shellinabox but with many more bugs and not as usable or secure.
Go
2
star
21

stldevs-sapper

this is the UI for https://stldevs.com
Svelte
2
star
22

netgame

port of gabrielgambetta.com Client Side Prediction Live Demo to Go
JavaScript
2
star
23

magnets

Go
2
star
24

gogame

precursor to tanklets, deprecated
Go
2
star
25

stldevs-frontend

deprecated, see https://github.com/jakecoffman/stldevs-vue
HTML
2
star
26

pymongo-playground

Python
1
star
27

matchville

multiplayer set making game
Vue
1
star
28

alert-me

Mobile app to quickly send messages
Dart
1
star
29

golang-appengine

Go
1
star
30

tanks-unity

multiplayer Wii Play Tanks clone with Monaco style line-of-sight
C#
1
star
31

tanklets

opengl multiplayer tank game & dedicated server
Go
1
star
32

sshh

Connect to multiple machines via SSH and run commands nearly simultaneously.
Go
1
star
33

websocktoe

TicTacToe with websockets (golang + angular)
Go
1
star
34

bib

mobile first bible reader in vuejs
JavaScript
1
star
35

go-rest-mongo

using gin
Go
1
star
36

fam

a simple game to play with the kids
Go
1
star
37

sudoku

Sudoku with desktop controls designed to minimize mouse movement.
JavaScript
1
star
38

actions

Go
1
star
39

go-pluggable-example

Example pluggable http server via init()
Go
1
star
40

stldevs-vue

deprecated, see https://github.com/jakecoffman/stldevs-vue3
JavaScript
1
star
41

social-deduction-party-game

deprecated, see https://github.com/jakecoffman/spytown-web
JavaScript
1
star
42

learnopengl

implemented learnopengl.com stuff in Go
Go
1
star
43

gorest

generic REST controller with Mongo
Go
1
star