For those who wondered like me who this software was built for, the answer is in the full article:
> 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.
For what it's worth, the parts of SimRefinery that were intended for non-technical staff were never implemented. I got to watch Phil's livestream last night, and the game as it was implemented was just completely impenetrable unless you're a chemical engineer.
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.
Ha. Have you ever played SimTower[1]? On the surface of it, you build a high-rise mixed-use building (complete with basement levels). If you click around most things in the game can be tuned a little bit (oh, you don't have enough housekeeping staff, so your hotel will become infested with bugs).
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.
Contrary to what that Gamasutra article says, it sounds like the whole game was actually developed by the Japanese company and Maxis just published it. Was a lot of fun back in the day. The creator also made the very strange Seaman for Dreamcast: https://www.youtube.com/watch?v=yfW6EbFXtCQ
That explains a lot. I remember playing that game as a teenager and having fun right up until the elevator logistics got complicated, then having to basically give up because everybody was waiting all the time. I don't remember even trying the "advanced" elevator controls, but I probably wouldn't have gotten very far with them anyway.
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 :)
I think the most important part of this would be an ML model that generates new office jargon on a regular basis. It seems like this should be easy, since it's mostly just remixing existing language in impenetrable and quasi-meaningless ways.
Of course not,but I do think that a lot of people would benefit from having a better understanding of how a company, especially a large one works,as for a lot of people it's very similar to what those in the refinery were feeling like.
I've been playing the shit out of Human Resource Machine and its sequel-of-sorts 7 Billion Humans recently, they're really fantastic games. Basically ASM with cute graphics.
In business school you’re told similar stories about (in my case at least it was) Nike factories moving workers around so that they regularly work at each station and appreciate that what happens at one station affects other people’s work
I think this is a post-hoc justification that pretends it's about caring for personnel.
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.
Having worked in a factory where we constantly rotated positions (rarely same position two shifts in a row), this all sounds like utter, cynical nonsense except for the very last line.
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.
Yes, this actually happens in real life now and then too. As long as there is no special drivers license or education involved ofcourse. Nothing more mind numbing than to stand at the same machine year after year.
Interesting! The game reminds me a bit of another industrial simulation game called "Oakflat", a nuclear power plant operations simulator for MS-DOS (and later Windows).
The DOS version can be played on archive.org, but I'm not sure if it's possible to get the Windows version anymore.
I tried Euro Truck Simulator because I remember an old DOS truck game from back when quite fondly, but I found ETS to be rather tedious and repetitive, and all I want to do is to break the traffic rules to go faster, :p.
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.
On that note, does anyone know anything about SIMULA-C? It was a reasonably high-level PWR simulation, if I remember correctly, with a detailed description of its internal model. There is a paper floating around mentioning its use in training. But I can't even find its original website any more (and even when I could, the executable was not in the archive).
Having spent a good amount of time failing to do anything but nuclear meltdown using this in my teens I remembered it and searched it out a year or so ago, surprised to see its still around and so are Gamtech the makers http://gamtech.com/oakflat.aspx
There's still a huge pursuit around this in most of manufacturing. Operational engineering groups are pushing for high fidelity digital twins to test out process control code before it hits the physical plant.
The merge between simulation games and simulations gets even more blurred now that some software companies are replicating the entire plant in a 3d "game engine" and using VR goggles for immersion for operator training
A company I used to work for built a large sim for an Australian mining company, using a commercial game engine and a large 'igloo' type structure as the interaction environment. This was chosen over VR because it was believed to be easier to have groups of trainees in the same environment. The trainees were equipped with physical 'torches' that were geometrically paired with the virtual environment so you could actually shine a pointer on objects.
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.
The high-fidelity replication is much easier for things like industrial control systems (ICS)because all that needs to be replicated is the operator interfaces. Those interfaces are usually intentionally bland and typically dated - meaning really simple, standardized graphical assets
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.
Re: Drones - not in the sense I think you are imagining, but you can pull data from some of the mining equipment and I have seen 3D scanners mounted in situ at test sites to capture specifics. (it didnt work well - got remodelled later).
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.
> Those interfaces are usually intentionally bland and typically dated - meaning really simple, standardized graphical assets
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.
Interestingly enough, in the article it does confirm that Chevron encouraged new users of the system to change certain input values to produce explosions andnl disasters right as they were first learning how to play, so that they could learn what does what in real life.
While on the subject of old games, does anyone have access to a working version of "Vogon Poetry"? This was a shoot-em-up game bundled with Sidekick Plus.
Saw that you've been looking for this for a few years, so I decided to take a crack at it. I was able to get it working.
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.
I tried googling for this and about the only result I found was this post[1]... written by you, exactly six years ago, asking the same question. Good hunting, SeanDav :)
(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.)
I'm frequently using Wikipedia and similar sources as entry points for old games. E.g. recently I finally recovered a bunch of small DOS games that were bundled on some demo disc—since I was particularly interested in a Pong clone, I went through the list of Pong clones on Wikipedia and spotted the familiar company name. So if you remember any metadata apart from the Sidekick connection, you might want to try those angles.
(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.)
To add on the methods: categories on Wikipedia are pretty useful for such digging.
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.
It's was a niche project for a client that didn't want it developed further.
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:
I remember reading a certain company (not my current employer)'s data retention policy issued by their legal department. It had a schedule for destroying all business records. Product source code was in there as a business record – to be destroyed N years after end of support. Made me want to cry. I hope they don't actually do what their legal department tells them to.
If hypothetically, someone were to take a copy of that code just before the business destroyed it, they could do almost whatever they liked with it, because the original business wouldn't be able to prove it was stolen from them.
Let me use Microsoft as an example. (And, I'd rather not identify the company in question, but I can say that it wasn't Microsoft – I have absolutely zero information on what Microsoft's data retention policies might be.)
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?
> I'd rather not identify the company in question, but I can say that it wasn't Microsoft – I have absolutely zero information on what Microsoft's data retention policies might be.
While earlier things may have been lost, Microsoft operates a Microsoft museum. Anything they have today is pretty likely to be intentionally preserved.
It's been fifteen years since I've last darkened MSFT's doorsteps, but they had an internal server that had everything back to DOS 2.0, IIRC. Now, source code I cannot say with any real knowledge, but the bits were (and I'm guessing, still are) there.
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.
>The easiest one would just be to prove that the person in question didn't have the many thousands of programmer-years ... //
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.
IIRC you're legally limited in what you can recover from an alleged infringer if you haven't registered the work in question with the US copyright office. If MS had destroyed all source code for Windows 3.0, then presumably they never registered the work (and if they had, why bother destroying it?). I agree that an infringer would likely not get away with it scot-free, but MS also wouldn't be able to collect statutory damages or attorney fees.
US Copyright registration doesn't require you to lodge the whole source code. It is allowed to print it out, and submit a 50 page sample of the printout. (I think you are allowed to send the Copyright Office the whole thing if you want, but 50 pages is all that is required.)
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.)
> 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 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. //
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.
> Repeatable, provable builds are I understand a recent phenomenon. Use a different compiler, or different flags, and you get different binaries.
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.
I think I misunderstood the original idea: I thought that the person still having the source would have released it with some possible modifications, but I didn't realize these mods would only be to hide the code origins, and keep it otherwise fully compatible.
I sincerely hope that you do not ever put that to the test and I think you should stay miles away from advising people on legal matters. To put it bluntly: you are clueless about this stuff.
I know companies that live in legal fear of discovery and destroy lots of things that have potential data-mining value. Imagine a firm that deletes all email more than 365 days old...
> 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.
SimRefinery was developed by a "satellite" company, "Maxis Business Simulations", so it probably wasn't stored and archived with the rest of Maxis's source code, and may not have even been delivered back to Maxis and archived.
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.
>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.
>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.
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." ;(
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!
From my vague recollections of the original article, it was actually a sub-division of Maxis that wrote the B2B simulations like SimRefinery. They separated from Maxis and became Thinking Tools, and eventually went public, bringing on a new CEO that took the company into insolvency but not without making all the employees hate the company:
'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.'
My favourite is AirWay Sim [0], a massively-multiplayer online airline simulation. Incredibly detailed business sim financially — with full financial statement generation - as well as operationally. One must decide on hubs, airplane types, fuel hedging, scheduling.. the list is endless.
I’ve spent a non-trivial portion of my free time in university building airlines in this game. Highly recommended.
I'll refer one that I don't see mentioned very often, that is my favorite business simulation game: Capitalism / Capitalism Lab (latest version). It has been around for about 25 years, the author keeps working on the concept.
This is a really amazing sim, and I'm surprised how under-the-radar it is. It's kind of Dwarf-Fortress-esque in how it has this slightly antiquated presentation, but hiding behind it is an incredibly deep sim, where the author keeps on adding new features.
I asked a similar question on the previous thread about SimRefinery. For my criterion of a ‘more serious’ simulation, the answers were Capsim and Capitalism Plus.
Factorio has genuinely taught me lessons about software design.
- 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.
- 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.
Communicating Sequential Processing. It's a multithreading/processing model which as the name suggests, leans more on communication, less on sharing memory.
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.
Random software reminds me of a Dutch/German PC magazine my dad used to be subscribed to (Computer!Totaal), they would often ship with a CD full of stuff, part of it was in the Shockwave menu, other stuff was on the disk itself, including a big collection of ZZT levels - I presume the staff scoured BBS and downloaded a bunch of stuff.
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.
I remember but have never found a copy of an Apple ][ program I got from a pirated software collection, temptingly called "SUPER HIRES CHESS", which was actually not a chess game, but a puzzle game in the form of a computer virus:
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!
A weird error happens if I try to run the embedded javascript dosbox emulator on iOS Mobile Safari. It launches the PKSFX INSTALL.EXE but most (but not all) files fail to extract with a CRC error. Emulation bug or a flaw in Mobile Safari's javascript engine? It seems strange that it can interpret the entire pksfx x86 code without crashing while still yielding corrupted CRCs? If there are bitflips or miscalculations you would think the interpreted x86 cpu would crash long before even printing the pksfx banner. On a different computer, unzip -t validates the INSTALL.EXE zip contents.
I bet the installer is using the storage JS API or something related but the pksfx x86 code does not and such API is buggy or limited on Safari mobile.
The only thing I can think of is running out of virtual disk space because the storage JS API quota is filled. But I would assume PKSFX calculates the CRC based on the in-memory decompressed stream, not a read-back copy of what's written. Or it would print some sort of "out of disk space" error, but maybe dosbox does not have that.
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.
What they built feels like the business simulation holy grail where it transcends to being fun as opposed to setting triangle distributions in Arena (example of an old-school business sim software we used at some point to simulate ambulance times).
Now if only there was interest for other types of simulations like: SimClimate, SimSociety, SimPandemic.
I was going over some old archives and ran into this old Windows installer called "The Sims Steering Committee Installer.exe" from June 4, 1998, that I'd completely forgotten about.
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).
I definitely want to, and I'm working on the "if I can" part with some helpful digital archivists/librarians, figuring out how to properly archive and distribute that and any other stuff I can dig up.
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!
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.
There's actually not a terrible amount of game - there's a screen with all the bits moving, and some reports with filler info, but it doesn't seem to actually play - only one of the editing controls, make new thing, is selectable, and it doesn't seem to work.
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.
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.
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.
> 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.
I was able to place a new Crude Unit on the map on the archive.org version, using the button 3 buttons below the demolition button and finding a empty place on the map, the one shown in this wikipedia screenshot:
One thing that came up in Phil's livestream last night is that new buildings aren't connected to the pipe network, and of course the pipe tool isn't implemented.
Maybe at some point people will reverse-engineer the save file format enough to edit a pipe in though...
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.
> 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://obscuritory.com/sim/when-simcity-got-serious/