X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=README.md;h=b99fe69e9b829b8a0a0a9ec768549d1df9b9f280;hb=0de5fdbbcc0e055207d304b7019fec082dbf9070;hp=c7a4f30dd1e3c94f84058281eb24eb988f148d7b;hpb=7093518b91f4633fd44b03d928cf092bfb9ea851;p=nothing.git diff --git a/README.md b/README.md index c7a4f30d..b99fe69e 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,94 @@ [![Build Status](https://travis-ci.org/tsoding/nothing.svg?branch=master)](https://travis-ci.org/tsoding/nothing) +[![Build status](https://ci.appveyor.com/api/projects/status/gxfgojq4ko98e0g0/branch/master?svg=true)](https://ci.appveyor.com/project/rexim/nothing/branch/master) # Nothing ![](https://i.imgur.com/7mECYKU.gif) ![](https://i.imgur.com/ABcJqB5.gif) +## Dependencies + +- [gcc] +- [cmake] +- [libsdl2-dev] +- [libsdl2-mixer-dev] +- [inotify-tools] + +### Ubuntu + +```console +$ sudo apt-get install gcc cmake libsdl2-dev libsdl2-mixer-dev inotify-tools libxml2-dev +``` + +### MacOS + +```console +$ brew install gcc cmake sdl2 sdl2_mixer +``` + +### NixOS + +For [NixOS] we have a development environment defined in [default.nix] +with all of the required dependencies. You can enter the environment +with `nix-shell` command: + +```console +$ nix-shell +``` + +### Arch Linux + +```console +$ sudo pacman -S gcc cmake sdl2 sdl2_mixer inotify-tools libxml2 +``` + +### Windows + +See [Build on Windows][build-on-windows] section. + ## Quick Start ```console -$ nix-shell # Only on NixOS $ mkdir build $ cd build/ $ cmake .. $ make -$ ./nothing ../levels/level-01.txt +$ ./nothing ../levels/ $ ./nothing_test ``` +## Controls + +### Game + +#### Keyboard + +| Key | Action | +|---------|-------------------------------------------------------------| +| `d` | Move to the right | +| `a` | Move to the left | +| `SPACE` | Jump | +| `c` | Open debug console | +| `r` | Reload the current level including the Player's position | +| `q` | Reload the current level preserving the Player's position | +| `p` | Toggle game pause | +| `l` | Toggle transparency on objects. Useful for debugging levels | + +#### Gamepad + +| Button | Action | +|--------------|------------------------| +| `Left Stick` | Movement of the Player | +| `1` | Jump | + +### Consolé + +| Key | Action | +|-----------|--------------------------| +| `ESC` | Exit console | +| `Enter` | Evaluate the expression | +| `Up/Down` | Traverse console history | + ## Editing Levels Generally creating a level looks like: @@ -25,11 +97,10 @@ Generally creating a level looks like: SVG File -> Custom Level File -> Game ``` -To convert SVG to the level file install [xqilla] and run -[svg2rects.xqe] script: +To convert SVG to the level file and run svg2level program: ```console -$ xqilla ./devtools/svg2rects.xqe -i -o +$ ./build/svg2level compile ``` All of the levels reside in the [./levels/] folder. Use @@ -104,7 +175,14 @@ You can support my work via [conan]: https://www.conan.io/ [conan-sdl2]: https://bintray.com/conan/conan-transit/SDL2%3Alasote/2.0.5%3Astable [visual-studio]: https://www.visualstudio.com/ -[xqilla]: http://xqilla.sourceforge.net/HomePage -[svg2rects.xqe]: ./devtools/svg2rects.xqe +[svg2rects.py]: ./devtools/svg2rects.py [./levels/]: ./levels/ [./levels/Makefile]: ./levels/Makefile +[gcc]: https://gcc.gnu.org/ +[cmake]: https://cmake.org/ +[libsdl2-dev]: https://www.libsdl.org/ +[libsdl2-mixer-dev]: https://www.libsdl.org/projects/SDL_mixer/ +[NixOS]: https://nixos.org/ +[default.nix]: ./default.nix +[build-on-windows]: #build-on-windows +[inotify-tools]: https://github.com/rvoicilas/inotify-tools