Show HN: Micropolis/SimCity Clone in Emacs Lisp
github.com57 points by vkazanov 5 hours ago
57 points by vkazanov 5 hours ago
This is a little game implemented over a week of tinkering and targeting Emacs.
The point is both to have fun with this kind of simulations, and also explore the "functional core / imperative shell" approach to architecture. I also developed a tile and tile effect definition DSL, which makes this even easier to extend. From this point of view it's a success: easy testing, easy extension,
Gameplay-wise the simulation is too simplistic, and needs input from people interested in this kind of toys. The original Micropolis/SimSity is the last time I built a virtual city.
Amazing! I have added this to the arcade https://hnarcade.com/games/games/micropolis-simcity-clone-in... This is great! We need more ASCII games/simulations and it's only a bonus if it's in Emacs :-) Fantastic! Can you make Emacs shake the screen by scrolling vertically and horizontally whenever there's an earthquake? Finally RMS can play SimCity. This is wonderful. Consider decoupling the core from Emacs, or packaging in a way that doesn’t require it as heavily. I’ve been doing my own exploration of terminal ASCII games via Dwarf Fortress instead of SimCity. I’ve learned that letting a coding agent play is an interesting way to get feedback as well :) I tried something similar with a roguelike I was prototyping last year. Ended up being more useful for finding edge cases than actual gameplay feedback - the agent would do things no human would ever try, like walking into walls repeatedly or hoarding useless items. Still caught a bunch of bugs I never would have found otherwise. How would it be run without Emacs? You might point out that there are things like elisp.lisp that purports to run Emacs Lisp in Common Lisp, but I'm not sure that's viable for anything but trivial programs. There's also something for Guile, but I remain unconvinced. Maybe a Common Lisp core with an Emacs frontend running it in https://www.gnu.org/software/emacs/manual/html_mono/cl.html? You should have a screenshot. There is a screenshot in the README, and according to the github timestamp, the project hasn't been changed since you write this to add such a screen shot. Search for the section labeled: Visual Demo It seems like it was added by an LLM since it says "This is a simplified snapshot to show the general layout." Notice how it says "simplified snapshot","general layout". I don't think this is the actual representation of how the game looks like :) Is this technically a screenshot? I mean its text, not a picture, so more of an output-example.
yuppiepuppie - 2 minutes ago
michaelanckaert - 3 hours ago
DonHopkins - 7 minutes ago
brimtown - 2 hours ago
hrmtst93837 - an hour ago
larsbrinkhoff - an hour ago
notpushkin - 32 minutes ago
boxed - 5 hours ago
jdboyd - 3 hours ago
Tiberium - 9 minutes ago
PurpleRamen - 31 minutes ago