------------------------------------------------------------- ______ _ _____ | __ \ / \ | __ \ ___ _ | |__| / / _ \ | | | | | __| | | | |__| \ / ___ \ | |__| | _ | _| | |_ |______/ /_/ \_\ |_____/ |_| |___| |___| v1.0.3 ------------------------------------------------------------- git: git clone https://dataswamp.org/~incal/bad.git URL src: https://dataswamp.org/~incal/bad URL project: https://dataswamp.org/~incal/bad-www/index.html byte-compile: ./co native-compile: ./no # implies ./co; recommended run: ./so # or either of 'to', 'po', or 'eo' Tested on: Emacs 30 & 31, does not work on Emacs 28. Report bugs: incal@dataswamp.org ------------------------------------------------------------- bad.el is an Emacs Lisp package that consists of many files, its purpose is to draw, to animate, to create fun and pretty things with Emacs. "Bad" or BAD is for 'Boxing After Dark' because it all started as an idea how to automate the drawing of ascii boxes and banners. But from this modest origin it grew into an ascii art framework with its own studio. Several demos and games are included even in this very first official release v1.0.0. bad.el is a collection of code for Emacs that can be used to create programs with interactive graphics - demos, games, utilities for education, you name it - using - so far! - ascii art to draw. [ I write "so far" because bad.el has a super-modular design made possible by the one library it relies on, namely eieio.el . ] v1.0.0 includes two games, one interactive demo, and one application, the studio. The studio is at an embryotic level but has a couple of advanced features even so. The games are fun and pretty! To get an instant handle on what it is about, check out the below four screenshots, one from each of the programs. You will see there is variety even/especially among simple things. https://dataswamp.org/~incal/bad/meta/toronto.png https://dataswamp.org/~incal/bad/meta/cat.png https://dataswamp.org/~incal/bad/meta/egypt.png https://dataswamp.org/~incal/bad/meta/studio.png There is also a video: https://dataswamp.org/~incal/bad/meta/bad.mkv (00:01:32) (590K) (All those files are available in the meta/ subdirectory.) bad.el does not use any Elisp packages to draw, nor to do any of the associated computation: collision, transparency, rotation, and many other things are all done in-house. If you are appealed by math, geometry, graphics, and such things it is quite possible you can improve the code. Especially advanced algorithms, e.g. nested rotation, how a box inside a box inside a box rotates, if the outermost box is rotated, by say 45 degrees? Such problems has been solved, but not necessarily in an optimal way. bad.el is 34 Elisp files and exactly 2000 lines of code. Work started 2024-08-24 and v1.0.0 is released today, 2024-09-17, a veeery long one month, one day later. ------------------------------------------------------------- You can try bad.el yourself by using the scripts located in the same directory as this file. They will use your local Emacs binary with the options -D and -Q so as to not affect or be affected by local configuration. ./run-snake play snake [./po] ./run-toronto play Toronto [./to] ./run-studio the studio [./so] ./run-egypt Egypt demo [./eo] ./compile byte-compile [./co] ./compile-native native-compile [./no] Scripts and shortcuts must be executable - they should be from the get-go but if not do 'chmod +x' manually. ------------------------------------------------------------- Contact: mail: phone: +46 72 946 20 26 visit me in Uppsala, Sweden ------------------------------------------------------------- https://dataswamp.org/~incal/bad/README 2024-09-20 -------------------------------------------------------------