As a backend project, faiface/pixel has picked up 4.5k stars on GitHub (Go). A hand-crafted 2D game library in Go
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
This repo is not under active development anymore and has been archived. Continued development has been migrated to Pixel2. A big thank you to faiface for creating this awesome library and for all the hard work put into it. We encourage old and new users to check out the new repo and contribute to it.
Pixel
A hand-crafted 2D game library in Go. Take a look into the features to see what it can
do.
go get github.com/faiface/pixel
If you are using Modules (Go 1.11 or higher) and want a mutable copy of the source code:
git clone https://github.com/faiface/pixel # clone outside of $GOPATH
cd pixel
go install ./...
See requirements for the list of libraries necessary for compilation.
All significant changes are documented in CHANGELOG.md.
Tutorial
The Wiki of this repo contains an extensive tutorial
covering several topics of Pixel. Here's the content of the tutorial parts so far:
Creating a Window
Drawing a Sprite
Moving, scaling and rotating with Matrix
Pressing keys and clicking mouse
Drawing efficiently with Batch
Drawing shapes with IMDraw
Typing text on the screen
Using a custom fragment shader
Examples
The examples repository contains a few
examples demonstrating Pixel's functionality.
To run an example, navigate to it's directory, then go run the main.go file. For example:
$ cd pixel-examples/platformer
$ go run main.go
Here are some screenshots from the examples!
Lights
Platformer
Smoke
Typewriter
Raycaster
Gizmo
Features
Here's the list of the main features in Pixel. Although Pixel is still under heavy development,
there should be no major breakage in the API. This is not a 100% guarantee, though.
More advanced graphical effects (e.g. blur) (solved with the addition of GLSL effects)
Tests and benchmarks
Vulkan support
Implementing these features will get us to the 1.0 release. Contribute, so that it's as soon as
possible!
Requirements
If you're using Windows and having trouble building Pixel, please check this
guide on the
wiki.
PixelGL backend uses OpenGL to render
graphics. Because of that, OpenGL development libraries are needed for compilation. The dependencies
are same as for GLFW.
The OpenGL version used is OpenGL 3.3.
On macOS, you need Xcode or Command Line Tools for Xcode (xcode-select --install) for required
headers and libraries.
On Ubuntu/Debian-like Linux distributions, you need libgl1-mesa-dev and xorg-dev packages.
On CentOS/Fedora-like Linux distributions, you need libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel libXxf86vm-devel packages.
See here for full details.
The combination of Go 1.8, macOS and latest XCode seems to be problematic as mentioned in issue
#7. This issue is probably not related to Pixel.
Upgrading to Go 1.8.1 fixes the issue.
Contributing
Join us in the Discord Chat!
Pixel is in, let's say, mid-stage of development. Many of the important features are here, some are
missing. That's why contributions are very important and welcome! All alone, I will be able to
finish the library, but it'll take a lot of time. With your help, it'll take much less. I encourage
everyone to contribute, even with just an idea. Especially welcome are issues and pull
requests.
However, I won't accept everything. Pixel is being developed with thought and care. Each
component was designed and re-designed multiple times. Code and API quality is very important here.
API is focused on simplicity and expressiveness.
When contributing, keep these goals in mind. It doesn't mean that I'll only accept perfect pull
requests. It just means that I might not like your idea. Or that your pull requests could need some
rewriting. That's perfectly fine, don't let it put you off. In the end, we'll just end up with a
better result.
Take a look at CONTRIBUTING.md for further information.
No homepage URL was recorded for faiface/pixel in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
How does faiface/pixel compare to other Backend projects?
faiface/pixel is tracked by TopGit in the Backend category, with 4.5k GitHub stars and written in Go. Browse the Backend topic page on TopGit to compare it against similar projects by stars and activity.
How many stars does faiface/pixel have?
faiface/pixel has 4.5k GitHub stars — refresh the page for the live number, or check github.com/faiface/pixel. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is faiface/pixel open source?
Yes — faiface/pixel ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/faiface/pixel.
What else is in the Backend space?
faiface/pixel is tracked by TopGit under the Backend category, alongside 8 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What is faiface/pixel?
faiface/pixel (faiface/pixel) is a Go project on GitHub. From the project's own README: A hand-crafted 2D game library in Go
Where do I read more about faiface/pixel?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/faiface/pixel is the definitive source.
Read full README in the tab above.
Still deciding about pixel?
One click hands the question to an AI along with this page — see what it says about pixel.