14 ms·
Gamedev in Lisp. Part 2: Dungeons and Interfaces
- sourcepluck 2y agoI was only looking back over Part 1 yesterday! What timing!
- dunefox 2y agoNice, just this week I started developing a roguelike in Python, but Lisp might be cool as well.
- awkravchuk 2y agoThere's also this full-fledged Lisp-based roguelike tutorial: https://nwforrer.github.io/posts/roguelike-tutorial-part1 https://nwforrer.github.io/posts/roguelike-tutorial-part1
- varjag 2y agoThere's also Langband: a fairly complete Angband clone written in CL by my late friend. Including SDL/tiled version; however the code is pre-Quicklisp and it'd probably would be some work to get it to run again. https://github.com/fufie/lambdarock https://github.com/fufie/lambdarock
- fredrikholm 2y agoFew (tech) things pull at the heart string more than great projects/articles about Common Lisp. Man what a treat! Read the first part when it came back, really excited to read this one. Kudos to the author!
- awkravchuk 2y agoThanks mate, I appreciate it :)
- Guthur 2y agoThe event loop is brilliant example for how much `loop` is a full blown iteration DSL... love it or hate it ;)
- awkravchuk 2y agoI used to scoff at it at first, but after a few years of CL programming loop is one of my favourite CL constructs :)
- taeric 2y agoI'm with you there. Is a bit of a mind bend, as I really disliked it the first few times I saw it. For an even sillier mind bend, I'm using tagbody to be able to directly transcribe some of Knuth's algorithms as I am learning them.
- awkravchuk 2y agoCool! Using tagbody feels like writing supercharged C or even assembler to me (not that I've used it much, but still).
- CyberDildonics 2y agoI don't understand why turning a simple loop into a 'mindbend' is considered good. The downfall of programming is complexity, if you're getting your mind blown by a loop how are you going to do the rest of the program?
- zelphirkalt 2y agoSomething can be mindbending in its implementation, but offer a very convenient interface at the same time. If mindbending isn't relating to its usage, but to its implementation, then I could see, how it could still be a good thing.
- exe34 2y ago
- the_gorilla 2y ago[dead]
- zelphirkalt 2y agoI like the SICP references.
- davexunit 2y agoI didn't know that bit of history about A* and Lisp! All roads lead to Lisp, it seems. As mentioned at the end of the article, the next Lisp Game Jam starts next week on the 25th. Join in here: https://itch.io/jam/autumn-lisp-game-jam-2024 https://itch.io/jam/autumn-lisp-game-jam-2024
- awkravchuk 2y agoI also learned it by chance while preparing the article :)
- deleted 2y ago[deleted]
- mark_l_watson 2y agoWow! Your package.sh and in general managing builds for three operating systems is a master class in itself - reading through the GitHub repo was a good learning experience. I usually build command line Common Lisp apps in SBCL or LispWorks, but I might do the next one in ECL because having builds for both macOS and Linux would be cool, and it would be fun to try something new.
- awkravchuk 2y agoOh thanks! I've been building that CI stuff on top of CL infrastructure for a few years now, and it constantly breaks :D
- 0xEF 2y agoI feel tricked. I came to learn to make a simple game, ended up learning tons about computing. Love it!
- awkravchuk 2y agoThank you!
- ertucetin 2y agoThis is a very good read. I’m developing a multiplayer, third-person, spell-based shooter game using Lisp (ClojureScript). It’s a 3D web-based game. I’ll also be writing a blog post about my journey, including the tools and abstractions I created for the project. If you’re interested, here’s a demo link: https://wizardmasters.io https://wizardmasters.io
- fire_lake 2y agoJon Blow tried to make a game like this way back. It might be worth learning how/why it failed.
- tines 2y agoLink to any video or anything on the subject?
- adamrezich 2y agoUnless I'm mistaken, I think fire_lake might be referring to a wholly unrelated first-person RPG spellcasting game project wherein the player would draw glyphs with their mouse in order to cast spells, and then there would be a surprise later in the game based on this mechanic (which was later repurposed for The Witness).
- modernerd 2y agoYes, it reminded me of his talk on prototyping: https://www.youtube.com/watch?v=ISutk1mauPM&t=426s https://www.youtube.com/watch?v=ISutk1mauPM&t=426s
- maxwelljoslyn 2y agoThis is what all technical tutorials should look like. Well-composed and generally free of grammatical errors, spends just the right amount of time explaining each new topic as it is introduced, comes with full code samples, and includes visual samples of what the code does. Also, lengthy enough to treat the material in depth, while still being sufficiently self-contained that I can follow along -- without having read part 1 and without more than a few months of Common Lisp under my belt from a couple years back (tho I've done a decent amount of Clojure and Emacs Lisp.) Bravo, awkravchuk/Andrew :^) (Crossposted from https://mxjn.me/2024/10/17/1 https://mxjn.me/2024/10/17/1)
- varjag 2y agoSeconded! Top notch longform programming material.
- awkravchuk 2y agoThanks so much guys :)
- dfxm12 2y agoImportantly, it's written, as opposed to a video. That's a huge plus already. You can copy and paste things, read things legibly, follow along at your own pace, consume it in silence, easily save a copy for offline use/archival (where you can also annotate it), easily search for things, etc.
- edem 2y agoThis reminds me of "Caves of Clojure": https://stevelosh.com/blog/2012/07/caves-of-clojure-01/ https://stevelosh.com/blog/2012/07/caves-of-clojure-01/
- xixixao 2y agoThis is super solid, but the setup in Part 1 (CL itself, Python, C, lots of steps) I think is indicative of why CL is not super popular, especially with young programmers. Which is a shame. Would be awesome if someone felt like putting in the work to make the language more approachable (installation wise).
- wwfn 2y agoThis doesn't exactly get at it, but https://ciel-lang.org/ https://ciel-lang.org/ is at least attacking part of too-many-steps problem while focusing more on the too-many-choices and long in the tooth defaults (as I understand it).
- deleted 2y ago[deleted]
- rtpg 2y agoTiled is great. I really wish there was an SVG equivalent though. Inkscape is alright but custom data parameters are really annoying to deal with, and ultimately the tool is built around drawing things to paper.
- resatori 2y agoHey, you should checkout https://github.com/rednblackgames/HyperLap2D https://github.com/rednblackgames/HyperLap2D then.