3.5 Common Lisp terrain generator
=================================

cl-rebonoise (1) is a Common Lisp implementation of the Simplex/Perlin
noise approach described in Amit Patel's 'Making maps with noise
functions' (2).

+#%#+++++++++++++++++++%+--=++++++==--+#%%#*+++*+%#*=-----------=-----
#**+++++++++++++++++++#*##=-=====--=++##**#%%++*+*%%*+*#*+#*+--------=
+==++++++++++++++++++++=+*+#=----=*++++====++++=+==+=+*+++##%+==-----+
++++++++++++++++=++++++++==+#=--+#++++++++++++++++++++==++==+%@*------
+=+=++++++++++=+#==++++++++*#+--#%+++++++++++++++++++++++++++++*#+----
%*+++++++++++++#%%%+=+++++=**----*+=++++++++++++++++++++++++++=+%+----
=*%@#=++++++++%@%#%*+++++++#=----%%*==+++++++++++++++++++++++=+**-----
+#+*#*++++++++*%+=##*++++++%@%==-#@@##+++++++++++++++++++++==#%+--=---
%++=+++++++++++#@@#%*=++++++*%@%*=@#**+++++++++++++++++++++**%+-===---
++++++++++====+*@%#++==+++++==**##*+==++++++++++++++++++=+%+========--
+++++++++*###**++#@@%#*+=+++++===+=+++++++++++++++++++=+**+-=++++=----
++++++++=*#%*-----=+*#%#*+++++++++++++++++++++++=++++=**=-=++==+++=--=
+++++++++==#*#+--------+=#*=++++++++++++++++++++*+==+##--==++++======+
+++++++++++=+%@=---------+@*=+++++++++++++++=#*+%*+*##-=-=====-------=
+++++++++++++=+#%#=====-=+*+++++++++++++++++++=+#++*+##=----=+=-----==
++++++++++++++=++**+*****+=+++++++++++++++++++++=++==**:----=#*-----==
+++++++++++++++++==+===+++++++++++++++++++++==+++==+**#==----------=++
++++++++++++++++++++++++++++++++++++++++===+**++*#*%@@@+=-----==---===
=+++++++++++++++==++++++++++++++++++++++#***+====+==**#=---=+=++------
*+=+++++++++++++#%%+==++++=+++++++++++++*#=--=====-------===++=+=---*#
+**+==++++++++++*#++**+=++*+++++++++++++=#=-=+++++====-===+++++++=--+@
---#*+++++++++++===%@@%***+=*@#=++++++++++*=-++++=++=--=++==+++=+=====
-++=#@++++++++++++++#%*=-==--*#*+++++++++++*+-==++++==+==+++++++++====
+##+*++++++++++++++=+*=--=+=--=%+++++++++++=#+---=====----==---==--==-
+==++=+++++++++++++++#+-====--+%+++++++++++++#**=-----=****+=+*#++++==
++++++++++++++==+++=##:---==-+%++++++++++++++++%*-#==#***+++***###+++*
+++++++++++=#@#*=#*+%%++=----+*#++++++++++++++++*%@###=+=+++======++==
+===+++++++=#%%@#*%%%++**++*%*#@*=+++++++++++++=*%%@@*++++++++++++++++
*%**@@*=+++++==+*+++=++=++#%@*-=*%+=++++++++++++++++*+++++++++++++++=+
+%#+#*++++++++++=+++++++++==%#---+#*=++++++++++++++==+++++++++++=+++*+
+++===+++++++++++++++++++++**----++##*%%%%+++++++++++++++++++++++#*#@@
+++++++++++++++++++++++++++%%+---++%%+@@@%##+++++++++++++++++++%%=--=%
+++++++++++++++++++++++++++%#+-----*#%%%++++++++++++++++++++++*+-----=
+++++++++++++++++++++++++++##=------*%++=++++++++++++++++++++%*=----*#
++++++++=*#+++++++++++++++#+*=-----=%#+++++++++++++++++++++=*%%%===+%*

Generated terrain.

  Includes primitives and also helper functions, e.g.:
    (grid-to-file 500 500 "./examples/img/7-biome2.png"
                  :coefs '((1 6) (2 11) (4 8) (18 2) )
                  :power 1.45
                  :offset 166
                  :biomes t)

  Amit's page has a wealth of resources on game-related topics, from an
implementation perspective, and I've been following it for years.

3.5.1 Why I'm interested
------------------------

Part of this is because one of my long-term projects is to recreate a
turn-based, play-by-(e)mail game that I was addicted to decades ago (3),
a project I keep coming back to only to get derailed in building more
'infrastructure' instead of actual code: my commits to BKNR, a Common
Lisp in-memory datastore (4) where part of this, and this library
another.

  While I end up getting side-tracked, one of this days I will piece
together all the side quests and make that game available.  Well, that's
the plan, anyway.

  ---------- Footnotes ----------

  (1) cl-rebonoise (https://github.com/fsmunoz/cl-rebonoise)

  (2) Amit Patel's 'Making maps with noise functions'
(https://www.redblobgames.com/maps/terrain-from-noise/)

  (3) It was very a local phenomenon called 'Idade das Trevas' ('Dark
Ages'), and was very popular in the small-but-connected world of
strategy games enthusiasts in the 90s.

  (4) BKNR, a Common Lisp in-memory datastore
(https://github.com/hanshuebner/bknr-datastore)