diff --git a/README.md b/README.md index ded22a6..0e0ba35 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,7 @@ [![Donate](https://img.shields.io/liberapay/receives/rocketnine.space.svg?logo=liberapay)](https://liberapay.com/rocketnine.space) [Entity component system](https://en.wikipedia.org/wiki/Entity_component_system) framework -for [Ebiten](https://ebiten.org) - -**Note:** This framework is still in development. Breaking changes may be made until v1.0 is released. +for [Ebitengine](https://ebiten.org) ## Documentation @@ -21,9 +19,12 @@ Please share issues and suggestions [here](https://code.rocketnine.space/tslocum ## List of games powered by Gohan -- **Brown Box Bat Man** is a bullet hell game. +- **Fish Fight Back** + - [Play game](https://rocketnine.itch.io/fishfightback) + - [View source code](https://code.rocketnine.space/tslocum/fishfightback) +- **Brown Box Bat Man** - [Play game](https://rocketnine.itch.io/brownboxbatman) - [View source code](https://code.rocketnine.space/tslocum/brownboxbatman) -- **Monovania** is a Metroidvania-style platform game. +- **Monovania** - [Play game](https://rocketnine.itch.io/monovania) - [View source code](https://code.rocketnine.space/tslocum/monovania) diff --git a/context.go b/context.go deleted file mode 100644 index 5754cd0..0000000 --- a/context.go +++ /dev/null @@ -1,8 +0,0 @@ -package gohan - -// context represents the current iteration of a System's matching entities. -type context struct { - allowed []componentID - components []interface{} - systemIndex int -} diff --git a/doc.go b/doc.go index 6adfae5..deeab62 100644 --- a/doc.go +++ b/doc.go @@ -1,5 +1,5 @@ /* -Package gohan provides an Entity Component System framework for Ebiten. +Package gohan provides an Entity Component System framework for Ebitengine. An example game is available at /examples/twinstick, which may be built by executing the following command (in /examples/twinstick): @@ -27,7 +27,9 @@ each systems' set of required matching components. type ExampleSystem struct { Position *component.PositionComponent // Required component. Velocity *component.VelocityComponent // Required component. + Sprite *component.SpriteComponent `gohan:"?"` // Optional component. + Enabled bool `gohan:"-"` // Not a component. } @@ -51,11 +53,6 @@ call, or else the application will encounter race conditions. Environment Variables Running an application with the environment variable GOHAN_DEBUG set to 1 -enables verification of systems' access to components. This verification is -disabled by default for performance reasons. While verification is enabled, -if a system attempts to access a component which is not included in the -system's Needs or Uses, the application will panic and print information about -the illegal component access. Setting GOHAN_DEBUG to 1 will also enable -printing system registration events and statistics. +will enable printing verbose system update and draw information. */ package gohan diff --git a/examples/twinstick/goreleaser.yml b/examples/twinstick/goreleaser.yml index 0e58b7e..64aa9a2 100644 --- a/examples/twinstick/goreleaser.yml +++ b/examples/twinstick/goreleaser.yml @@ -24,7 +24,5 @@ archives: format: zip - goos: windows format: zip -# files: -# - src: '../../*.md' checksum: name_template: 'checksums.txt' diff --git a/system.go b/system.go index e8d3081..63ff201 100644 --- a/system.go +++ b/system.go @@ -17,7 +17,7 @@ import ( // method returning the error should not be called again. // // Systems do not need to implement locking to prevent race conditions between -// Update and Draw methods. Ebiten calls only one of these methods at a time. +// Update and Draw methods. Ebitengine calls only one of these methods at a time. type System interface { // Update is called once for each matching Entity each time the game state is updated. Update(e Entity) error