Show HN: Micropolis/SimCity Clone in Emacs Lisp

115 pointsposted 9 hours ago
by vkazanov

28 Comments

yuppiepuppie

4 hours ago

Amazing! I have added this to the HN Arcade https://hnarcade.com/games/games/micropolis-simcity-clone-in...

Keyframe

4 hours ago

ah, shame it's for Show HN only. I am too embarrassed to Show HN anything I used AI for/with, like: https://www.susmel.com/stacky/ or https://susmel.com/rolly/ (which isn't a game yet - you can use shift for speed and it has a double jump though!)

yuppiepuppie

2 hours ago

Love the music! Don't be afraid of putting them up and showing them off if that's something you want to do. They look great!

aed

2 hours ago

These are both amazing! And I want to encourage you to do a Show HN. I think showcasing things people are building with AI is good. I'm actually very close and putting the polishing touches on something I'm building that will allow people to play Micropolis over API/MCP so you can watch agents build cities (mostly terribly, but it's quite fun).

michaelanckaert

7 hours ago

This is great! We need more ASCII games/simulations and it's only a bonus if it's in Emacs :-)

brimtown

6 hours ago

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 :)

https://github.com/brimtown/claude-fortress

internet_points

4 hours ago

> Consider decoupling the core from Emacs, or packaging in a way that doesn’t require it as heavily.

but then we'd have to write an interface package to run it from emacs

larsbrinkhoff

5 hours ago

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.

convolvatron

3 minutes ago

you could probably use the unexec tooling

hrmtst93837

6 hours ago

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.

vkazanov

2 hours ago

I mean, i dont mind it but having a client/server architecture is a very different story to just 2 elisp modules.

Here, the point was to have everything in emacs completely, and also see if the architectural contraints make sense for elisp (and they do)

And have some fun, of course.

DonHopkins

4 hours ago

Fantastic! Can you make Emacs shake the screen by scrolling vertically and horizontally whenever there's an earthquake?

Finally RMS can play SimCity.

iLemming

2 hours ago

something like

    (zone 'zone-pgm-dissolve)

morkalork

5 hours ago

Congrats on your Seventh Sally!

boxed

9 hours ago

You should have a screenshot.

jdboyd

7 hours ago

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

agumonkey

6 hours ago

I thought it was a ssh key fingerprint at first

Tiberium

4 hours ago

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 :)

vkazanov

3 hours ago

Actually, this is a copy of the older version of interface with a few lines dropped. I failed to generate a decent gif last night, will add a screenshot.

Admittedly, while working on this, I did consult my LLMs advisor through gptel(https://github.com/karthink/gptel) with a few custom tools setup, which I cannot recommend enough.

PurpleRamen

5 hours ago

Is this technically a screenshot? I mean its text, not a picture, so more of an output-example.

apgwoz

2 hours ago

Can text be put on a screen? And can you take a picture of it when it is? Well, you might have a screenshot of text.