See latest release.
- Libraries
- Depends on sketch, sketch-fit, stopclock, harmony (and cl-mixed), Stealth-mixin and finally alexandria
- You will need to use
define-start-function-2
branch of my sketch’s fork. - You will need to install sketch-fit and stopclock from source, while others are available from quicklisp.
- Foreign dependencies
- SDL2, SDL2 Image, SDL2 TTF
sketch
relies onSDL2
library which is a C library. See sketch’s README for more details.
- SDL2, SDL2 Image, SDL2 TTF
You can fetch all non-quicklisp libraries with git clone:
cd $HOME/quicklisp/local-projects/
git clone https://github.com/Gleefre/stopclock
git clone https://github.com/Gleefre/sketch-fit
git clone https://github.com/Gleefre/sketch -b define-start-function-2
git clone https://github.com/Shirakumo/harmony # Needs most recent fixes
git clone https://github.com/Gleefre/cl-mixed # Needs most recent fixes + has newer libmixed.so for linux
You can build the game with make:
# Builds waller and waller-editor
make build
# Bundles executable and all needed resources to waller/ folder
make bundle
# For linux
# Adds run.sh and run-editor.sh scrips to the bundle and creates a zip archive
make lin-bundle
# For windows
# Adds run.bat and run-editor.bar scrips to the bundle
make win-bundle
You can also specify which lisp implementation to use (sbcl is used by default) with LISP
variable:
LISP=ccl make build
sbcl, ccl.
To run this game you need to load the :waller
system:
(ql:quickload :waller)
Then you need to call the main function:
(waller:start)
To run the game from a script you might want to use the start-toplevel
funtion:
(waller:start-toplevel)
start-toplevel
will quit the CL process when you close the game.
You can open a level editor with edit-level
:
;; to edit existing level #N
(waller:edit-level N)
;; to edit level #M with W x H board
(waller:edit-level M W H)
sbcl, ccl, ecl.
Copyright 2023 Gleefre
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.