Find a file
2024-03-11 00:04:34 -04:00
assets Update 3d assets 2023-06-11 17:14:24 -04:00
examples Change from * to #splat 2024-03-11 00:04:34 -04:00
scripts Update build script 2023-06-11 17:13:35 -04:00
spec Correct for perspective in texturing 2022-03-06 14:26:35 -05:00
src Change from * to #splat 2024-03-11 00:04:34 -04:00
.editorconfig Initial commit 🎮 2021-11-25 20:57:57 -05:00
.gitignore Add script to build all examples 2022-02-02 00:31:38 -05:00
LICENSE Initial commit 🎮 2021-11-25 20:57:57 -05:00
README.md Fix Typo 2022-02-27 12:53:20 -05:00
shard.yml Cleanup 2023-06-11 17:47:47 -04:00

PixelFaucet Game

GitHub release

PixelFaucet is a "Game Engine" written in the Crystal programming language and uses SDL2 under the hood to create a window, renderer, and draw pixels. See the examples.

The examples can be built by running the ./scripts/build_examples.rb script. This will place the binaries in the examples/build folder.

Setup

PixelFaucet requires the crystal compiler which can be installed via homebrew

  • Install crystal
brew install crystal
  • Install sdl2
brew install sdl2
  • Create a new project:
crystal init app my_game
  • Add the dependency to your shard.yml:
dependencies:
  pixelfaucet:
    github: sleepinginsomniac/pixelfaucet
  • Run the shards command:
shards install

Usage

require "pixelfaucet/game"

class Example < PF::Game
  def update(dt)
  end

  def draw
    clear
    0.upto(width) do |x|
      0.upto(height) do |y|
        draw_point(x, y, PF::Pixel.random)
      end
    end
  end
end

e = Example.new(100, 60, 5)
e.run!

Documentation

Run crystal docs to generate documentation. The documentation can then be found under the docs folder.

Contributing

  1. Fork it (https://github.com/sleepinginsomniac/pixelfaucet/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors