From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.devel Subject: Re: bad.el - ascii art games [package] [screenshots] [video] Date: Wed, 25 Sep 2024 18:07:44 +0200 Message-ID: <87zfnvu373.fsf@dataswamp.org> References: <87ikuq1ul5.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28581"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Cancel-Lock: sha1:888HZ7Iqccijt4MlJ+QB/g6WjBk= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Sep 25 18:11:21 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1stUbn-0007EY-HW for ged-emacs-devel@m.gmane-mx.org; Wed, 25 Sep 2024 18:11:19 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1stUbZ-0007ek-Te; Wed, 25 Sep 2024 12:11:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1stUYi-0006Hj-Nt for emacs-devel@gnu.org; Wed, 25 Sep 2024 12:08:09 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1stUYf-0000Pc-6t for emacs-devel@gnu.org; Wed, 25 Sep 2024 12:08:08 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1stUYa-0003QX-Um for emacs-devel@gnu.org; Wed, 25 Sep 2024 18:08:00 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Wed, 25 Sep 2024 12:11:04 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:324079 Archived-At: --=-=-= Content-Type: text/plain Richard Stallman wrote: >> I have written a package, bad.el, that is something quite >> spectacular. Unique - maybe - at least I didn't see >> anything like that. It can already do interactive games and >> demos with graphics. >> >> It only uses one uncommon library, eieio. It doesn't use >> gamegrid or anything like that. > > Could you plase ell us, in a few lines, _what_ this program > does? No problems at all, it is an OO(P) framework or development kit for graphics. Right now, only ascii is supported but the sky is the limit. Any game, application or other framework that draws can benefit from using it. You can draw, you can move, you can animate, you can play the game. It uses eieio.el and that is what has made it all possible. I wrote the framework and then no less than four interactive very-small-but-still demos/applications in only 1 month and 1 day. One of these, the studio, is a drawing program and will need many times the number of features, but it is there even now, operation. The others are more or less done demos demonstrating bad.el. eieio.el makes Elisp _a pleasure_! > what sort of input does it use, and what sort of putput does > it generate, and how are they related to each other? Yes, okay, in terms of Emacs one could say it is a combination of `animate-birthday-present' (you wrote that), `gamegrid' and `artist-mode'. But it still isn't that because when you draw, you can rotate, flip, transpose, change size, move, and whatever you can think of. Because it is all objects with methods, just add a new method for every idea. And after you draw a thing, you can draw something else, a hundred other things, and then return to the first and start over, because it is still live. Here are a web page (that now works) with a bunch of screenshots as well as how to get it. The text isn't important, just look at the screenshots for now. There is a video, but I realize now I should have done it longer, more clear. https://dataswamp.org/~incal/bad-www --=-=-= Content-Type: image/png Content-Disposition: attachment; filename=studio.png Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgAQMAAAAPH06nAAAABlBMVEUAAACWlpZijmZgAAAIKklE QVR4nO2dP5LcKBTGiRSpHBNNtAfQZgo4zEYbdbbJBhQn2EMREU05dLnKVVNzhA4dqOQFhNQCHpJa vG6PRnwzZbtp+BU0j8/8kdTkF0HWxwMyyYgkLR6wkbUG0o8M7GrScdqNr//7J0+kUTVRiqoR+MeP PEXAP7/maQD2N2D+Z2iA8iMDmWJEcTb1MtbQk+cDfiZRWNP7TP+Qqrp9iLnAhtRPAVICK4GbERte Ey6E9kTlFdwPrGpSKaUtbAD2Q7LoYQmR4AniijeiJsICL0g1tAZrgK1XEAF4STC2Iaf3b0C1QLkD yAQjIu7lojMoGdiJuLnlYA3TjmMSto2UVWDT1A5Ig4JZwIhBYaJOXh16Zn741vJOUI4DNDW80mqc 0jk/pLAhCtrDhihcuX4AvlMxnyPm11DPvjSwxwbKeUmQt7mXMYHshZEXyYQSjCcgO1Xh4h4ARG7w 8ZQObDBuZlns/NCqwQHa6dxTgBDRpq4Nvc4C9cShi4ruAyoL1GN5qOHoh6Ahai/sQUPUmYkrPgEv WE12wL5FBsqwhgBvWy9roE5QUiEBzXrZALl6ARFFn1gLgQ3EzTzPzQ+RgDf7ejgwJrrElaHn/PAt WC/vBzpzuPrrZQoZonHCHjJEk5W44iPwXSHXUPYXoGwOUIbAiLexl0c/lC1QdAeQddYPO8lbgLBH cvbnSYBH1VJgR3HjZTJ+KG2mCix7N9DY12OAJAKGxClteeiJ2u4qiVZwqPD9QDnsfZnlnnl988PI EK0P9oAh2oxDud4BLxMwv4a8tnuHnKoeKnw/sBpqWFElg8Ik1LZerobPEA1o/ND0csfE6ZePp9Ni YAdx4+dKzw93Ahemc/hAmkpaHHrcAjl/6/gbCnBc3uoJ4pV4fhgY4uCCfWyIQ7ah3OCHWtJMEN9R ajgCpeolMlCGQOJrYy+7+SEakHE7P+RcKi5J0am0HNhe3AQlrR9SQv1lSgbQ2pcBLpS+H6gFAmkq ZWXoqVa0nXeckgvUDR5PP+Z+6Bmi88A+MkSXibjiITC/hpeaXKieHXrHKdlAPZnzTj9yermtSYsJ ZC0jrZ4kdtjHKUUfXyuBPYubsOQwP2z8s4oc4GBfTwPSVMLC0HuryRvv9A8W8FqTq2qqxrmX54cz QxwdsA8NccwyFm/ea/KuGtF4dphTQ3MNp2pU49khBlBCwHRKupexgfbCWv4iXoodnk9rgQ0F1iCz zULsHqzEAbrF49OA0dhNZQiBHY/PU7KAqlKv9rXvh5PbTf4X+uPkmMQVdyc+SsjvSDW8uhW9vCIB v49AsIarCSGPNK9uvew+w2ygO1/uRLn+8HxaDWx4J0aL/WLhzCsP2ND6ucBwsyvMAQI7PUEUHZ9v tecBm2ulpNK/JPJD53e36WAwYbxNIIdy/QB8FxMQp4aaxvXvbIqYD6z0rwSAiddkuZcxgYya6w+F 6qKFQK7kao5PBzya1gPbJgIl7WWrbfTOfqC9sDZ+JxcYJVMPQSFgauiZ67Fp2xF4NboDODRZEXC9 TAfHm20X+huKsw3GsfgE9G/+QKhhiw1M1RB6OeWJedFnmA20NxowFvZytiQu7gjA42kWypfLBQxs ot8ASrI+fb68C+hOHp8J1E4CAyeLgYDhOMmo4U8fGPlhAJydsOg3esAPV2v425v8CKBZL6MBzf6h ziaAt7JU7k45gLywSW2Dw2FT2fNlPKC5kAwfGMszhxQQNgdzd3Dbh2GTUUNVE0nrRT8MzGxyQNgP LZAu+uF9TdZATpvwrbwmV/QviQycX2qTCTT3L3cs6uWiM2geNuljQTBsftr54QtpvaXUfqDZGDd/ ET9vBlCtAfs0MGUOWp3CruEIBPwwnNzdHDDlh3MgVpMXgJlNzgcO5yl4QBPYBigYuAAq+swK4gQM mzCIBrnrsWmwQ7cf6C4XRAemrreh9+99mfMULtqu5fMbmPOASknd5Oj+lEF37x8SH5hfQwvk2MAq DYReTnlinvsMEYHmPKXjHXthWAfMzRH2+tCBh1QYJtsDe/BDGh7g7gcO9oUOjI6Y10dKPHIc0D5N q+2C5Azg8LjCqYb558sBEL2GDwcmXpN0L2MDh+d9McSHOVTYe30fH3hUpeJ4PbAPD0yOFGDoPAmY ff3h8Zoc5F9N2MjDBxadQXFQ3BXYZm2BCjSrH1xgdBPz2kihdJFo7g/DBd6anH1/SghEr+GDgemU lV7GBrKyeXhKASGxMbDt+fLwr5YlSt8FvB0He9GdASQLwORIoTRJbL7UZHhsMhbQNPmbmoD59y8H QKwaXp4D9HJu7eUB2KIBbWB/Mw/7wjLFv1EojwQW83eCAmJbYFuZa7VQgfE1g48BJkcKpStEd0CK CHwF54dzO9z8fJsB+B27hldsIFzDdNpqL78iA81Ne0XnExgO2wP7qMDkSKGhngrMfv7h8Zo8K5xO 3NnLqMCiMwgOhi2Bbc+X7YrCexLifqBd3to1j7fn9whgcqREPC+rnRoOQI4NVP56ObTDe56PPQOi 1/CBwIi3sZexgeZ82QU2L5PEkynxf+OGwDb3L9uvr/PXFvuBTV07YBDYmUASLKcWRgrAm2e2QC6+ BAu+TGClqnFJmv/9KQYobkCcGioLRGry6wR8xenlGxAnbNi/OpyFCAM7W2UX8QBKLRXWA9sK2D/M AwLbfejA5EgBedGBwAOB2d+vd7wmjyVB3u8Lm8Td+UWn1abAPiIwOVKSehow+/uXj9fkVWHz8IFF RUVa/2QqAv7IVAT8mqlnfIpFRUVFRUVFRUVFRUVFRUVFJ9T/zz2WWlcgLNEAAAAASUVORK5CYII= --=-=-= Content-Type: text/plain -- underground experts united https://dataswamp.org/~incal --=-=-=--