SimRefinery Recovered
obscuritory.com
obscuritory.com
> The operators at the refinery sometimes had trouble getting a big picture for what was happening at the plant beyond their particular area of focus. “The whole goal if this was to teach operators that they are part of a bigger system,” Skidmore said. “Their concern at the time was that operators tended to be very focused on their one plant, and their one thing they do, and so [they] weren’t keeping in mind that what they do affected other parts of the plant. So they wanted a training tool that allowed operators to manipulate inputs and outputs of the various pieces of the refinery process to see how they impact.”
> The non-technical staff at the Richmond refinery needed to know how it worked too. The people in human resources and accounting weren’t chemical engineers, but it would help their work to see how the different areas of the plant were networked together, how one department affected another department.
https://news.ycombinator.com/item?id=23236132
I'm really glad to hear that the game was recovered because of this!
People become bored and [hence] less productive doing the exact same work -- moving them to other areas of the line improves productivity.
There's an ancillary benefit in reducing friendships which can be a productivity sink, profit-focused businesses want people to be friendly - committed to their colleagues - but not spending all day chatting.
Also moving people improves "bus factors".
Having people better trained to do more things is better for everyone- employees and company. People are going to form friendships regardless of whether you rotate or not, and you're going to be bored doing factory work, hands down, no doubt about it. Different people have different methods for getting through it, but you can't not be bored even with a different position every day.
Along with an ML training pipeline where you can train the figures in the sim to behave similarly to certain people in the office and a prediction phase where you can ask "what if"-s type of questions :)
There's also Human Resource Machine if you like programming games.
And Shenzen I/O gets you that dank working-in-an-office vibe with e-mails, Solitaire, and an employee handbook.
Looks like this worker needs some training!
Lots of jargon, buzzwords, and abbreviations, and very little documentation explaining what they mean. It's possible that had Chevron continued their partnership with Maxis, SimRefinery would've included a mode, or at least improved documentation, that introduced these concepts to non-technical staff in a way that could be understood, but that never happened.
A major piece of the game is moving people from point A to point B, usually via elevators. If you happen to click into the control panels behind the elevators you find a whole, very different, complex control panel with its own UI. That turns out to be because SimTower was built around a pre-existing elevator sim[2] that's complex enough to have its own guidebooks on the web.
[1] https://en.wikipedia.org/wiki/SimTower
[2] https://web.archive.org/web/20090916193335/http://www.gamasu...
The DOS version can be played on archive.org, but I'm not sure if it's possible to get the Windows version anymore.
https://archive.org/details/msdos_Oakflat_Nuclear_Power_Plan...
Is really relaxing to play them from time to time
Did enjoy Farming Simulator as well, even if the version of the game I played looked like it was made 20 years ago. I wonder if the latest one is any better, I think I got it with PS Plus the other day.
The main training tasks were spatial orientation in the large 3D maze that was the mine, as well as hazard recognition and safety /;emergency training. E.g. knowing which way to go if an explosion occurred and how to avoid being crushed by the large vehicles that moved through the mine.
The main unexpected development cost turned out to be the high degree of customisation required of the virtual assets, in particular the signage. Every tunnel and shaft had individual location and safety info on signs, and these had to be correct or the training value was lost.
I can imagine a complete mine recreation would be a huge development effort - especially with how huge they get. Is that something that like a camera drone could scan? i guess it could get the topology figured out with some special software, but could it get the signs and landmarks too? Can drones fly effectively in a mine?
IIRC the customers supplied the primary graphics content for the signs digitally from their own files; the underestimated development cost was finding and editing the appropriate instances of the signpost objects. The corridor rock walls were a generic texture. There were also lots of physical 'emergency exit this way' indicators (e.g. arrow shapes that could be felt by touch in darkness) on railings. These were instanced as well, but the direction had to be checked.
> Can drones fly effectively in a mine?
No idea but think lots of corridors with short Line Of Sight. Probably easier now to use Lidar or similar.
[Edit] Also, some of the signs were dynamic, e.g. "Checked by X on date Y" and needed to be updated in a scenario-specific way.
This sounds kind of like "worse is better". it got me thinking about user interactions, both gui and physical objects, from the angle of "what if I had to make these as 3D assets?"
Screens suffer from limited real estate. But what could eg a CI pipeline dash look like in VR? You could have a whole virtual "control board" like a power plant.
The general workflow I have seen would be familiar to anyone in game or animation pipelines. A team models from the mine layout map in traditional 3D tools (e.g. Blender, 3DS Max) this may be combined with telemetry information from cutting machines (distances, seam heights, cutting rates etc) and then add additional visualization and environmental affects in game engine such as Unity or Unreal for example adding particle systems for dust etc. There are also industry specific specialist simulation and training engines.
If you are working with an equipment manufacturer, equipment models are usually converted from CAD data, then UV mapped, textured and keyframed either in traditional 3D tools or use programmed procedural animation in engine. Though you can purchase equipment model assets - features have to match depending on training fidelity. Equipment control is usually matched to actual physical controllers - so you read the input from a real world controller and trigger the corresponding virtual model animation in the virtual environment. The mining equipment manufacturers have training teams who create the assets and could configure layouts for specific client scenarios. As KineticLensmen pointed out - its the last stage of customization for specifics that usually takes longest since its crucial for the spatial awareness of teams being trained.
https://www.washingtonpost.com/archive/business/1988/03/21/s...
(I did find some download links for various things labeled as "borland sidekick", but I'm going to guess you've been down this road already.)
Thanks for your efforts! Yes I did go down that route, but not with much success.
(The game itself, ‘PLBM Pong’, had settings for many parameters, e.g. the initial speed and acceleration on each turn—so you could start at a crawl pace and proceed to test your reaction speed. PLBM turned out to be a one-man operation.)
However, there's an annoyance that, although lots of pages have uniform infoboxes, you can't just ‘query’ pages in a category by an infobox field, or sort them by one—like the release year for games. At least I haven't found such a service, and Wikidata has less info. However you can rig something up with the API: e.g. the wptools package for Python parses infoboxes before you even ask it specifically.
I obtained disk images for SideKick plus from https://winworldpc.com/product/sidekick/plus. Using 86Box as an emulator (Window-only, unfortunately. PCem or DosBox might work OK as Windows alternatives), I then:
1. Installed MS-DOS
2. Installed SideKick Plus
3. Ran 'install' from 'c:\skplus'
4. Added a new configuration with Vogon Poetry enabled. Called it 'skplus2.com'.
5. Ran 'skplus2.com'
6. Hit ctrl-alt
7. Selected 'Vogon Poetry'
I've put together an preconfigured 86Box installation that you can just unzip and run. To actually start the game, run 86Box.exe, then 'cd c:\skplus', then 'skplus2' (note the '2'). Then press ctrl-alt once or twice.
Video demonstration: https://1drv.ms/v/s!AvBLRLPXTc9ihVPL0VMtzexUmw8k?e=cVtKxj
Preconfigured 86Box installation: https://jmn.link/sidekick-vogon-poetry.zip
Not nearly as outrageous as the BBC taping over their archives to save buying new tapes. They have a page listing all the justifications, some of which are quite weak:
https://www.bbc.co.uk/archive/bbc-archives--wiped-missing-an...
Suppose Microsoft's policy was to destroy all copies of the Windows 3.0 source code. Having followed that policy, they have no copies left. Now suppose an ex-Microsoft employee has a copy of the Windows 3.0 source code in their possession, and decides to distribute it. You really think that Microsoft couldn't prove in court that said source code is in fact the Windows 3.0 source code, even if they no longer possessed any copies of it themselves?
While earlier things may have been lost, Microsoft operates a Microsoft museum. Anything they have today is pretty likely to be intentionally preserved.
The easiest one would just be to prove that the person in question didn't have the many thousands of programmer-years at their disposal necessary to make something so large and therefore the only possible source is the one entity that ever did, and used it to make Windows. Since "some guy who leaked Windows" is obviously not in possession of that sort of programmer-power, it's a pretty open-and-shut case.
That one is so obviously going to win that speculating further isn't worth much, but there's a lot of other ways we could prove it too based on architectural similarities to the existing binary code (which I presume is not wiped off the face of the Earth), but this one, while quite sufficient to prove the case as well, is more abstract and prone to internet snipers trying to prove their smarts by quibbling about endless leaves while missing the obvious location and sheer mind-blowing size of the forest. But we don't have to go here, because the previous paragraph would do just fine.
https://en.wikipedia.org/wiki/GeoWorks
also:
http://toastytech.com/guis/bbe.html
Wouldn't MS also have to prove that the code is not a derivative of some other PC desktop solution of that era?
That would be pretty trivial. If you had the Windows 3.0 source code, you could compile it, and the binaries you'd get would be the same as the shipped binaries. (Your version of the source code might not be exactly the same version as the shipped binaries, but even if not 100% identical, a binary diff or disassembly would should great similarity.) Even if someone has modified the code a bit, there would still be immense similarities there, which would be difficult to explain as anything other than copying.
Also, GeoWorks and Windows 3.0 have quite different APIs. If you find code exposing an API which is bug-for-bug-compatible with Windows 3.0, then it almost surely is a derivative of the real Windows 3.0 source code. It could be a derivative of some compatible implementation of the Windows API, such as Wine or Sun Wabi, but neither of those would be bug-for-bug compatible; and, as jerf pointed out, a defendant which claimed that they (or someone else other than Microsoft) wrote the code from scratch would have to provide some evidence that they (or someone else) actually carried out the Herculean task of creating a bug-for-bug compatible clean room clone of the Windows API. And not just the application-level API – Windows 3.x has heaps of internal APIs, which largely weren't used by applications and which newer Windows versions don't support (for example, the legacy Windows 3.x device driver models) – any modified copy of the Windows 3.x source is going to support all that, a clean room reimplementation is unlikely to do so. Courts decide civil cases on the basis of the balance of the probabilities, and such a claim must be viewed as improbable, unless some concrete positive evidence is put forward to demonstrate it is true.
(IANAL, but you don't need to be a lawyer to know that Microsoft would win this one.)
That's not how that works AIUI. Repeatable, provable builds are I understand a recent phenomenon. Use a different compiler, or different flags, and you get different binaries.
You're right on BoP, but the burden of proof still lies with the alleged copyright holder of a work, who certified in their internal processes, does not exist anymore.
You are right that I overstated my case somewhat. You are not guaranteed to get the exact same binary even with the exact same build system, and reproducing the exact same build system decades later may not be easy.
However, using the same version of the same compiler with the same flags, you'll get very close to the same binary even without repeatable builds. Not exactly the same – some binaries embed compilation timestamps, sometimes compilers have a bit of non-determinism in their processing. People who want repeatable builds for security need to produce exactly the same binary. For a copyright lawsuit, you don't need the exact same binary, just a binary which is as close as possible – expert human analysis will compare the two binaries and their disassembly in order to demonstrate copying. (So, while ideally you'd have the exact same compiler version, even if you don't, it can still work – the binary doesn't have to be exactly the same, just close enough that a human expert can determine that it is more likely than not produced from the same source code). The whole point of repeatable builds is you don't need an expert forensic analysis to determine that the two binaries are compiled from the same source, you just compare the hashes.
> the burden of proof still lies with the alleged copyright holder of a work, who certified in their internal processes, does not exist anymore.
Microsoft will pay an expert witness a lot of money to perform a forensic analysis of the distributed source code and compare it to the surviving Windows 3.0 binaries. That expert witness will testify the copying occurred. It is up to the defendant to find their own expert witness to testify to the opposite. If they do so, it then comes down to which expert witness the judge and/or jury finds more convincing.
We're talking a copyright infringement case here. They have to prove that they own it, proving he doesn't does get them a little along the road but nowhere near far enough.
Compile with different flags and I don't see how your "current binary" argument works; also they said the code had been changed a little, at least.
Whilst the necessary proof should only be "beyond reasonable doubt" the burden of proof is still with "Macrosoft" and they have to prove their ownership, with no original materials.
What else have you got?
A vendor could submit 50 pages of their source code, then delete the rest. If an ex-employee later distributes a retained copy of the deleted source code, the 50 pages are sufficient for statutory damages, even for parts of the source code not included in that 50 page sample. (The point of the 50 pages is to be a big enough sample to identify the work.)
> The idea that some recordings were important to keep for longer term re-use or historical reasons developed gradually and inconsistently across the BBC.
> A key recommendation was that a requirement to keep archives was included in the BBC Charter and this was done for the first time in 1981. Although collections of recordings had built up by this time, before this there was no regulatory or legal requirement to keep archives in the BBC.
> In a large and complex organisation like the BBC, the processes for making and managing recordings after broadcast were not always well defined, resourced or secure. This sometimes led to programmes not being received, or technical faults not spotted at an early stage. In some cases – Local Radio is one example - central departments had no remit to manage the archive, and with scant resources to spare in production teams, selecting output for archiving could be limited and rely on the personal interest of staff leading to some great collections, but patchy coverage in the archive.
https://www.theguardian.com/tv-and-radio/2013/oct/11/doctor-...
And lot of institutional knowledge was lost when EA bought Maxis. There were some old Maxis filing cabinets kicking around the EA offices, and only a few people like Maxis old-timer Mike Perry had any idea where they were or what they contained.
https://obscuritory.com/sim/when-simcity-got-serious/
>What happened to SimRefinery?
>One of the biggest questions surrounding Maxis Business Simulations that’s followed me ever since starting this research is whether SimRefinery is still around somewhere. To my knowledge, there are no surviving copies, and that’s okay. Given how frequently this question comes up, I want to document my research for the sake of completion.
>Mike Perry said that Maxis would have kept a backup copy of SimRefinery in a binder of floppy disks that held many of the master copies of their software. Perry said the binder was likely thrown out or lost when the studio moved to Emeryville in 2004. A second copy would have been kept in off-site storage; for all intents and purposes, this copy is missing or destroyed. 64 None of the Maxis, Thinking Tools, or Chevron alumni I spoke with had saved a personal copy.
I'm also endebted to Mike Perry for helping me dig up and photocopy the original Maxis/DUX SimCity contract from one of those all-but-forgotten filing cabinets, before they were lost.
Years later when I was trying to talk EA into making SimCity open source (based on the work I'd done porting it to Unix -- they didn't have a copy of that code, but I'd kept an archive and copies of the contracts, of course), EA Legal needed to know for sure that they actually had the rights to that code in the clear.
Fortunately I'd kept that photocopy of the Maxis/DUX contrant, and my contract with DUX, which clearly stated that ownership of the code went back to Maxis after 10 years, therefore I could legally give EA a copy of the Unix SimCity source code, and EA legally owned it and could then relicense it under GPLv3.
https://medium.com/@donhopkins/open-sourcing-simcity-58470a2...
>Open Sourcing SimCity, by Chaim Gingold
>Hopkins began work on the SimCity to Unix conversion while working at Sun, but the project was eventually completed under the aegis of DUX Software. On July 19th 1991, DUX signed a ten year contract to convert and market SimCity on Unix, with Hopkins brought on as a contractor about six months later. [68] Using the Macintosh version of SimCity, Hopkins performed the conversion, rewrote the remaining sections of assembly language to platform neutral C, and changed the platform from Macintosh to X11. Throughout the 1990’s, Hopkins did the programming necessary to convert SimCity to a wide variety of Unix platforms, adding pie menus and multiplayer support (Perkins 1993; Hopkins 2013; Joffe 2015).
>[...] Surprisingly, Electronic Arts agreed to the arrangement. Their legal counsel, in consultation with Eben Moglen (Columbia Law Professor, general counsel to the FSF, and OLPC advisor), worked through the legal logistics. This effort was aided by Hopkins’s discovery and copying of the original Maxis/DUX licensing agreement, on a lark, while working on The Sims. Hopkins did the coding work of the conversion. [71] EA executives approved of the endeavor, no doubt aided by Will Wright’s legendary persuasiveness and considerable prestige, not to mention the prestige of the OLPC project itself.
I posted this before to another discussion:
https://news.ycombinator.com/item?id=13693675
It's a good idea not to just keep a copy of the source code stashed away somewhere, but also any contracts relating to the rights to the code.
In the early 90's, DUX Software licensed the rights to port SimCity to Unix from Maxis. Then DUX made a contract with me to do the work. I kept a copy of my contract with DUX, the original floppies they gave me with the original PC and Mac source code, as well as versions of the source code I ported to Unix.
Years later I got a job working for Maxis on The Sims. Before we shipped it, EA bought Maxis, so a lot of people were let go, projects were canceled, physical and digital files were shuffled around, and institutional knowledge was lost.
After we shipped The Sims but just before I left EA, on a fluke, I asked a Maxis old-timer if he had any idea if the contract between Maxis and DUX for SimCity still existed, and where it might be.
As you would expect, it was in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying "Beware of the Leopard." ;(
https://www.goodreads.com/quotes/40705-but-the-plans-were-on...
So I waited late into the night for the leopard to fall asleep, made a photocopy of it, then returned the original to its hiding place. ;)
Several years later, John Gilmore suggested we persuade EA to relicense the SimCity source code under GPLv3, so it could be shipped with the OLPC.
Of course nobody in EA Management knew where the source code was or if it even still existed, but fortunately I still had my copy.
And of course nobody at EA Legal even knew if EA owned the rights to the changes I'd made (Maxis had gotten into some pretty terrible SimCity licensing contracts in the past).
But fortunately I'd kept a copy of the contract between myself and DUX, and the contract between DUX and Maxis, proving its provenance, which clearly stated that DUX's rights expired after 10 years, after which the rights to all the modifications I made went back to Maxis (and thus were inherited by EA).
Once all that was cleared up, the most important factor was that EA deputized someone on the inside to shepherd the project through the various stages of approval, relicensing, development and QA. Otherwise it would have died on the vine, since everybody in a big company, no matter how well intentioned, is always 500% busy doing their own stuff and can't be distracted by something that doesn't affect the bottom line.
It finally made it through both EA Legal and QA, and we released the SimCity source code and binary for the OLPC under GPLv3!
https://github.com/SimHacker/micropolis/tree/master/micropol...
'At the end of 1998, Phillip Whalen gathered the staff together for a final meeting.
'Well, I wanted to bring you all together,” Wibbens remembered him announcing. “The good news is that you’ll be able to spend more time with your families this holiday.”44
'“They couldn’t even pay severance,” Skidmore said, frustrated. Whalen told the staff to take home their office equipment instead. “That’s your severance.”9 It was the last insult, the ignoble end to the company at the hands of growth capitalism.
'The employees of Thinking Tools did take some their work home, and they burned it. After they were let go, they got together for a bonfire, taking some of their project files, their pink slips, whatever papers they had around, and letting the past burn away.'
https://obscuritory.com/sim/when-simcity-got-serious/
Edit: Why the downvote? I'm basically quoting the original article.
I’ve spent a non-trivial portion of my free time in university building airlines in this game. Highly recommended.
My personal favorite is: Platform Wars (https://mitsloan.mit.edu/LearningEdge/simulations/platform-w...)
Not sure if it's nostalgia, but the Maxis logo still looks really good. It doesn't scream 1992.
- learn where in your stack it's worth optimizing vs just let it chug along inefficiently. - Unintuitively, often a simple, inefficient, unmaintainable automation slapped together is better than something well-written, especially in the domain of ML/data munging - feedback is essential. When I started, I didn't spend much time in the plots windows. This is your QA dash. Pushed me heavily into using integrated CI pipelines - don't be afraid of rewrites. But do have ample tests. - CSP rocks
It's even pushed me from a "pythonic" dynamic style to writing much more golang and python that feels a bit like go.
It's not as efficient for some types of computing, like doing tons of operations on the same buffer, but it scales horizontally very nicely.
"""
- learn where in your stack it's worth optimizing vs just let it chug along inefficiently.
- Unintuitively, often a simple, inefficient, unmaintainable automation slapped together is better than something well-written, especially in the domain of ML/data munging
- feedback is essential. When I started, I didn't spend much time in the plots windows. This is your QA dash. Pushed me heavily into using integrated CI pipelines
- don't be afraid of rewrites. But do have ample tests.
- CSP rocks
Here's the previous discussion where it was shown / talked about but thought to be lost:
lucky you, mine all became unreadable with time. I didn't know/think of refreshing them periodically on newer cds, and now they're gone for. most of the games wouldn't run on modern hardware anyway, but a lot of first gen digital photos are lost in there.
It pretended to be a BASIC game with a bug in it, and when you ran it, it would break with an error message. Then it would intercept the keyboard input vector, watch what you typed, and play all kinds of tricks on you, like when you typed "LIST" and hit return, it replaced it with "LSIT" and beeped syntax error, to drive you crazy! Eventually it would start giving you more hints that your computer had been taken over by a virus, and you had to figure out some puzzles to disable it.
I've scoured the Apple ][ archives but never found it. But as long as people keep uploading and sharing their old collections, maybe "SUPER HIRES CHESS" will show up some day!
So I wonder if there is a sneaky data corruption bug hiding in the iOS version of Safari's JS/JIT engine here..? If the .zip file embedded in the PKSFX INSTALL.EXE was incomplete, then I would think it would fail early with a missing end-of-archive TOC?
>From 1992 to 1994, a division called Maxis Business Simulations was responsible for making serious professional simulations that looked and played like Maxis games.
Now if only there was interest for other types of simulations like: SimClimate, SimSociety, SimPandemic.
Now i only need to find out what game i have played.
It was also a Simulation, one person in a house and you were able to buy a tv and something with insurance was also happening.
That pc also had ibms ally cat installed.
I love how it uses the original SimCity helicopter, train, and a lot of the same tiles.
https://donhopkins.com/home/images/SimRefineryHelicopterAndT...
There is more stuff actually implemented or at least sketched out wireframes in the menus. Stuff like Refinery => Operating Plan => Blender Recipes => Gasoline => R32 that pops up a "Blender Recipe" dialog with a lot of numbers and petrolium techno-babel in it.
https://donhopkins.com/home/images/SimRefineryBlenderRecipe....
https://donhopkins.com/home/images/SimRefineryFeedstockAvail...
There's some more interesting stuff in the interlinked windows you get from Windows => Unit => [bunch of different stuff], that brings up dialogs like "Crude Unit" or "Asphalt plant" that shows the graphics and inputs and outputs of the unit, along with some inexplicable tables and diagrams and measurements, and squares that you can click on to link to other windows showing all the different inputs and outputs. And the unit windows all even have "Help" buttons that pop up a blurb describing them.
https://donhopkins.com/home/images/SimRefineryCrudeUnit.png
https://donhopkins.com/home/images/SimRefinerySulferPlantUni...
It implies there's some kind of a data flow model going on, but I guess it's probably mostly just wireframe examples of what it would look like if there was really a simulation going on.
I think some simulation is implemented. I clicked around a bit between all the interconnected parts and clicked all "Buy" buttons for source tanks (those with no input on the left side) and moved all sliders (Like the "Severity (Octane)" on the Catalytic Reformer) to the right. That way the "Sulfur Storage" value slowly increases. On the "Crude Unit" settings page, there's not only the crude slider on the left side, but also various yellow "Cutpoints" sliders on the right.
https://upload.wikimedia.org/wikipedia/en/2/29/Simrefinery_s...
Unfortunately, clicking the new crude unit does not work, unlike existing crude units on the map.
Maybe at some point people will reverse-engineer the save file format enough to edit a pipe in though...
So I installed it on a virtual machine, and made a "lets-play" demo of an early pre-release version of The Sims that was made for The Sims Steering Committee at EA. It includes the Edith SimAntics visual programming language editor and debugging tools, and has a very early "sketchy" user interface, colored dots above the character's head instead of the signature plumb bob, crude klunky architectural editing and object movement tools, and only a few essential objects (eat, sleep, shit, shower, watch TV, dance), and some cool debugging menus (create any number of instances of Archie Bunker and his friends).
The fact that EA recently released the source code for Command and Conquer Tiberian Dawn and Red Alert under GPL3 makes me hopeful that they will be open to releasing more old source code like they did with C&C and SimCity!
https://news.ycombinator.com/item?id=23249964
https://www.theverge.com/2020/5/20/21265663/ea-command-conqu...
Rebecca Heineman has an unreleased version of SimCity for the Apple ][gs that she'd love to see the light of day. And I think SimEarth would be really interesting to release in source code form.
https://www.uvlist.net/game-239645-SimCity+GS
https://www.callapple.org/software/the-long-fabled-simcity-f...
Fair warning, I was lucky enough to watch it live, and as the other commenters mentioned there really isn't much of a game. It's an unfinished tech demo with most of the "game" parts unimplemented, and what little was implemented is completely impenetrable unless you're a chemical engineer.