Rendered at 19:21:43 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
johnfn 18 hours ago [-]
First of all, super cool. I have a soft spot for SimTower as well. :)
> I didn’t want to do a function-by-function port. First, APIs may be copyrightable - and copying a binary that closely might implicate copyright more than an approach closer to clean-room design. But it was clear that I needed some level of feedback from the ground-truth binary in order to provide a hill for the LLM to climb on the reimplementation.
Interesting, but isn't this what, say, the Ocarina of Time reverse engineer port does[1]? I imagine the fact that this hasn't been served a takedown notice from Nintendo is a proof that it's defensible? Or at least that there's precedent, ha.
Anyway, this is really cool. I genuinely think the only thing that's missing for me to waste an afternoon here is the sound effects!
Not quite. Google v Oracle ducked the question of API copyrightability (that was one of the main complaints of Thomas's dissent), instead saying that Google's use of the APIs were very definitely fair use in a sufficiently general manner that any clean room implementation of API for compatibility is very definitely fair use.
charcircuit 10 hours ago [-]
It is not proof. It is a clear derived work infringing on the copyright of Nintendo.
realusername 9 hours ago [-]
Depends of the country, a lot of countries have exceptions for interoperability (at least the whole EU) and since these projects are mainly used to make ports to other systems, it may be covered.
AshamedCaptain 6 hours ago [-]
This is an absolutely ridiculous interpretation. There is no interoperability here at all, you are literally just copying the work in question.
It is like claiming that compiling Samba to run in $NEW_PLATFORM suddenly strips Samba of the GPLv3.
realusername 5 hours ago [-]
You absolutely aren't copying the work, recompilation projects are intensive work and a re-imagining of what the source code could look like. Compilation is still a one way process.
And then for the legal part, that's why it's called an exception.
AshamedCaptain 4 hours ago [-]
There is little to no creative work whatsoever if you end up with exactly the same game; and often they end up with exactly the same binary as well. Source translations are derivative works almost by definition. It doesn't matter what magic you use to generate it.
And again, where is the interoperability here? Interoperability exception would apply if there was whitebox cryptography, Nintendo logo-style things or anything else where the only method for the work to run would be to violate copyright of _exactly that_. Under no circumstances you can simply copy & distribute the entire work (or derivates) while claiming "interoperability exception!". It makes utterly no sense.
realusername 4 hours ago [-]
I disagree, the creative work is in figuring out what the game does, and the resulting recompilation is completely different from the original source code.
And then for the interoperability, these decompilation projects are primarily made to target other systems, not the original platform. That's the textbook definition of interoperability.
Let's be real, N64 and the PS1/PS2 (where most of these projects are based) are crumbling old platforms at this point and these projects are sometimes the best way to run games when they exist.
AshamedCaptain 4 hours ago [-]
Decompilation produces a derivative work. This is not up for debate, or disagreement.
The exception for interoperability only applies to _the minimum required_ for interoperability. You can use this exception to distribute e.g. game authorization code even if copyright would not allow you to do it.
You _cannot_ use this as an excuse to pirate the entire program, much less to create your own derivative work and distribute it!
This is just wishful thinking that comes up every so often in these threads (now it is the 5th time I see this parroted here). And then, when Nintendo inevitably shuts everything down, cue the crying. This ignorance is simply setting these projects for failure.
Your interpretation, I have mine. As far as I know, none of these recompilation projects ended up in any EU court yet so your interpretation is as valid as mine.
And Nintendo can pound sand, sorry. The only realistic ways to play those aging games is on an emulator or recompilation projects nowadays.
Nintendo also didn't strike these projects, maybe they are afraid of making a precedent.
jcranmer 1 hours ago [-]
Derivative works aren't some unknowable arcane legal term. They're a pretty fundamental aspect of copyright law. The canonical examples of derivative works are things like adaptation of a book to a film, translation of a book, or a sequel.
And given these examples, it's very clear that recompilation to play on modern hardware is quite similar in spirit to translating a book into a different language, which makes it a derivative work. The other alternative is that there is insufficient creativity in the recompilation effort to merit independent copyright at all, in which case it's just plain copying of the original work. In either case, it's infringement.
AshamedCaptain 4 hours ago [-]
So, wishful thinking it is.
There is a bazillion of jurisprudence about decompilation in the EU . Just search for your favorite case. I'm based in the EU (France). But FYI, despite what you may think, in practice the US is more lax about this than the EU is.
In the EU, for example, decompilation even if you don't distribute may very well be illegal (because it would be an unauthorized temporary copy of the program); the US courts are way more lax when it comes to these temporary never-distributed copies (which are almost always fair use, a concept that doesn't exist per-se in the EU). This is a big problem in the EU for security research (which obviously does not fall into interoperability).
Emulation would be acceptable, which is yet another reason the interoperability clause does not apply (since you _already_ have a way to interoperate that doesn't require distributing copyrighted software, and the EU interoperability clause very explicitly says that then it does _not_ apply).
4 hours ago [-]
wdb 21 minutes ago [-]
Never heard of SimTower. Only knew about SimEarth, SimAnt, SimCity and SimLife
jcranmer 7 hours ago [-]
Every once a while, I get the itch to replay SimTower. Unfortunately, the latest times I've attempted, something in WINE manages to interact so poorly with the window manager that it crashes X altogether. This has led me to poke at it to consider either building my own version of WINE that doesn't crash my desktop or building my own UI on top of the existing 16-bit code in a franken-build to make it work.
I've been leaning towards the latter, partially because I have an idea to replace one of the functions that's currently implemented as a horrible irreducible CFG that's a pain to understand with... some 16-bit AVX instructions. Mostly for the amusement of saying that I have used 16-bit AVX instructions.
dude187 2 hours ago [-]
This post is very timely, as I got the itch to setup and play simtower literally last week.
I used dosbox to install Windows 3.1, then installed simtower in that. It's not the native window manager integration you'd get in wine, but worked very well. Some ui glitches but nothing that affected usability.
Worth noting I'm running Linux
jlev1 22 hours ago [-]
Wow!
There was a little-known sequel to SimTower called Yoot Tower (named after Yoot Saito). It was a commercial flop, but I played it in the 2000s and again in the 2010s and very much enjoyed it! It had a lot of added customizability (more choices of restaurants and shops, for one thing). I would love to see that game recreated.
zamadatix 20 hours ago [-]
Project Highrise is also worth checking out. It's a 2016 re-imagination of the same type of game. I'm not sure I enjoyed it as much as I did Yoot Tower... but I'm also not sure if that's just because Yoot Tower was a few decades younger back when I played :).
pixelcort 21 hours ago [-]
One of the maps in Yoot Tower is Kegon Falls. When I moved to Japan I found out it was a real place. Just took another day trip up there last month. Of course IRL it’s just an elevator but the view each season is amazing.
alfiedotwtf 6 hours ago [-]
Yoot Saito almost looks like a pseudonym for Noob Saibot
thispbowden 21 hours ago [-]
Love Yoot Tower! Can we clone it next?
patrickhulin 21 hours ago [-]
yes! I've been thinking about how to do it, but it will take some work!
DonHopkins 7 hours ago [-]
That would be wonderful! There are a lot of different versions with all kinds of extensions. A cool thing about The Tower II (a later version of Yoot Tower only released in Japan) is the ability to plug in new content, using "Tower Kit"! So it should be possible to reverse engineer its plug-in system, and plug new stuff into it, or even create a plugin adaptor so you can easily create plugins in JavaScript / HTML / etc.
"Tower Kit" was released, but I haven't been able to find an archive of the executable, just some web pages about it:
>Tower Kit is optional software for The Tower II. In The Tower II, you can select the stage where you want to start the game using the concept of a "map." The Tower II package comes with three maps: "Shinjuku Subcenter," "Hawaii Diamond Head," and "Kegon Falls," and the "Tower Kit" adds these maps. By installing this tower kit, a new stage game will begin. Tower kits don't just add more stages. Each map has new features, allowing you to play a completely new game.
>Please try the "Tower Kit" which allows for infinite variations.
>A love story between you, the person in charge of the Liberty Island redevelopment project, and two men and women who are your subordinates. Your work will have a subtle influence on the course of your love life. The Tower II is the first attempt at a crossover between redevelopment and love, set in New York. What is the ending...? [...]
alfiedotwtf 6 hours ago [-]
Your Wikipedia page and resume are incredible, and then to see you on HN with so much enthusiasm. If only I even had a tenth of your experience and energy!
dsl 12 hours ago [-]
It is missing the most important function.
If the first tile you build is a lobby in the bottom left corner, it is supposed to double your starting money. :)
ashdnazg 12 hours ago [-]
The real question is how many other things it's missing.
Reading the process in TFA, it's very much dependent on the comprehensiveness of the testing framework. And apparently, the tests never built a lobby in the bottom left corner...
Anything else it didn't try, is probably also not documented and not implemented.
With the growing use of AI in reverse engineering, we might need to shift our goals to more strongly verifiable ones, such as matching decompilation.
lesuorac 6 hours ago [-]
I would bet a lot.
My memory is that you could make multi-level lobbies on the first floor and you'd end up with like a grand staircase.
Yeah the simulation also seems to have some bugs. I saw a person get stuck waiting for an elevator for hours when all the elevators were idle. He got more and more pissed off until he eventually despawned overnight.
I agree that you need to be able to produce source code that matches the original binary before you can start porting things.
LandR 8 hours ago [-]
Was this a thing?
I never knew this!!
Man, pre big-internet was so hard to find information on games. I remember for the original tomb raider a friend needed a guide, so I wrote and printed out them a guide for the full game, since I played it pretty obsessively.
disillusioned 11 hours ago [-]
Literally the first thing I tried. :-/
petercooper 5 hours ago [-]
I did something similar, though at a much smaller scale, with Windows 3.1 Solitaire a few weeks ago, both to see how possible it is (with LLMs) and also to learn about Ghidra for myself. Sadly, I discovered nothing new that wasn't already surfaced through previous reverse engineering, but did turn it into a behavior-equivalent (almost, Draw One by default, and I got lazy with Vegas scoring) Web port: https://peterc.org/solitaire/ (you can press W to trigger the win animation without winning, just for laughs)
I can certainly believe a much larger app like SimTower could overwhelm an LLM-based process without a lot of handholding as even Solitaire required a fair bit of that from me. I'm hoping to take on 1991's A-Train next (the game that inpired SimCity 2000's interface).
swyx 16 hours ago [-]
> This project used an absolutely ridiculous number of tokens. I had to upgrade to the Claude Code $200/month plan and carefully avoid usage in the 8 AM-2 PM 2x peak window.
that doesnt sound too terrible to be honest. TIL that 8am-2pm is 2x usage.
dwedge 12 hours ago [-]
I want someone to do this with SimCopter. I loved that game but I don't think it was very popular
SimCopter was the best game!! You could even fly around your own simcity build!
grogenaut 16 hours ago [-]
I played when I was a kid. I figured out you could just build condos like crazy and make money pause build more, and repeat, get tons of money, build all the way up. But I couldn't figure out how to get people to the top level for that achievement.
I'm gonna Google that and see what I got wrong
manwe150 15 hours ago [-]
I see to recall it being an express elevator to floor 90 (multiple of 15), then a short regular elevator for the rest of the way to the cathedral. I beat the game several times, usually with the 100% lowest-cost office build.
alfiedotwtf 6 hours ago [-]
I spent many many hours on SimTower. I think the end was when the Pope stayed in your penthouse
MrPowerGamerBR 18 hours ago [-]
Just a fyi for anyone that doesn't know: A few years back Don Hopkins got the permission from Yoot Saito to open source Yoot Tower, SimTower's sequel: https://github.com/YootTowerManagement/YootTower
...however I don't think that the source was ever published anywhere, considering that the repository still doesn't have the source code yet. ("Please check out the YootTower repo, where I'll publish the source code once it's cleaned up, reviewed and approved by Yoot, and relicensed with the MIT licensed.")
DonHopkins 12 hours ago [-]
I spoke with Yoot about it recently. There are some issues with Nintendo and licensing that may take some time to work through. My fingers are crossed, but it might take a while and require patience. We all want it to happen though!
Meanwhile I'm working on Micropolis (based on the original SimCity Classic code, cleaned up, and compiled with Emscripten into WASM), and also reimplementing The Sims character animation system and content management and creation system in TypeScript with WebGPU and MOOLLM. ;)
Designs for creating LLM driven Sims content editing and creation tools, uplifting and simulating The Sims in MOOLLM, and downloading The Sims content back into the original game:
>"What would your Sims say if they could finally talk to you?"
>Two-way bridge between The Sims 1 save files and MOOLLM. Characters, objects, and pets step between a 26-year-old game VM and an LLM-powered universe, retaining and synchronizing their parallel existences.
>The One-Line Version
>Drag a 25-year-old Sims save file in. Watch the character wake up. Have a conversation with them. Send them home changed.
It's all still a work in progress that I hack on when I have spare time (and spare money for tokens), so no ship date known! ;)
DaiPlusPlus 5 hours ago [-]
> I spoke with Yoot about it recently
(I said "Wow!" in my head, if that means anything; I'm just used to games-designers of mid-1990s all being virtual recluses by now - or long into retirement).
May I ask a few things about SimTower that have been stuck with me since I was 9 years old (and my apologies if these questions have been asked already):
* What's stopping the source-code to the Win95/MacOS SimTower being released? I assumed Yoot retained core IP rights because Maxis was largely a re-packager and distributor... but if Maxis did buy the copyright to the source then it would sit with EA now - and EA themselves have been surprisingly cool with open-sourcing lately (Command & Conquer, etc) so could we see something happen on this front?
* Why did SimTower's ground lobbies and sky-lobbies get completely different artwork - but only for the first few hundred pixels - if you build offset from the left-edge of the map? And what are the different objects in the lobby artwork meant to be? I'm not sure if I'm looking at a row of green cash-registers or payphones - or something else.
* What inspired the endgame victory condition? (...do any towers in real-life have a consecrated cathedral on their summits? it just seemed an odd thing overall, even moreso given that Japan and Japanese urban (and urban-planning) culture doesn't make me suddenly think of Christianity.
(I now feel embarrassed for getting all fanboyish around you, lol; sorry!)
ndiddy 7 hours ago [-]
If there's legal problems with releasing the Nintendo console ports, would it be possible to just release the code for the PC/Mac versions?
DonHopkins 12 hours ago [-]
Also, Fabian Wesner's posted about using Claud Code to analyze the original micropolis repo's code and documentation to generate a new version.
Here is a deep dive "podcast" he generated (presenting Claud's analysis in a conversational format) that describes the work. I listened to it, and it got the important trademark and licensing issues right, was quite comprehensive and technically accurate, up until the end where they said maybe there's something to learn about city planning from SimCity! ;)
This lightning talk I gave at HAR 2009 goes into what you can actually learn from playing SimCity/Micropolis (and reading and extending the code), thanks to Seymour Papert's and Alan Kay's philosophy of Constructionist Education, and it's much wider and more generally useful than just city planning:
To save you the indignity of LinkedIn scraping your browser extensions, here is a copy of Fabian Wesner's post and my response with the link spying urls resolved:
Fabian Wesner |
CTO | Passionate about AI and Entrepreneurship | 1 month ago
Claude Code is extremely good at documenting legacy software. That's a huge blessing, especially when the original developers are no longer around or are finally ready to retire.
If you haven't tried this, you might be missing out. So I did it for you.
#Micropolis is the open-source release of the original #SimCity, published by Electronic Arts in 1989. EA released the source code under GPLv3 in 2008 for the One Laptop Per Child project. The codebase is decades old, and there's likely no one left who knows it inside out.
SimCity was one of the very first games I played, back in 1990 on my father's 286. Just a few months after the Wall fell. So this one is personal.
I let Claude Code read the entire codebase and write a full documentation. As far as I can see, it looks correct and complete. I'm no expert on this particular codebase, but that's exactly the point: there might be no expert left on earth. I have tried this on other software where I am an expert, and the results are surprisingly accurate.
I know I’m not the first to use Claude Code on this treasure and - of course - I already rebuilt the game with JavaScript.
More on this tomorrow!
Don Hopkins | Full Stack Generalist AI Engineer
Although I may have two feet firmly planted in mid-air, I am still on Earth and know the code. I reviewed it and am I'm impressed with this documentation, which even caught my experimental Eliza chatbot easter egg in the PyGTK version! Importantly it correctly covered all the licensing and trademark issue, and mentioned that active development has moved on to the cleaned up and renovated MicropolisCore repo.
The documentation you generated does a good job at mapping out and comparing the several different versions of the code. Albert Hofkamp and I cleaned up and refactored the code into C++ MicropolisCore (which I integrated with Python with SWIG, and later WebAssembly with emscripten/embind), and we wrote Doxygen comments and documentation in the code.
Chaim Gingold deeply studied multiple versions of the SimCity source code for his PhD thesis in Play Design, and interviewed many people involved, then wrote the definitive magnum opus "Building SimCity". Chaim is the one person on Earth who understands SimCity better than Will Wright!
>Building SimCity: How to Put the World in a Machine
>A deep dive into the trailblazing simulation game SimCity, situating it in the history of games, simulation, and computing. Building SimCity explores the ...
Good grief you can't hide easter eggs any more!
"Additionally, the web version includes:
PacBot -- an AI robot that follows roads toward heavy traffic and "eats" cars, reducing traffic density. This was an early experiment in programmable game avatars."
>Micropolis Online (SimCity) Web Demo. A demo of the open source Micropolis Online game (based on the original SimCity Classic source code from Maxis), running on a web...
DonHopkins 10 hours ago [-]
At 3:35 I love how the speech synthesizer mispronounces "CherryPy" as "Cherry Pee".
> First, the AI makes premature conclusions about subsystems, records them, and then struggles to figure out when to abandon its earlier guesses.
This perfectly describes what feels off to me about Opus 4.7 (unsure if that’s what you are using). It seems to go down an incorrect path, I correct it, but it still references things from it. Trying to direct it back becomes a mess.
Has anyone experience this as well or am I going crazy? Doesn’t happen with 4.6 for me.
appplication 15 hours ago [-]
I’ve had not great experiences with Opus 4.7. It seems the model is overall less effective at reliably delivering via my standard way of interacting, and it also forgets things it was asked several times, even just minutes after being reminded again (e.g. “don’t in-line imports”).
I’m probably holding it wrong, but I think a given a sufficiently advanced AI it would essentially be impossible to use it incorrectly. Feels like a step backwards in this regard.
findalex 23 hours ago [-]
I loved this game so much. Can't wait to see Santa.
DonHopkins 10 hours ago [-]
It would be great for the movie theater to be able to play any video synchronized across multiple players so you can watch it together, like the awesome movie theater in Cursor Camp. Then we could all watch the extremely weird original SimTower movies together, in their 8-bit error diffusion dithered glory:
Yoot interviewed many interesting people for MACWORLD Japan, like Joanna Hoffman, Bill Atkinson, Steve Wozniak, Douglas Engelbart, and Alan Kay. Here's a transcript of Yoot Saito's interview of Alan Kay that he shared with me and I cleaned up and linked out:
A Journey Through Computing History with Yoot Saito and Alan Kay
Yoot towers wisely,
Alan constructs the future --
foundations of change.
Introduction
In this captivating interview from 1993, recently unearthed and previously published only in Japan, renowned game designer Yutaka "Yoot" Saito of MACWORLD Japan engages with computing pioneer Alan Kay in a deep exploration of technology's past and future. This dialogue, captured on a cassette tape and transcribed, spans the evolution of personal computing, highlighting groundbreaking advancements and visionary ideas that have shaped modern technology. Yoot Saito, celebrated for his innovative approach to game design, and Alan Kay, known for his seminal contributions such as the development of the graphical user interface and the concept of the Dynabook, offer profound insights into both the historical trajectory and the potential futures of the digital world. This interview serves as a treasure trove of historical anecdotes, philosophical reflections, and forward-looking innovations, capturing a moment when two brilliant minds discussed the dynamics of technological progress.
----
I'd love to find all of Yoot's original interviews published in MacWorld Japan. Yoot was very active introducing and working with technology and researchers from the US with Japan in the early days of the Mac, and he pioneered psychological chat based AI games using voice recognition and synthesis, like Seaman.
Seaman - Sega's Strangest Expedition Into Artificial Intelligence:
I found a couple of MacWorld Japan CDROM archives on Internet Archive, but my Mac says it can't mount the iso files. It appears to be an old HFS file system -- does anybody know how to to mount these treasures on a modern mac, with an emulator maybe? Or have the actual magazines lying around?
MACWORLD-VOL-1-1995-01.iso: Apple Driver Map, blocksize 512, blockcount 460003, devtype 0, devid 0, driver count 0, contains[@0x200]: Apple Partition Map, map block count 2, start block 1, block count 2, name Quick TOPiX by OMI, type Apple_partition_map, valid, allocated, readable, contains[@0x400]: Apple Partition Map, map block count 2, start block 3, block count 460000, name MACWORLD-ROM Vol. 1, type Apple_HFS, valid, allocated, readable
Dwedit 18 hours ago [-]
I remember that SimTower (Windows 3.1 version) would briefly draw the dialog boxes in Japanese, then immediately redraw it in English. This was on a computer without any Japanese fonts.
taejavu 23 hours ago [-]
Very cool! I used to play this game for a few minutes every morning at a friends place before school. With the clone being open source, would you be open to QoL patches? I don’t have anything specific in mind, just curious how close to the original you want to stay.
patrickhulin 21 hours ago [-]
Patches are welcome, especially for UI stuff - the simulation I'd like to keep matching exactly. I have one deviation already: the floors are 0-indexed and lobbies are on 15, 30, ..., which would be 16, 31, ... in the original game.
efromvt 20 hours ago [-]
Can you still build a garage in the bottom corner to get more starting money??
ok_dad 14 hours ago [-]
I love you this was the best sim game when I was a kid and now I’ll spend my weekend on your site!
rho4 12 hours ago [-]
You can only serve the 3 closest levels to a lobby with stairs or escalators.
ChickeNES 15 hours ago [-]
Heh, I have four different games I am currently experimenting with, luckily I skipped this one as I am still expecting the original/Yoot source will be published (hopefully DonHopkins sees this and it nudges him to get it uploaded!).
Amazing, loved this game when I was younger. I would keep restarting every time I thought of a more effective layout.
I don't think I ever made it to the cathedral though.
ryeguy_24 23 hours ago [-]
Oh my gosh, this really brought me back. Haven't played that game in 30 years. What a great use of AI. Thanks for the trip down memory lane.
EdwardDiego 17 hours ago [-]
I sunk ages into "the world's most brutal elevator simulator" - how does the game model elevator demand? I always wondered if it was some sort of Poisson distribution.
madcaptenor 5 hours ago [-]
I had SimTower but could never quite figure it out - might be time to give it another shot.
23 hours ago [-]
3 days ago [-]
mfgadv99 8 hours ago [-]
[dead]
immanuwell 13 hours ago [-]
[flagged]
SuperNinKenDo 20 hours ago [-]
[flagged]
I_am_uncreative 19 hours ago [-]
What's with the edit?
cozzyd 19 hours ago [-]
Judging from user's posting history, they're not the biggest fans of llms
This is kind of the perfect use case though -- it's a game who cares if it's right or not.
DonaldPShimoda 18 hours ago [-]
Some people also have moral issues with LLMs. If the poster is such a person, the accuracy metric may simply be irrelevant.
yesitcan 21 hours ago [-]
[flagged]
iamjs 21 hours ago [-]
This is an unnecessarily rude, dismissive, and low value comment. I loved this game growing up and I think it's fantastic to see this work. I don't find it particularly relevant whether or not a language model was involved.
> I didn’t want to do a function-by-function port. First, APIs may be copyrightable - and copying a binary that closely might implicate copyright more than an approach closer to clean-room design. But it was clear that I needed some level of feedback from the ground-truth binary in order to provide a hill for the LLM to climb on the reimplementation.
Interesting, but isn't this what, say, the Ocarina of Time reverse engineer port does[1]? I imagine the fact that this hasn't been served a takedown notice from Nintendo is a proof that it's defensible? Or at least that there's precedent, ha.
Anyway, this is really cool. I genuinely think the only thing that's missing for me to waste an afternoon here is the sound effects!
[1]: https://github.com/zeldaret/oot
Didn't Google v. Oracle disprove this?
It is like claiming that compiling Samba to run in $NEW_PLATFORM suddenly strips Samba of the GPLv3.
And then for the legal part, that's why it's called an exception.
And again, where is the interoperability here? Interoperability exception would apply if there was whitebox cryptography, Nintendo logo-style things or anything else where the only method for the work to run would be to violate copyright of _exactly that_. Under no circumstances you can simply copy & distribute the entire work (or derivates) while claiming "interoperability exception!". It makes utterly no sense.
And then for the interoperability, these decompilation projects are primarily made to target other systems, not the original platform. That's the textbook definition of interoperability.
Let's be real, N64 and the PS1/PS2 (where most of these projects are based) are crumbling old platforms at this point and these projects are sometimes the best way to run games when they exist.
The exception for interoperability only applies to _the minimum required_ for interoperability. You can use this exception to distribute e.g. game authorization code even if copyright would not allow you to do it.
You _cannot_ use this as an excuse to pirate the entire program, much less to create your own derivative work and distribute it!
This is just wishful thinking that comes up every so often in these threads (now it is the 5th time I see this parroted here). And then, when Nintendo inevitably shuts everything down, cue the crying. This ignorance is simply setting these projects for failure.
https://news.ycombinator.com/item?id=45643106
And Nintendo can pound sand, sorry. The only realistic ways to play those aging games is on an emulator or recompilation projects nowadays.
Nintendo also didn't strike these projects, maybe they are afraid of making a precedent.
And given these examples, it's very clear that recompilation to play on modern hardware is quite similar in spirit to translating a book into a different language, which makes it a derivative work. The other alternative is that there is insufficient creativity in the recompilation effort to merit independent copyright at all, in which case it's just plain copying of the original work. In either case, it's infringement.
There is a bazillion of jurisprudence about decompilation in the EU . Just search for your favorite case. I'm based in the EU (France). But FYI, despite what you may think, in practice the US is more lax about this than the EU is.
In the EU, for example, decompilation even if you don't distribute may very well be illegal (because it would be an unauthorized temporary copy of the program); the US courts are way more lax when it comes to these temporary never-distributed copies (which are almost always fair use, a concept that doesn't exist per-se in the EU). This is a big problem in the EU for security research (which obviously does not fall into interoperability).
Emulation would be acceptable, which is yet another reason the interoperability clause does not apply (since you _already_ have a way to interoperate that doesn't require distributing copyrighted software, and the EU interoperability clause very explicitly says that then it does _not_ apply).
I've been leaning towards the latter, partially because I have an idea to replace one of the functions that's currently implemented as a horrible irreducible CFG that's a pain to understand with... some 16-bit AVX instructions. Mostly for the amusement of saying that I have used 16-bit AVX instructions.
I used dosbox to install Windows 3.1, then installed simtower in that. It's not the native window manager integration you'd get in wine, but worked very well. Some ui glitches but nothing that affected usability.
Worth noting I'm running Linux
There was a little-known sequel to SimTower called Yoot Tower (named after Yoot Saito). It was a commercial flop, but I played it in the 2000s and again in the 2010s and very much enjoyed it! It had a lot of added customizability (more choices of restaurants and shops, for one thing). I would love to see that game recreated.
"Tower Kit" was released, but I haven't been able to find an archive of the executable, just some web pages about it:
https://web.archive.org/web/20000229064305fw_/http://www.ope...
https://web.archive.org/web/20000311043425/http://www.openbo...
https://web.archive.org/web/20000310234154/http://www.openbo...
https://web.archive.org/web/20000521002924fw_/http://www.ope...
There's even a monster movie version of "The Tower II Special Gamera Pack" released with “Gamera 3: Revenge of the Iris”!
https://en.wikipedia.org/wiki/Gamera_3:_Revenge_of_Iris
Here's a summary of Tower Kit:
https://github.com/YootTowerManagement/YootTower/blob/main/R...
>What's Tower Kit?
>Tower Kit is optional software for The Tower II. In The Tower II, you can select the stage where you want to start the game using the concept of a "map." The Tower II package comes with three maps: "Shinjuku Subcenter," "Hawaii Diamond Head," and "Kegon Falls," and the "Tower Kit" adds these maps. By installing this tower kit, a new stage game will begin. Tower kits don't just add more stages. Each map has new features, allowing you to play a completely new game.
>Please try the "Tower Kit" which allows for infinite variations.
>A love story between you, the person in charge of the Liberty Island redevelopment project, and two men and women who are your subordinates. Your work will have a subtle influence on the course of your love life. The Tower II is the first attempt at a crossover between redevelopment and love, set in New York. What is the ending...? [...]
If the first tile you build is a lobby in the bottom left corner, it is supposed to double your starting money. :)
Reading the process in TFA, it's very much dependent on the comprehensiveness of the testing framework. And apparently, the tests never built a lobby in the bottom left corner...
Anything else it didn't try, is probably also not documented and not implemented.
With the growing use of AI in reverse engineering, we might need to shift our goals to more strongly verifiable ones, such as matching decompilation.
My memory is that you could make multi-level lobbies on the first floor and you'd end up with like a grand staircase.
Edit: Apparently just pillars no staircase - https://old.reddit.com/r/SimTower/comments/1q63yvc/a_nice_to...
I agree that you need to be able to produce source code that matches the original binary before you can start porting things.
I never knew this!!
Man, pre big-internet was so hard to find information on games. I remember for the original tomb raider a friend needed a guide, so I wrote and printed out them a guide for the full game, since I played it pretty obsessively.
I can certainly believe a much larger app like SimTower could overwhelm an LLM-based process without a lot of handholding as even Solitaire required a fair bit of that from me. I'm hoping to take on 1991's A-Train next (the game that inpired SimCity 2000's interface).
that doesnt sound too terrible to be honest. TIL that 8am-2pm is 2x usage.
I'm gonna Google that and see what I got wrong
...however I don't think that the source was ever published anywhere, considering that the repository still doesn't have the source code yet. ("Please check out the YootTower repo, where I'll publish the source code once it's cleaned up, reviewed and approved by Yoot, and relicensed with the MIT licensed.")
Meanwhile I'm working on Micropolis (based on the original SimCity Classic code, cleaned up, and compiled with Emscripten into WASM), and also reimplementing The Sims character animation system and content management and creation system in TypeScript with WebGPU and MOOLLM. ;)
Micropolis WASM + WebGL tile renderer demo:
https://micropolisweb.com
MicropolisCore repo:
https://github.com/SimHacker/MicropolisCore
Micropolis design docs:
https://github.com/SimHacker/MicropolisCore/tree/main/design...
Sims character animation demo with WebGPU renderer:
https://vitamoo.space
Source code:
https://github.com/DnfJeff/SimObliterator_Suite/tree/main/vi...
Design docs:
https://github.com/DnfJeff/SimObliterator_Suite/tree/main/vi...
Designs for creating LLM driven Sims content editing and creation tools, uplifting and simulating The Sims in MOOLLM, and downloading The Sims content back into the original game:
https://github.com/SimHacker/moollm/tree/main/designs/sim-ob...
>"What would your Sims say if they could finally talk to you?"
>Two-way bridge between The Sims 1 save files and MOOLLM. Characters, objects, and pets step between a 26-year-old game VM and an LLM-powered universe, retaining and synchronizing their parallel existences.
>The One-Line Version
>Drag a 25-year-old Sims save file in. Watch the character wake up. Have a conversation with them. Send them home changed.
The Uplift: Sims ↔ MOOLLM Character Bridge
https://github.com/SimHacker/moollm/blob/main/designs/sim-ob...
It's all still a work in progress that I hack on when I have spare time (and spare money for tokens), so no ship date known! ;)
(I said "Wow!" in my head, if that means anything; I'm just used to games-designers of mid-1990s all being virtual recluses by now - or long into retirement).
May I ask a few things about SimTower that have been stuck with me since I was 9 years old (and my apologies if these questions have been asked already):
* What's stopping the source-code to the Win95/MacOS SimTower being released? I assumed Yoot retained core IP rights because Maxis was largely a re-packager and distributor... but if Maxis did buy the copyright to the source then it would sit with EA now - and EA themselves have been surprisingly cool with open-sourcing lately (Command & Conquer, etc) so could we see something happen on this front?
* Why did SimTower's ground lobbies and sky-lobbies get completely different artwork - but only for the first few hundred pixels - if you build offset from the left-edge of the map? And what are the different objects in the lobby artwork meant to be? I'm not sure if I'm looking at a row of green cash-registers or payphones - or something else.
* What inspired the endgame victory condition? (...do any towers in real-life have a consecrated cathedral on their summits? it just seemed an odd thing overall, even moreso given that Japan and Japanese urban (and urban-planning) culture doesn't make me suddenly think of Christianity.
(I now feel embarrassed for getting all fanboyish around you, lol; sorry!)
Here is a deep dive "podcast" he generated (presenting Claud's analysis in a conversational format) that describes the work. I listened to it, and it got the important trademark and licensing issues right, was quite comprehensive and technically accurate, up until the end where they said maybe there's something to learn about city planning from SimCity! ;)
https://drive.google.com/file/d/1SGAkLIb4CQMPKU7TJ2sRdEjc0Dh...
It pretty much parallels the analysis docs in his repo, which are also quite accurate:
https://github.com/FabianWesner/micropolis/tree/master/docs
This lightning talk I gave at HAR 2009 goes into what you can actually learn from playing SimCity/Micropolis (and reading and extending the code), thanks to Seymour Papert's and Alan Kay's philosophy of Constructionist Education, and it's much wider and more generally useful than just city planning:
https://donhopkins.medium.com/har-2009-lightning-talk-transc...
To save you the indignity of LinkedIn scraping your browser extensions, here is a copy of Fabian Wesner's post and my response with the link spying urls resolved:
https://www.linkedin.com/posts/fabian-wesner_micropolis-simc...
Fabian Wesner | CTO | Passionate about AI and Entrepreneurship | 1 month ago
Claude Code is extremely good at documenting legacy software. That's a huge blessing, especially when the original developers are no longer around or are finally ready to retire.
If you haven't tried this, you might be missing out. So I did it for you.
#Micropolis is the open-source release of the original #SimCity, published by Electronic Arts in 1989. EA released the source code under GPLv3 in 2008 for the One Laptop Per Child project. The codebase is decades old, and there's likely no one left who knows it inside out.
SimCity was one of the very first games I played, back in 1990 on my father's 286. Just a few months after the Wall fell. So this one is personal.
I let Claude Code read the entire codebase and write a full documentation. As far as I can see, it looks correct and complete. I'm no expert on this particular codebase, but that's exactly the point: there might be no expert left on earth. I have tried this on other software where I am an expert, and the results are surprisingly accurate.
You can find the resulting docs and the prompt here: https://github.com/FabianWesner/micropolis/tree/master/docs
I also converted the docs into a podcast episode for easier consumption:
https://drive.google.com/file/d/1SGAkLIb4CQMPKU7TJ2sRdEjc0Dh...
Enjoy!
I know I’m not the first to use Claude Code on this treasure and - of course - I already rebuilt the game with JavaScript.
More on this tomorrow!
Don Hopkins | Full Stack Generalist AI Engineer
Although I may have two feet firmly planted in mid-air, I am still on Earth and know the code. I reviewed it and am I'm impressed with this documentation, which even caught my experimental Eliza chatbot easter egg in the PyGTK version! Importantly it correctly covered all the licensing and trademark issue, and mentioned that active development has moved on to the cleaned up and renovated MicropolisCore repo.
https://github.com/SimHacker/MicropolisCore
Here are the latest design docs:
https://github.com/SimHacker/MicropolisCore/tree/main/design...
The documentation you generated does a good job at mapping out and comparing the several different versions of the code. Albert Hofkamp and I cleaned up and refactored the code into C++ MicropolisCore (which I integrated with Python with SWIG, and later WebAssembly with emscripten/embind), and we wrote Doxygen comments and documentation in the code.
Chaim Gingold deeply studied multiple versions of the SimCity source code for his PhD thesis in Play Design, and interviewed many people involved, then wrote the definitive magnum opus "Building SimCity". Chaim is the one person on Earth who understands SimCity better than Will Wright!
https://direct.mit.edu/books/monograph/5791/Building-SimCity...
>Building SimCity: How to Put the World in a Machine
>A deep dive into the trailblazing simulation game SimCity, situating it in the history of games, simulation, and computing. Building SimCity explores the ...
Good grief you can't hide easter eggs any more!
"Additionally, the web version includes: PacBot -- an AI robot that follows roads toward heavy traffic and "eats" cars, reducing traffic density. This was an early experiment in programmable game avatars."
PacBot appears one minute into this video:
https://youtu.be/8snnqQSI0GE?t=56
>Micropolis Online (SimCity) Web Demo. A demo of the open source Micropolis Online game (based on the original SimCity Classic source code from Maxis), running on a web...
https://drive.google.com/file/d/1SGAkLIb4CQMPKU7TJ2sRdEjc0Dh...
https://docs.cherrypy.dev/en/latest/
You lost me there
I’ll have to check this out!
This perfectly describes what feels off to me about Opus 4.7 (unsure if that’s what you are using). It seems to go down an incorrect path, I correct it, but it still references things from it. Trying to direct it back becomes a mess.
Has anyone experience this as well or am I going crazy? Doesn’t happen with 4.6 for me.
I’m probably holding it wrong, but I think a given a sufficiently advanced AI it would essentially be impossible to use it incorrectly. Feels like a step backwards in this regard.
https://www.youtube.com/watch?v=qq8o7gg87k4
Condom Duck:
https://youtu.be/qq8o7gg87k4?t=211
Psycho Party:
https://youtu.be/qq8o7gg87k4?t=381
Cursor Camp (recent hn discussion and neil.fun link):
https://news.ycombinator.com/item?id=47949939
https://neal.fun/cursor-camp/
Also, LGR did these great reviews of SimTower and Yoot Tower, which he truly loves, so he disclaims that they are not exactly non-biased:
LGR - SimTower - PC Game Review (15 years ago):
https://www.youtube.com/watch?v=_4ToEDrhxo0
LGR - Yoot Tower: The Sequel to SimTower (5 years ago):
https://www.youtube.com/watch?v=CqNECXCd9iU
Yoot interviewed many interesting people for MACWORLD Japan, like Joanna Hoffman, Bill Atkinson, Steve Wozniak, Douglas Engelbart, and Alan Kay. Here's a transcript of Yoot Saito's interview of Alan Kay that he shared with me and I cleaned up and linked out:
https://github.com/YootTowerManagement/YootTower/blob/main/Y...
A Journey Through Computing History with Yoot Saito and Alan Kay
IntroductionIn this captivating interview from 1993, recently unearthed and previously published only in Japan, renowned game designer Yutaka "Yoot" Saito of MACWORLD Japan engages with computing pioneer Alan Kay in a deep exploration of technology's past and future. This dialogue, captured on a cassette tape and transcribed, spans the evolution of personal computing, highlighting groundbreaking advancements and visionary ideas that have shaped modern technology. Yoot Saito, celebrated for his innovative approach to game design, and Alan Kay, known for his seminal contributions such as the development of the graphical user interface and the concept of the Dynabook, offer profound insights into both the historical trajectory and the potential futures of the digital world. This interview serves as a treasure trove of historical anecdotes, philosophical reflections, and forward-looking innovations, capturing a moment when two brilliant minds discussed the dynamics of technological progress.
----
I'd love to find all of Yoot's original interviews published in MacWorld Japan. Yoot was very active introducing and working with technology and researchers from the US with Japan in the early days of the Mac, and he pioneered psychological chat based AI games using voice recognition and synthesis, like Seaman.
Seaman - Sega's Strangest Expedition Into Artificial Intelligence:
https://www.youtube.com/watch?v=VV0zpPSXOx4
Yoot Saito on His Classic Sega Game Where You Take Abuse from a Fish:
https://www.vice.com/en/article/yoot-saito-on-his-classic-se...
I found a couple of MacWorld Japan CDROM archives on Internet Archive, but my Mac says it can't mount the iso files. It appears to be an old HFS file system -- does anybody know how to to mount these treasures on a modern mac, with an emulator maybe? Or have the actual magazines lying around?
https://archive.org/details/macworld-japan-vol-1-1995-01
https://archive.org/details/macworld-japan-vol-2-1995-09
MACWORLD-VOL-1-1995-01.iso: Apple Driver Map, blocksize 512, blockcount 460003, devtype 0, devid 0, driver count 0, contains[@0x200]: Apple Partition Map, map block count 2, start block 1, block count 2, name Quick TOPiX by OMI, type Apple_partition_map, valid, allocated, readable, contains[@0x400]: Apple Partition Map, map block count 2, start block 3, block count 460000, name MACWORLD-ROM Vol. 1, type Apple_HFS, valid, allocated, readable
https://news.ycombinator.com/item?id=47970301
I don't think I ever made it to the cathedral though.
This is kind of the perfect use case though -- it's a game who cares if it's right or not.