I think WWIII sim is probably a better description. Or could go with the 1985 War Games "Global Thermonuclear War". Just nitpicking. The simulation is awesome.
There are two views, top view and elevation view. All the actors have an x, y and z.
Each of the circle structures is a nation state.
It has a capital at the center (square, blinking). Defcon is the number in the capital.
Cities (circles) send people to work at factories.
Factories (triangles) make munitions and send them to bases
Bases (square) stockpile munitions (counts, clockwise from top right: icbms, abms (anti ballistic missiles), fighters and bombers.
Bombers are big and slow (triangles) that select a target (factory, base, city, capital in that order), fly to it and nuke it, reselecting a target if somebody else destroys it first.
As defence perimeters are penetrated, defcon gets more scary.
Fighters launch at Defcon 4 and attempt to destroy bombers.
At Defcon 3, Bases launch ICBMs a low probability amount of the time.
Satellites launch at Defcon 2, and can shoot ICBMs out of the sky, but have fire/recharge lasers.
When one of a nation's assets (factory, base, city) is nuked, they go to Defcon 1.
If your enemy goes to Defcon 1, so do you.
At Defcon 1, all ICBMs will fire.
When your capital is destroyed, it's Game Over.
The control panel lets you tweak the starting parameters. There are a lot more controls for all the actors (e.g, how close do bombers flock.) than are not exposed here.
Xmonad, Emacs, a terminal and Chrome pretty much do the same thing for me on Ubuntu desktop, possibly with a little less pain. Mostly mouse free operation, and easy resizing, swapping etc.
If you want to learn Emacs, just jump in head first. Try and use it like a native. Just for kicks I'm trying to do the same with vi by forcing myself to use it for anything vaguely sysadmin related.
I generally like that setup better as well, but imo one of the advantages of the emacs approach is that there is more of a culture of providing extensive API hooks for scripting. If you run an RSS reader inside emacs, it's expected that it'll expose many/most of its operations via elisp function entry points, so what's going on in the reader is "transparent" in a sense: scripts can query the list of feeds, the items within the feed, the read/unread status of items, can grab the text of items, can trigger re-fetches, etc. And you can integrate that with a bookmarks manager, outgoing email, whatever.
Most tabbing window managers also provide a pretty good scripting interface, but the programs you run inside them tend to be more opaque. If you run the ncurses RSS reader 'newsbeuter' in a window, your WM scripts can't easily interact with a running instance, short of screenscraping its output and sending it raw keystrokes as input, because it doesn't expose any kind of API.
Thank you for this comment. I spent years thinking emacs was cool, but didn't quite get the push toward using emacs for everything but the kitchen sink until now. Time to take another look at it, I suppose.
He could still run Xmonad and have a workspace for a browser, only switching to it when he wants to check something. Running a proper window manager will not interfere with how many things he wants to run in Emacs.
I've run Xmonad bare on a dual core 1 GHz machine with 512 MB RAM and it ran great. The processes he runs are going to vastly outweigh Xmonad in terms of resource usage. This is one of the worst non-solutions I've seen to this, when he could've had the same setup without any of the hassle.
I really like fluxbox, is very lighweight, so my setup is fluxbox, tilda and chrome. If by some reason I want a full desktop, I just need to type Alt-f2, nautilus, and boile, gnome takes the desktop.
I agree that that is the best way to learn Emacs (and vi/vim). For me, the hard part wasn't so much learning to navigate Emacs as it was customizing it to my liking. The basics of Emacs are pretty straightforward (unlike vim, which takes a while to get used to), but using it well requires you to understand how to install packages and at least read emacs lisp.
I run Xmonad with no status bars or anything and it works great. No clutter, just the windows I want to have there. I tried it out as an experiment on my laptop to get more screen real estate and then I carried it over to my next desktop install. I used to think that it was obvious that there were things I wanted to have visible all the time, but in reality there was really only one thing that could even qualify for that and that was a clock. When I realized I could do without that, even, I decided to skip status bars entirely.
The effect is what the article is seeking, without the pain of "Oh, but if I want to do this thing I can't". Free with workspaces that can be used for anything, meaning you don't have to deal with this "It opens up on top of everything else, making multitasking useless".
There were a few 'solutions' that I was content with. You can have a workspace where you have these things (htop, other monitoring tools) and you can also have it in your vim/emacs status-line if you want to keep track of it while working.
I've never actually found that I need something _everywhere_ as much as I need to have it _somewhere_. Monitoring of things like these included.
Edit: I hesitate to call them real solutions, because obviously they are not for everyone. Some people need to see their CPU/RAM usage, network usage, clock and battery level at all times.
Nope. When logging in, I use gnome + xmonad. The topbar from Gnome (with networking etc) stays, and I use dmenu for launching. I like to keep it pretty minimal.
A future revision of this was going to have Intents, so each empire basically did what you mentioned.
If it was going to be a game, the player would set the intent, or proportion of different intents, for their empire (eg colonize, trade), and not be able to micromanage specific plays.
Hostile or otherwise encounters with other empires would affect rules of engagement for future encounters.
Soon enough everything would get complex, messy and unpredictable and much more interesting to watch!
I’ve been thinking about ways to use simulation to teach young and old (particularly the young) about complexity and unintended consequences, things that are not easy for most people to grasp well, but are essential for our society to escape simplistic ideologies and simplistic solutions, for all of us to have a more intelligent discourse on how to make the world better.
Such concepts are better understood or taught through interactive simulation (where the interaction is the users tweaking the settings, coefficients, equations or rules) combined with easy to grasp graphic representation of both the simulation in progress and the results.
Some of the things I’ve thought of illustrating this way:
- Game Theory. For example have a population where individual sims engage in prisoner’s dilemma repeatedly with a random other sim each time (until it runs out of money). What are the results when different portions of the sim population use different strategies? Is there a way to setup the rewards/penalties in a way that encourages the best greater good even when individuals behave selfishly?
- complex systems, positive and negative feedback, chaos, emergence, evolution
- The Mathew Effect (e.g. rich get richer, poor get poorer). The general concept of vicious/virtuous cycles.
- the notion of the Tragedy of the Commons. And also the Tragedy of No Commons.
- market economics, supply and demand, the invisible hand. when does it work and when does it not. what happens when consumers have perfect knowledge, and what happens when they have different degrees of partial knowledge?
- Cooperation vs competition, in evolution/ecosystems, economies, politics.
Please let me know this overlaps with your interests!
The market economics part is interesting to me. I touched on it in the Q&A at the end of the talk. Initially I wanted to have ships trading to make up for deficiencies in their homeworlds (agriculture, raw materials), which would also help generate revenue, and lead to conflict. However it's not so simple (hey! let's build a functioning commodities market and HFT/algo trading system). The seed of this idea came from Traveller[1]. It's worth checking out the trade system in the first edition of that game.
The original planet sim was much more complex (along the lines of World3 [2]) and explored finite resources, overpopulation, technology growth and a whole lot more, but again, for the talk that would have been overkill. I think it's worth exploring this angle as it would provide a whole different dynamic, and would be great to see at huge scale (1000's of systems or larger) and playing out at a slower pace.
Also from Traveller, the idea that information cannot move faster than the speed of light, so it has to move at the speed of transport, which creates great dynamics for trade, and the command & control aspect of warfare. Centralized governments are not so effective. A treaty could be signed, but fighting forces will not know until the knowledge reaches them. A war can start and end before the seat of power even knows it had started.
There are so many things that could go in to it. Basically the presentation is a simple version of what I'd like it to be, but I stripped it back to the essentials (spaceships and lasers!) to make the talk interesting.
It would be interesting to create a game where the population has limited ressources on a planet and if it overdoes the exploitation it gets extinct (like 'How bis is our island' https://twitter.com/dirkk/status/549866431480074240 ). Also I was equally inspired by Vi Harts and Nick Cases 'Parable of the Polygons' (http://ncase.me/polygons/).
'Boidz' and 'Game of Life' make complex behaviours from a simple set of rules. It was very smart of you to throw in some simplified physics rules (and civilization rules etc) to make these work together.
I can't access your website right now (is it down?), so I don't know if you run a blog or something. Will you continue to work on this?