You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Colin Okay d7ce5ec6f0
1 year ago
assets mogrified assets, set foreign memory on bootup 2 years ago
LICENSE initial licenses and readme 2 years ago Update 1 year ago
assets.lisp mogrified assets, set foreign memory on bootup 2 years ago
macros.lisp Nance walk animations 2 years ago
package.lisp evasive pedestrians 2 years ago
the-price-of-a-cup-of-coffee.asd mogrified assets, set foreign memory on bootup 2 years ago
the-price-of-a-cup-of-coffee.lisp pedestrian spawns more often 2 years ago


The Price Of A Cup Of Coffee is my entry into the 10 day Autumn Lisp Game Jam 2019. You can download executables for windows and linux from the game's page.

You play Nance, a homeless human on cold day in some bustling metropolis. Your task is to stay warm and stay healthy.

People pass you by and you can ask them for a little change as the do. You must walk up to them in order to ask! But be careful! You don't want to bump into anybody! Bumping into people is stressful, and besides, somebody might call the cops.

Some people are jerks, so watch out - you don't want to get too stressed.

When you have enough money, you can go to the shop and buy coffee to warm you up and chill you out a little. When you have a full pocket, you can buy something to eat and advance to the next level.


Use arrow keys to move.

Use the spacebar to ask people or to buy coffee or food when you're in front of the shop's door.


So far I have built this using deploy, which has worked quite well.


Ensure that sdl2 is installed on your system and install cl-sdl2 and cl-sdl2-image via quicklisp.

animise is a tweening library that, at the time of writing, is not fit for stable release.

Clone animise into your ~/quicklisp/local-projects and checkout commit aeb013df855052aec8a5199f82d9725be6d99c1b.

lettuce is just a file containing three macros that I end up using all the time. I should probably get rid of it as a dependency b/c between alexandria and trivia the functionality of lettuce is proably covered, but ah well. Clone lettuce into your local-projects quicklisp directory.

Then clone the game's repo into ~/quicklisp/local-projects.


Once requirements are installed, building should be as simple as:

$ cd ~/quicklisp/local-projects
$ sbcl


> (ql:quickload :the-price-of-a-cup-of-coffee)
> (asdf:make :the-price-of-a-cup-of-coffee)

$ ./bin/price-of-coffee


To get this to work I had to use a modified version of cl-sdl2 found in this PR. After trying that fork, I found a format string bug in render.lisp in the cl-sdl2 source. So I made a change and committed it to another fork. You will need to clone my fork into local-projects and check out the branch price-of-coffee-windows-build-fork.

I haven't been able to get the windows version to build with audio enabled, so I made a git branch with the changes that helped me build this game on windows. After cloning this repo into your local-projects directory within the quicklisp root directory, checkout the windows-build-mods branch.

From within this directory, I did the following:

# shell...

$ git checkout windows-build-mods
$ sbcl

;; Lisp REPL ...

> (ql:quickload :cffi)
> (pushnew #p"." cffi:*foreign-library-directories*)
> (ql:quickload :the-price-of-a-cup-of-coffee)
> (asdf:make :the-price-of-a-cup-of-coffee)

Then copy all .dll and the assets directory into bin. Double clicking on price-of-coffee.exe worked for me. (I don't own a windows machine so I had to go over to a friends' house to get this thing built on windows).

Credit and Licenses

Design and Code by

cbeo under the GNU Public License version 3.

Art by

Ct under a Attribution Non-Commercial Share Alike 4.0 Creative Commons License.

Musics by

gcentauri under a Attribution Non-Commercial Share Alike 4.0 Creative Commons License.

Emoji by

OpenMoji under a Attribution Share Alike 4.0 Creative Commons License