No description
Find a file
Corey Alexander ef9c766d8a
Revert SnailMode to not use PreUpdate (#121)
In the fall me and Jonathan worked on an update to the Engine
specifically with SnailMode in mind, and refactored SnailMode to use
this new `PreUpdate` method

This allowed us to not have to use off-board hazards as state!

However we want to use Snail Mode for our first Community Tournament!
And the web engine doesn't support PreUpdate yet, so we are reverting
Snail Mode to its old Pre-PreUpdate version :lol:
2023-02-09 16:21:02 -08:00
.github remove codecov action on pull request 2022-09-13 13:41:50 -07:00
board DEV 1666: Fix /end requests and clean up logging (#109) 2022-09-02 14:35:55 -07:00
cli README.md modified (#120) 2022-12-15 09:47:32 -08:00
client DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
maps Revert SnailMode to not use PreUpdate (#121) 2023-02-09 16:21:02 -08:00
test DEV 559: Refactor CLI and add customizations (#57) 2021-11-25 14:07:56 -08:00
.gitignore Bump to Go 1.17 2022-01-10 22:25:46 +00:00
.goreleaser.yml Working goreleaser. 2020-12-10 21:08:08 -08:00
board.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
board_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
cases_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT (#36) 2021-04-05 22:34:36 -07:00
constants.go new cause of death by hazard (#104) 2022-08-18 16:20:50 -07:00
constrictor.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
constrictor_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
CONTRIBUTING.md Create CONTRIBUTING.md 2021-10-01 15:33:48 -07:00
go.mod DEV 1666: Fix /end requests and clean up logging (#109) 2022-09-02 14:35:55 -07:00
go.sum DEV 1666: Fix /end requests and clean up logging (#109) 2022-09-02 14:35:55 -07:00
LICENSE Add standard LICENSE 2020-01-01 17:40:37 -08:00
pipeline.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
pipeline_internal_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
pipeline_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
rand.go DEV-1313: Add additional map types (#76) 2022-06-01 11:39:31 -07:00
README.md fix for readme, install as go package. go get is no longer supported (#86) 2022-06-22 14:55:32 -07:00
royale.go Adding default values for the Royale ruleset and game map (#119) 2022-12-05 15:11:34 -08:00
royale_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
ruleset.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
ruleset_internal_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
ruleset_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
settings.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
settings_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
solo.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
solo_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
standard.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
standard_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
wrapped.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00
wrapped_test.go DEV-1761: New rules API (#118) 2022-10-28 16:49:49 -07:00

BattlesnakeOfficial/rules

codecov

Battlesnake rules and game logic, implemented as a Go module. This code is used in production at play.battlesnake.com. Issues and contributions welcome!

CLI for Running Battlesnake Games Locally

This repo provides a simple CLI tool to run games locally against your dev environment.

Installation

Download precompiled binaries here:
https://github.com/BattlesnakeOfficial/rules/releases

Install as a Go package. Requires Go 1.18 or higher. [Download]

go install github.com/BattlesnakeOfficial/rules/cli/battlesnake@latest

Compile from source. Also requires Go 1.18 or higher.

git clone git@github.com:BattlesnakeOfficial/rules.git
cd rules
go build -o battlesnake ./cli/battlesnake/main.go

Usage

Example command to run a game locally:

battlesnake play -W 11 -H 11 --name <SNAKE_NAME> --url <SNAKE_URL> -g solo -v

For more details, see the CLI README.

FAQ

Can I run games locally?

Yes! See the included CLI.

How is this different from the old Battlesnake engine?

The old game engine was re-written in early 2020 to handle a higher volume of concurrent games. As part of that rebuild we moved the game logic into a separate Go module that gets compiled into the production engine.

This provides two benefits: it makes it much simpler/easier to build new game modes, and it allows the community to get more involved in game development (without the maintenance overhead of the entire game engine).

Feedback

  • Do you have an issue or suggestions for this repository? Head over to our Feedback Repository today and let us know!