Dotwar is like DOOM in morse code.
The idea was to connect a shared database and the
time of day clock to a discrete event simulator
to make a real-time, multi-user game. Real time
in this case was real slow, like months.
There was a space hunt game, called startrek, that was popular
at computer centers in the early '70s. Our computer center banned it because of all the system resources and terminal time it consumed. I wanted to replace it with a game that chewed up social-cycles
Now we all know that space travel takes time. So I
figured that if we got a good real-time space game
going then it would be a lot easier to find time on
a public terminal. The idea was to plot strategy
most of the evening down at the pub and only drop by
the computer center on the way home to enter the next
was called that because that is what you got; a
ship was just a dot. But that dot had thrust and momentum
and you could program a sequence of burns. Waging war
was a lot like the postal game of Diplomacy.
The big war lasted several months. HarryChesley
white force; GordonLetwin
led black. Gordon's front-end battle computer prevailed, as it had in an earlier joust with me. In the end the dots were not all that suffered. Friendships were made and then lost as the degree of intrigue escalated.
I've located the original source for dotwar along with some documentation and a few game related emails.
My programming style was adapted to the needs of fortran and the realities of editing on punch cards. Careful readers will note that I was already object oriented
but couldn't even spell global
Just for curiosity, of course, are there any refactor points left in your code? (I am not a fortran reader, it looks too much like ASM for someone of my background.) -- WyattMatthews
Fortran of that era did not have the notion of a basic block. Newer Fortrans do and I would use them. The code is well structured for the time in that gotos were orderly (not spagetti code). In an object-oriented language I would make objects and events their own objects. Notice that I was already thinking that way. Of course then I'd have to generalize the persistence. -- WardCunningham
CategoryGame CategoryHistory CategoryGameProgramming