fabulousduck / nothing

A simple platformer about nothing. No Engines, no Box2D. Only C and SDL2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

Nothing

Quick Start

$ nix-shell              # Only on NixOS
$ mkdir build
$ cd build/
$ cmake ..
$ make
$ ./nothing ../levels/level-01.txt
$ ./nothing_test

Editing Levels

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:

$ xqilla ./devtools/svg2rects.xqe -i <svg-file> -o <level-file>

All of the levels reside in the ./levels/ folder. Use ./levels/Makefile to automatically rebuild all levels.

Level Editing Workflow

  1. $ inkscape ./levels/level.svg &
  2. $ ./build/nothing ./levels/level.txt &
  3. $ cd ./levels/
  4. $ make watch
  5. Edit Level in Inkscape and Save
  6. Switch to the Game and reload level by pressing Q
  7. Go to 5

Objects Reference

SVG rect node

Regex of id Description
player Defines the position of the Player. Size is ignored.
rect.* Defines the size and position of an impenetrable platform block
box.* Defines the size and position of a rigid box that obeys the physics of the game
region(.*) Defines the size and position of a region that hides the Goals. \1 defines the id of the Goal to hide.
goal(.*) Defines the position of the goal. Size is ignored. \1 defines the id of the region that hides the goal.
lava.* Defines the position and size of a lava block.
background Defines the color of the background. Position and size are ignored.
backrect.* Defines the size and position of a solid block in the background.

SVG text node

Regex of id Description
label.* Defines position and text of a in-game label. Size is ignored.

Build on Windows

You need to install conan and Visual Studio 2017.

Dependencies

Current version of SDL2/2.0.5@lasote/stable in the conan-transit repository is not compatible with the latest conan, so you'll need to install it locally from the git repository:

$ git clone https://github.com/lasote/conan-sdl2.git # temporary, I hope hope hope
$ cd conan-sdl2
$ conan export SDL2/2.0.5@lasote/stable

Building

Execute the following commands inside of the nothing directory:

$ conan install --build missing --install-folder build
$ cd build
$ cmake .. -G "Visual Studio 15 2017 Win64"

After that, build the build/nothing.sln file with Visual Studio.

Support

You can support my work via

About

A simple platformer about nothing. No Engines, no Box2D. Only C and SDL2

License:MIT License


Languages

Language:C 90.1%Language:CMake 6.7%Language:C++ 2.6%Language:Racket 0.3%Language:Nix 0.2%Language:Makefile 0.1%Language:Common Lisp 0.0%