Here's a talk I gave many years ago at the Toronto Usenix Symposium about porting SimCity to TCL/Tk:

http://www.art.net/~hopkins/Don/simcity/keynote.html

At that point in history (1993), TCL/Tk was ideal for what I wanted to do. It was very easy to integrate with C code (exposing the SimCity simulation engine and callback as TCL commands), and implement custom Tk components (like pie menus) and services (like a real time sound mixer).

w_piem.c: https://github.com/SimHacker/micropolis/blob/master/micropol...

I also made a multi player version of SimCity that took advantage of the X11 version of TCL/Tk's ability to open multiple displays at once.

https://www.youtube.com/watch?v=_fVl4dGwUrA

Multi Player SimCity Announcement: http://art.net/~hopkins/Don/simcity/simcity-announcement.htm...

SimCity on SGI Indigo: http://art.net/~hopkins/Don/simcity/SimCity-Indigo.gif

SimCity on Sun OLWM: http://art.net/~hopkins/Don/simcity/SimCity-Sun.gif

SimCity on NCD X Terminal: http://art.net/~hopkins/Don/simcity/SimCity-NCD.gif

I visited Professor John Ousterhout at his office at UCB with an SGI Indigo to give him a demo and express my gratitude and admiration, and demonstrated it running across two SGIs at the ACM InterCHI '93 conference Interactive Experience to demonstrate the cooperative multi player aspects like multiple views, multiple cursors, collaborative editing, and voting.

http://www.art.net/~hopkins/Don/simcity/simcitynet.html

Eventually I talked EA into open sourcing SimCity, cleaned up the TCL version, and released it on the OLPC (and renamed it Micropolis to not infringe on Maxis/EA's trademark):

Open Sourcing SimCity:

https://donhopkins.medium.com/open-sourcing-simcity-58470a27...

micropolis activity: https://github.com/SimHacker/micropolis/tree/master/micropol...

micropolis.tcl: https://github.com/SimHacker/micropolis/blob/master/micropol...

I have fond memories of many hours spent with my young daughter playing micropolis on my laptop while travelling by train accross Europe many years ago. Thank you for your work!