Go to file
Miloslav Číž 6752748ddc Add tree
2020-02-05 17:22:02 +01:00
assets Add tree 2020-02-05 17:22:02 +01:00
constants.h Use only weapons with ammo 2020-01-13 19:48:40 +01:00
HTMLshell.html Add emscripten 2020-01-05 03:03:21 +01:00
images.h Add tree 2020-02-05 17:22:02 +01:00
levels.h Add tree 2020-02-05 17:22:02 +01:00
LICENSE Add comments 2019-10-04 00:04:14 +02:00
main.c Add tree 2020-02-05 17:22:02 +01:00
make.sh Add sprite sizes 2020-01-02 13:16:30 +01:00
mbed_config.h Adjust for pokitto 2019-09-27 16:38:55 +02:00
palette.h Add comments 2019-10-04 00:04:14 +02:00
platform_pokitto.h Fix pokitto 2020-02-05 16:02:03 +01:00
platform_sdl.h Start sound 2020-02-04 17:17:00 +01:00
raycastlib.h Fix sprites a bit 2020-01-02 00:04:47 +01:00
README.md Update README.md 2020-01-31 18:29:20 +00:00
settings.h Improve fog 2020-02-01 23:17:22 +01:00
sher2.cpp Add ultimate weapon 2020-01-01 16:35:20 +01:00
sounds.h Fix sound 2020-02-05 16:00:10 +01:00
TODO.txt Add todos 2020-01-06 12:49:18 +01:00

WIP

Anarch

suckless FPS, the best game ever made game, for the benefit of all living beings

This is going to likely be by far the best game in the universe.

Why?

  • Like Doom but much better because of the following.
  • Extemely low HW demands (much less than Doom, no GPU, no FPU, just kilobytes of RAM and storage).
  • Extremely portable (much more than Doom). So far tested on GNU/Linux PC, TODO.
  • Has completely NO external dependencies, not even rendering or IO, that is left to each platform's frontend, but every frontend is extremely simple (~100 LOC).
  • Fits into less than 256 kb (including all content, textures etc.).
  • Uses no build system, can typically be compiled with a single run of compiler.
  • Works without any file IO, i.e. can work without config files, save files, all content and configs are part of the source code.
  • Doesn't use ANY floating point, everything is integer math (good for platforms without FPU).
  • Pure C99, also a subset of C++ (i.e. runs as C++ as well, good for systems that are hard C++ based).
  • Completely public domain (CC0) free softare, free culture, libre game for the benefit of all living beings in the Universe, no conoditions on use whatsoever. All art is original work and licensed CC0 (as well as code).
  • Suckless, KISS, minimal, simple, short code (< 10000 LOC).
  • Made to last for centuries without maintenance.
  • Goes beyond technical design and also attempts to avoid possible cultural dependencies and barriers (enemies are only robots, no violence on living beings).
  • Creted with only completely free software (Debian, GIMP, gcc, Vim, ...).
  • Single compilation unit (only one .c file to compile, very fast and simple).
  • Uses a custom-made 256 color palette (but can run on platforms with fever colors, even just two).
  • Well documented and commented code, written with tinkering and remixing in mind.

early previews:

Pokitto:

SDL:

code guide

TODO

source files

portability, only backend, avoiding dependencies

how to port to new platform, frontend, configs in files

all images are 32x32, image compression, transparency

integer math

raycastlib, 1D zbuffer

palette

rng, produces all byte values

AI

map format

main loop, constant time step

optimizations, move computations to compile time, approximations (taxicab, ...), precomputations, -O3

usage rights

tl;dr: everything in this repository is CC0 + a waiver of all rights, completely public domain as much as humanly possible, do absolutely anything you want

I, Miloslav Číž (drummyfish), have created everything in this repository, including but not limited to code, graphics, sprites, palettes, fonts, sounds, music and texts, completely myself from scratch, using completely and exclusive free as in freedom software, without accepting any contributions, with the goal of creating a completely original art which is not a derivative work of anyone else's existing work, so that I could assure that by waiving my intellectual property rights the work will become completely public domain with as little doubt as posible.

This work's goal is to never be encumbered by any exclusive intellectual property rights, it is intended to always stay completely and forever in the public domain, available for any use whatsoever.

I therefore release everything in this repository under CC0 1.0 (public domain, https://creativecommons.org/publicdomain/zero/1.0/) + a waiver of all other IP rights (including patents), which is as follows:

Each contributor to this work agrees that they waive any exclusive rights, including but not limited to copyright, patents, trademark, trade dress, industrial design, plant varieties and trade secrets, to any and all ideas, concepts, processes, discoveries, improvements and inventions conceived, discovered, made, designed, researched or developed by the contributor either solely or jointly with others, which relate to this work or result from this work. Should any waiver of such right be judged legally invalid or ineffective under applicable law, the contributor hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to this right.

I would like to ask you, without it being any requirement at all, to please support free software and free culture by sharing at least some of your own work in a similar way I do with this project.

If you'd like to support me or just read something about me and my projects, visit my site: www.tastyfish.cz.