||1 year ago|
|.gitignore||1 year ago|
|README.org||1 year ago|
|break.asd||1 year ago|
|break.lisp||1 year ago|
|objects.lisp||1 year ago|
|package.lisp||1 year ago|
|render.lisp||1 year ago|
|scene.lisp||1 year ago|
|utils.lisp||1 year ago|
Breakout clone with some future plans.
place the repository in a directory listed in
start emacs and slime. SBCL is the only CL implementation tested.
(ql:quickload :break)and switch to the
(cepl:repl)to start CEPL
create a pad and assign it to
(run-loop)starts the game loop and
(stop-loop)stops it. Consider not recompiling the functions while the loop is running because you'll lose access to the closure.
lisp libraries used and where to find them
things to do
Note: DONE doesn't mean the subheading's content is irrelevant.
DONE Decouple coordinate system from rendering resolutionn
The playable are has is 320 x 240 in size. The size is defined in a global variable, and parts of the code that need it read it. Entity positions and sizes are not adjusted if the size changes, but otherwise it can be adjusted at runtime.
TODO Remove global variables
State relevant to any given scene should be possible to keep in an object representing the scene itself. All update methods should take the context as an argument, rather than accessing global variables defined after the methods.
TODO Add a menu system and a scene loader
A menu is a kind of scene.
Scenes should probably be on a stack so that you can push/pop them to arbitrary depths.