summaryrefslogtreecommitdiff
path: root/README.org
blob: df9250326e065b7de71f4fb17f6d009413b7ac2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116

* Game

  _The Price Of A Cup Of Coffee_ is my entry into the 10 day 
  [[https://itch.io/jam/autumn-lisp-game-jam-2019][Autumn Lisp Game Jam 2019]].  You can download executables for windows and linux
  from the game's [[https://goofist.itch.io/the-price-of-a-cup-of-coffee][itch.io 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.

** Controls

   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.


* Building

   So far I have built this using [[https://shinmera.github.io/deploy/][deploy]], which has worked quite well.
  
** Requirements

   - [[https://www.libsdl.org/download-2.0.php][sdl2]]
   - [[https://www.libsdl.org/projects/SDL_image/][sdl2-image]] 
   - [[https://github.com/thegoofist/animise][animise]]
   - [[https://github.com/thegoofist/lettuce][lettuce]]
     
   Ensure that [[https://www.libsdl.org/][sdl2]] is installed on your system and install [[http://quickdocs.org/cl-sdl2/][cl-sdl2]] and
   [[http://quickdocs.org/cl-sdl2-image/][cl-sdl2-image]] via quicklisp.

   [[https://github.com/thegoofist/animise][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=.

   [[https://github.com/thegoofist/lettuce][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=.
   
** Linux 

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

   #+begin_src 
$ 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   
   #+end_src
   
** Windows 

   To get this to work I had to use a modified version of =cl-sdl2= found in
   [[https://github.com/lispgames/cl-sdl2/pull/123][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 [[https://github.com/thegoofist/cl-sdl2][another fork]].
   You will need to clone [[https://github.com/thegoofist/cl-sdl2][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:

   #+begin_src 
# 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)

   #+end_src

  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 :: [[https://github.com/thegoofist/][The Goofist]] under the  [[./LICENSE][GNU Public License version 3]].

  + Art by :: _Ct_ under a [[https://creativecommons.org/licenses/by-nc-sa/4.0/][Attribution Non-Commercial Share Alike 4.0]] Creative Commons License.

  + Musics by :: [[https://github.com/gcentauri][gcentauri]] under a [[https://creativecommons.org/licenses/by-nc-sa/4.0/][Attribution Non-Commercial Share Alike 4.0]] Creative Commons License.

  + Emoji by :: [[https://openmoji.org][OpenMoji]] under a [[https://creativecommons.org/licenses/by-sa/4.0/][Attribution Share Alike 4.0]] Creative Commons License