"Star Merchant" or computer training in the era of mini-computers
This is a story about various approaches to computer training in the United States, in the era before the advent of personal computers. Particular attention will be paid to the educational activities of the People's Computer Company (PCC). You could find a mention of this organization, as well as the club and newspaper of the same name, in the famous book by S. Levy “Hackers: Heroes of the Computer Revolution”. Finally, we will talk about early text games, in particular, about “Star Trader” (Star Trader). The current implementation in Python of this classic game will be discussed in the final part.
As you can see, this will be a story about the affairs of bygone days. Why should anyone be interested in this? In my opinion, many old ideas and approaches regarding computer training have not lost relevance to this day. Some of my friends plan to create a computer system for teaching children programming. I hope this story will inspire such developers.

Let's fast forward to 1957. The recently launched Soviet Sputnik-1 made, as you know, a tremendous impression on the United States. A good illustration of the mood that prevailed at that time was the cover of Life magazine for 1958, on which an excellent student from Moscow with a serious, penetrating gaze and his American peer-obtuse are side by side. The cover has the title “Crisis in Education”. Conclusions, to the credit of America, were made quickly and significant public funds began to be allocated to science with education.

The cover of Life magazine for 1958.
In particular, the famous ARPA agency (which later received the more familiar abbreviation DARPA) appeared on projects that are associated with long-term, promising and, often, not related to defense research. Thanks to the support of ARPA and the money of the military, the Internet and the first personal computers were created. A. Alan Kay spoke of the work of ARPA in those days: “The main idea of ARPA is that you find excellent specialists, you give them a lot of money, and then leave them alone. If they don’t do something good in 3 years (that is, something new and interesting), they will be fired. ”
Hopes for improving the quality of education were associated, inter alia, with the computerization of the educational process. And here, it would seem that the theories of behavioral psychologists popular at that time (from the word behavior - behavior), in which the pupil was regarded as an experimental animal, like Pavlov's dog, could not be better suited. The computer, in full agreement with these theories, is able to evaluate only external reactions. It is proposed to shape the desired behavior with the help of rewards and punishments. The most popular were the works of B.F. Skinner. He got his main results by training pigeons, whose reactions he controlled with the help of a special box.

Skinner's box.
A typical CAI course (Computer Aided Instruction) of computer training of the 60s, organized in the spirit of Skinner's work, is a demonstration of fragments from a certain field of knowledge, the assimilation of which is checked through dialogue with the user. In stimulating the desired “conditioned reflex”, the student is assisted by such incentives as points or a limited response time. A question for which an incorrect answer was received can be asked again, but with additional explanations or a demonstration of the correct option. By and large, the various CAI implementations differ from each other in the level of imitation of the teacher who directs the student’s actions and the use of approaches from the field of AI suggests itself here. On the other hand, it was the simple, linear CAIs that proved to be the most convenient from the point of view of development by teachers. Generally,
In 1962, Bob Albrecht first began teaching high school students the Fortran language. Who is Bob Albrecht? They later wrote about him as a computer enthusiast educator who influenced young people in the late 60s and early 70s more than anyone else in the field. It was Albrecht who founded the People's Computer Company, but I will talk about this later. Back to 1962. Computers at that time occupied entire rooms and were owned by large corporations. Programmers had to wait in line for days in order to transfer their program for execution to the “priests” of the machine. A typical training option for the elite, and at best they were students of the corresponding specialties, were boring lectures, without using the computers themselves. Albrecht was lucky to organize the learning process in a different way, with the practical use of one of the CDC machines. At the same time, programming (solving school problems, games), and not CAI, was put at the forefront. In the classroom, a situation was encouraged when more experienced students tried themselves as teachers. The burning eyes of schoolchildren, their genuine interest in the development of computers became an incentive for Albrecht to seriously address the issues of computer training for ordinary people, far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC. In the classroom, a situation was encouraged when more experienced students tried themselves as teachers. The burning eyes of schoolchildren, their genuine interest in the development of computers became an incentive for Albrecht to seriously address the issues of computer training for ordinary people, far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC. In the classroom, a situation was encouraged when more experienced students tried themselves as teachers. The burning eyes of schoolchildren, their genuine interest in the development of computers became an incentive for Albrecht to seriously address the issues of computer training for ordinary people, far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC. far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC. far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC.
Today, the word “mini-computer” seems to have lost its original meaning. But once it was a whole era. The new element base, the computers themselves are “just” the size of a closet. And, of course, the use of time-sharing systems. Faster than the previous generation, mini-computers could serve several users connected at the same time. Communication with computers has become more interactive and accessible to a wider range of users. CRT monitors in the 60s were still too expensive and not widespread, so an electromechanical typewriter - teletype, was usually used as an input-output device. You print text on paper, the text is printed in response to you. Connecting teletypes to a mini-computer could also be remote, using a regular telephone line and an acoustic modem. In this remote mode, mini-computers were often used in American schools.

PDP-8 Mini Computer
Mini-computers and time-sharing systems made it possible to come up with an interactive programming language especially for beginners and non-programmers. Basic criticism is well known. However, it is better to consider the positive and negative properties of this language in the context of the time when it was really relevant. Many negative features, such as, for example, unstructuredness, are explained by the desire of the authors of the language to make possible the implementation of the BASIC interpreter even on the weakest mini-computers. One of the authors of the language, D. Kemeny, proposed writing computer programs as a teaching aspect. In this case, the student becomes a computer teacher. The student gains very useful experience in the process of formulating the problem in a form suitable for a computer.
One of those who immediately appreciated the possibilities of a new language in educational activity was Bob Albrecht. He even half-seriously organized a society to abolish the use of Fortran in training. Albrecht demonstrated the possibilities of BASIC with the participation of his students at numerous conferences and exhibitions. He was also one of the first to write several language tutorials. Perhaps the most popular BASIC programs were training simulations and games.
It is very curious to read an article in 1966 entitled “Two Computer-Based Economics Games for Sixth Graders”. The article talks about an interesting experiment on the use of games in the educational process. Students using teletype terminals from IBM (this company participated in the project) communicate with a computer, and in addition, part of the information is displayed graphically using a slide projector. One of the games suggests trying yourself as a ruler during the Sumerian civilization. Information is provided on the current population and the state of resources. The player has to make decisions on the distribution of grain, etc. If you know the history of computer games well, then this description might seem familiar to you. Indeed, we have before us the forerunner of such games as Hamurabi (1968).

“Sumerian game”
Of course, the perception of new knowledge in a playful way is much more exciting than CAI. For example, I still gratefully recall text games on the ZX Spectrum computer, such as Sherlock. With the help of these games, I was once able to learn the basics of the English language. This gaming experience was more like getting into a foreign environment than a typical CAI course.
However, in many cases, the criticism of A. Kay, which he expressed in relation to the famous game SimCity, is applicable here. Kei was not happy that the game hides a lot from the user. The rules and heuristics that are used at the core of the game world are not available to us. If the student had this knowledge and the ability to modify the basic parameters, then he would be able, acting as a researcher, to understand at a deeper level the important principles that are used as the basis of the game model.
In the late 60s and early 70s, the Huntington Computer Project was supported by a state grant and, subsequently, DEC. The essence of the project was to create a package of training simulations on BASIC for pupils and students. These programs were focused on a variety of school subjects: biology, physics, social sciences. The code was intentionally simplified in order, firstly, to allow simulations to run on weak machines and, secondly, to enable students to explore programs. Among other project simulations, LIMITS stands out for its scale, in which the growth of the human population and the exhaustion of natural resources are modeled.
Mention should also be made of the first educational history games. This is Civil War (1968) on the theme of the US Civil War and, of course, the famous Oregon Trail (Oregon Trail, 1971), written in BASIC.
It was said above about the theories of behavioral psychologists. Constructive psychologists demonstrate a completely different approach to the problems of education, among which J. Piaget and the Soviet scientist L.S. Vygotsky. In constructivism, the main role is played by the student, not the teacher. For the student, conditions are created under which he is independently able to grow, reinvent knowledge. Of course, the most important question is how this learning environment, stimulating the work of thought, is created.
In the field of computer training, the pioneer of the use of constructivism is S. Peypert (Seymour Papert). Peypert’s famous phrase was: “Should a computer program a child, or should a child program a computer?” Peypert and his colleagues at MIT created the Logo language (Logo, 1967) to teach children how to program. The logo is a very well-designed language, even by modern standards. He has incorporated many elements of the Lisp language. There are implementations of compilers and complex AI algorithms on the Logo. But he is known to the general public, of course, thanks to the “turtle”. The concept of painting turtles suggests that the child is able to easily imagine himself in her role and can, for example, “debug” the program, moving around the room in accordance with the given commands.
The tasks that the student solved with the help of programming on the Logo in the MIT laboratory of those times are significantly different from typical school programming problems (“calculate the sum of the squares of the first N even numbers” and the like). In a 1971 article, “Twenty Things To Do With A Computer,” Paper described some interesting uses of the Logo. Among them: control of a turtle-robot using a computer, drawing various pictures and cartoons on a monitor screen, students creating their own versions of the Spacewar game, generating music and poems, controlling a toy crane from the computer side, creating a light show using lamp control, self-creating a CAI courses for their peers, etc.

Mechanical turtle
In Logo classes, the children did about the same as their current peers do with Arduino and Processing. And the emphasis on things from the real world (a turtle robot, a toy crane, a light show), of course, is not accidental. Yes, driving a crane is more difficult than finding the sum of the numbers. But it’s much more fun!
Under the name PLATO, there is an astonishing computer training project created by the forces of the University of Illinois, with the support of the state and CDC. In 1972, the system consisted of a supercomputer and many terminals connected to it in various educational institutions. Each terminal was equipped with a keyboard and a plasma monochrome display with touch control and a resolution of 512x512. The main idea of the project was to use high-quality CAI courses: with good graphics and music. Here you can draw a parallel computer courses on CD-ROM for multimedia PCs, which also once had high expectations.

Terminal PLATO IV
Despite the fact that PLATO developed a simple high-level language TUTOR to create a CAI, in fact, the level of courses used within PLATO was far from always high. Fortunately, the system had the opportunity to independently develop programs on the terminals using TUTOR and make them available to other users. It was this opportunity that allowed PLATO to remain in history as a system that was ahead of its time, in which chat rooms, forums, e-mail and multiplayer games were widely used for the first time. These wonderful things were created mainly by ordinary schoolchildren and students.
The counterculture of the 60s in the USA was a multifaceted phenomenon: psychedelic rock, the Back to Earth movement, anti-war protests, etc. In the computer field, countercultural ideals included decentralization and personalization of computers. In contrast to AI, which could be used by corporations to control the masses, approaches related to AI (strengthening natural intelligence), which put man at the head of the symbiosis of man and machine, were proposed. Among the main spokesmen for these ideals, V. Bush (Vannevar Bush), D. Engelbart (Douglas Engelbart) and T. Nelson (Ted Nelson) should be noted. The ideas of inventor B. Fuller (Buckminster Fuller) were also very popular in the countercultural environment. One of Fuller’s famous sayings is: “If you want to teach people to think in a new way, don’t even try to teach them. Instead of this,
These were the ideals that Bob Albrecht fully shared, who opened in the late 60s, most likely, the world's first computer club called the People's Computer Center (PCC). Anyone could get into it and use mini-computers and programmable calculators to their liking: for games, training and writing programs.
The atmosphere of the club can be imagined using the following quotation from the book of S. Levy.
Albrecht's approach was to create an environment for children in which they could learn on their own. Of course, PCC employees were always ready to answer questions from visitors to the club or offer a tutorial. Seminars were held regularly. Albrecht spoke about the learning process as follows.
By the way, the famous computer game “Hunt the Wumpus” (Hunt the Wumpus, 1972) was written precisely in the walls of the PCC club.
In 1972, Albrecht and his colleagues began to produce a newspaper called the People's Computer Company. This was not the first computer edition. Before it there were Computers and Automation (1950), Datamation (1957) and Computerworld (1967). But the "Company", of course, became the first computer newspaper aimed at the general reader. In the rooms a lot of space was given to BASIC and listings of games in this language. A large number of articles were devoted to computer art (graphics, music, poem generators). There were articles on the topic of choosing a mini-computer, book reviews. The PCC newspaper was distinguished by an unusual layout: various fonts, unexpected text layout, freehand drawings.
The motto of the newspaper was the following words: “Computers are more often used against people, instead of helping people. Used to control people, instead of releasing them. The time has come to change this - we need ... People’s Computer Company. "

Figure from the first issue of the PCC newspaper
The influence of the PCC (club, company, newspaper) was very great. Without the PCC, the famous Homebrew Computer Club would not have been. From the PCC, the “Dr. Dobb's Journal,” as well as the academic Computer Music Journal, grew up.
Nowadays, the format of the computer magazine itself has almost completely ceased to exist, but if you read the domestic magazine “ZX-Review” in the early 90s, then turning the pages of PCC can make you nostalgic smile.
In 1975, PCC published a wonderful computer game book entitled What to Do After You Hit Return.
Oddly enough, this was not the first book on this subject. Back in 1973, D. Al published a book entitled 101 Computer Games in BASIC (101 BASIC Computer Games). It is curious that thanks are expressed in it to all the same Albrecht and PCC. Al's list consisted of games that he adapted to the DEC version of BASIC from other languages and computers. Each game was accompanied by a small description, an example of the gameplay and listing.
Back to "What to do after you press ENTER." The book contains mainly original games, many of which were published in the newspaper in previous years. Presented games can be divided into several categories.

PCC game book cover.
It is curious that this book on the Internet (at archive.org) appeared recently, in early 2017. And now some inaccuracies made by computer historians who did not have access to the text were already visible.
Of particular interest, in my opinion, in “What to do after you press ENTER” is not even the games themselves, but the approach to their description, which I will further illustrate with the example of “Star Merchant”.
Star Merchant was developed in 1974 by Dave Kaufman, a PCC employee and a big fan of science fiction. The game is one of the most voluminous in code for its time. Its dimensions exceed the dimensions of such "heavyweights" written in BASIC, such as Star Trek and the Oregon Trail. In fact, before us is the founder of the space trade genre.
The Star Merchant page provides a general description and game rules. This is a turn-based game for several players, each of which owns several spaceships. Ships move from one planetary system to another and trade. Systems have a different level of development. In the center are the most developed of them, here you can buy high-tech products. On border systems, raw materials will be sold to you. The main task of the players is to earn more than rivals. Over the course of playing time, planetary systems slowly develop, and new stars can be discovered on the map.

Star map from the game
The game is quite exciting, and it is worth noting that it is not in the PCC pedagogical rules to present their games in the form of black boxes, inaccessible to understanding the internal structure and its changes. Just playing is not enough. Play creating your own version of the game - that's where the real pleasure! Therefore, the rest of the book contains a section entitled “2 Pages of Ideas for the Star Trader”. These ideas are designed to stimulate the imagination of the reader, as well as to encourage him to his own creativity. I will give only some of them.
The book explains in detail how the basic elements of the game are arranged. In particular, a simple procedural generation algorithm is used to create a star map. The trading algorithm on planetary systems is organized using a gradually narrowing price window. The economic model is set using a graph where the X-axis represents the development classes of planetary systems, and the Y-axis reflects the production or consumption of a product. In the program, the graph elements are presented in the form of coefficients of the equation of the line.

The economic model of the “Star Merchant”
On the network, I had recollections of how several students in the 70s effortlessly made a multi-user version of the “Star Trader”, where each player controlled the process from his teletype.
The Star Trader BASIC code has been around on the Internet for quite some time. At the same time, for some reason, no one has yet become interested in translating the game into a more modern language. One of the reasons, perhaps, is that the code posted on the Internet has incorrect data of the economic model in DATA operators. It was possible to find out only when the book appeared online. The game seemed interesting and undeservedly forgotten to me, so I decided to spend time on my own implementation in Python and try to maintain compliance with the original as much as possible.
Star Merchant is written in BASIC for Hewlett-Packard's 2000F system. Therefore, in the first place, it was necessary to find the documentation for 2000F and understand how non-standard designs work. The original program is split into two files. One of these files is used to set up a new game, and the other for gameplay. The created data for the new game is placed in special COM-arrays (from the word common - common), which are located in the memory available for other programs on BASIC. Thus, precious RAM was being saved at that time. When parsing algorithms, certain problems were caused by the unstructured code, as well as the use of comparison operators in arithmetic expressions.
The game has been rewritten in Python twice. For the first time, an interlayer was used, which allowed some basic “idioms” of BASIC to remain unchanged, such as array indices starting with 1. The second time I tried to make the code more readable, to withstand it in Python standards. For testing, a random team generator was used, with the help of which the actions of the players were simulated. The duration of the game was set for hundreds of years, and after the run, the game log was examined for any errors.
I will not say that the result completely suits me. I would like to make the code even more readable, especially for beginners. Nevertheless, I suggest you familiarize yourself with the project on github: github.com/true-grue/trader
In the process of reading “What to do after you press ENTER”, I had the following thought: it would be great to have a modern edition, with the code not in BASIC, but in Python (or Lua, or another language suitable for beginners). This will not necessarily be the same book. More important is the spirit of the book: a description of exciting games with a compact and readable code and, most importantly, with a detailed description of the internal device, as well as tips on how to improve the game.
Chris Crawford, a distinguished game developer, coined the term process intensity in the late 80s. This term for a specific game reflects the degree to which processes (i.e. game algorithms, equations, rules) prevail over data (graphics, music, text). Obviously, such early text games as Star Merchant have the highest intensity of processes. A small number of lines of code concentrate the core of the game, the "raw" gameplay.
In my opinion, studying small and well-written games with a high intensity of processes can be of great benefit to beginners. Especially if appropriate material for self-training is added to them. And when creating such games and, in a broader sense, simulations, as well as tutorials, it makes sense, it seems to me, to take advantage of the experience of Albrecht and Peypert.
S. Levy, “Hackers: Heroes of the Computer Revolution.”
The book is fascinating, although it contains some inaccuracies. The term "hacker" is used by the author in the old, positive sense.
Translation: rus-linux.net/MyLDP/BOOKS/zip/hackers-heroes.pdf
Article “Two computer economic games for sixth graders”.
This text is of great interest to computer game historians.
Link to sci-hub
A letter from Alan Kay criticizing the game SimCity.
www.donhopkins.com/drupal/node/134
An article about a Huntington project to create basic simulations.
files.eric.ed.gov/fulltext/ED174467.pdf
The story of the creation of the Oregon Trail game.
motherboard.vice.com/en_us/article/qkx8vw/the-forgotten-history-of-the-oregon-trail-as-told-by-its-creators
The story of the creation of the game "Vampus Hunt".
www.atariarchives.org/bcc1/showpage.php?page=247
Article "20 things that can be done with a computer" on the application of the Logo.
www.stager.org/articles/twentythings.pdf
It is also worth paying attention to the book of C. Peypert, which in the Russian translation is called "A revolution in consciousness: children, computers and fruitful ideas" ("Mindstorms").
Emulator PLATO. Until now, not much information is available about what this system was. On this resource you can register and see PLATO in action yourself.
www.cyber1.org
An amazing 1972 article in the famous Rolling Stone magazine. About the first e-sports championship, Xerox PARC developments and much more. The author, Stuart Brand, worked closely with Bob Albrecht at the time. I advise you to look for Brand's World Catalog.
www.wheels.org/spacewar/stone/rolling_stone.html
A selection of PCC newspaper numbers.
archive.org/search.php?query=%22PCC%20Newsletter%22
searchworks.stanford.edu/catalog?f%5Bcollection%5D%5B%5D=cj445qq4021
Book "What to do after you press ENTER."
archive.org/details/Whattodoafteryouhitreturn
Book "101 computer game in BASIC."
www.ccapitalia.net/descarga/docs/1975-101-basic-computer-games.pdf Process
intensity according to Chris Crawford.
www.erasmatazz.com/library/the-journal-of-computer/jcgd-volume-1/process-intensity.html
As you can see, this will be a story about the affairs of bygone days. Why should anyone be interested in this? In my opinion, many old ideas and approaches regarding computer training have not lost relevance to this day. Some of my friends plan to create a computer system for teaching children programming. I hope this story will inspire such developers.

"The crisis of education"
Let's fast forward to 1957. The recently launched Soviet Sputnik-1 made, as you know, a tremendous impression on the United States. A good illustration of the mood that prevailed at that time was the cover of Life magazine for 1958, on which an excellent student from Moscow with a serious, penetrating gaze and his American peer-obtuse are side by side. The cover has the title “Crisis in Education”. Conclusions, to the credit of America, were made quickly and significant public funds began to be allocated to science with education.

The cover of Life magazine for 1958.
In particular, the famous ARPA agency (which later received the more familiar abbreviation DARPA) appeared on projects that are associated with long-term, promising and, often, not related to defense research. Thanks to the support of ARPA and the money of the military, the Internet and the first personal computers were created. A. Alan Kay spoke of the work of ARPA in those days: “The main idea of ARPA is that you find excellent specialists, you give them a lot of money, and then leave them alone. If they don’t do something good in 3 years (that is, something new and interesting), they will be fired. ”
Skinner's Box
Hopes for improving the quality of education were associated, inter alia, with the computerization of the educational process. And here, it would seem that the theories of behavioral psychologists popular at that time (from the word behavior - behavior), in which the pupil was regarded as an experimental animal, like Pavlov's dog, could not be better suited. The computer, in full agreement with these theories, is able to evaluate only external reactions. It is proposed to shape the desired behavior with the help of rewards and punishments. The most popular were the works of B.F. Skinner. He got his main results by training pigeons, whose reactions he controlled with the help of a special box.

Skinner's box.
A typical CAI course (Computer Aided Instruction) of computer training of the 60s, organized in the spirit of Skinner's work, is a demonstration of fragments from a certain field of knowledge, the assimilation of which is checked through dialogue with the user. In stimulating the desired “conditioned reflex”, the student is assisted by such incentives as points or a limited response time. A question for which an incorrect answer was received can be asked again, but with additional explanations or a demonstration of the correct option. By and large, the various CAI implementations differ from each other in the level of imitation of the teacher who directs the student’s actions and the use of approaches from the field of AI suggests itself here. On the other hand, it was the simple, linear CAIs that proved to be the most convenient from the point of view of development by teachers. Generally,
Bob Albrecht
In 1962, Bob Albrecht first began teaching high school students the Fortran language. Who is Bob Albrecht? They later wrote about him as a computer enthusiast educator who influenced young people in the late 60s and early 70s more than anyone else in the field. It was Albrecht who founded the People's Computer Company, but I will talk about this later. Back to 1962. Computers at that time occupied entire rooms and were owned by large corporations. Programmers had to wait in line for days in order to transfer their program for execution to the “priests” of the machine. A typical training option for the elite, and at best they were students of the corresponding specialties, were boring lectures, without using the computers themselves. Albrecht was lucky to organize the learning process in a different way, with the practical use of one of the CDC machines. At the same time, programming (solving school problems, games), and not CAI, was put at the forefront. In the classroom, a situation was encouraged when more experienced students tried themselves as teachers. The burning eyes of schoolchildren, their genuine interest in the development of computers became an incentive for Albrecht to seriously address the issues of computer training for ordinary people, far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC. In the classroom, a situation was encouraged when more experienced students tried themselves as teachers. The burning eyes of schoolchildren, their genuine interest in the development of computers became an incentive for Albrecht to seriously address the issues of computer training for ordinary people, far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC. In the classroom, a situation was encouraged when more experienced students tried themselves as teachers. The burning eyes of schoolchildren, their genuine interest in the development of computers became an incentive for Albrecht to seriously address the issues of computer training for ordinary people, far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC. far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC. far from computers and the interests of large companies. Of course, all this was made possible thanks to the help of the CDC, as well as the availability of state grants. In the mid-60s, 2 very important things also appeared for the development of Albrecht's educational activities: mini-computers and BASIC.
Mini computers
Today, the word “mini-computer” seems to have lost its original meaning. But once it was a whole era. The new element base, the computers themselves are “just” the size of a closet. And, of course, the use of time-sharing systems. Faster than the previous generation, mini-computers could serve several users connected at the same time. Communication with computers has become more interactive and accessible to a wider range of users. CRT monitors in the 60s were still too expensive and not widespread, so an electromechanical typewriter - teletype, was usually used as an input-output device. You print text on paper, the text is printed in response to you. Connecting teletypes to a mini-computer could also be remote, using a regular telephone line and an acoustic modem. In this remote mode, mini-computers were often used in American schools.

PDP-8 Mini Computer
Basic
Mini-computers and time-sharing systems made it possible to come up with an interactive programming language especially for beginners and non-programmers. Basic criticism is well known. However, it is better to consider the positive and negative properties of this language in the context of the time when it was really relevant. Many negative features, such as, for example, unstructuredness, are explained by the desire of the authors of the language to make possible the implementation of the BASIC interpreter even on the weakest mini-computers. One of the authors of the language, D. Kemeny, proposed writing computer programs as a teaching aspect. In this case, the student becomes a computer teacher. The student gains very useful experience in the process of formulating the problem in a form suitable for a computer.
One of those who immediately appreciated the possibilities of a new language in educational activity was Bob Albrecht. He even half-seriously organized a society to abolish the use of Fortran in training. Albrecht demonstrated the possibilities of BASIC with the participation of his students at numerous conferences and exhibitions. He was also one of the first to write several language tutorials. Perhaps the most popular BASIC programs were training simulations and games.
Simulations and games
It is very curious to read an article in 1966 entitled “Two Computer-Based Economics Games for Sixth Graders”. The article talks about an interesting experiment on the use of games in the educational process. Students using teletype terminals from IBM (this company participated in the project) communicate with a computer, and in addition, part of the information is displayed graphically using a slide projector. One of the games suggests trying yourself as a ruler during the Sumerian civilization. Information is provided on the current population and the state of resources. The player has to make decisions on the distribution of grain, etc. If you know the history of computer games well, then this description might seem familiar to you. Indeed, we have before us the forerunner of such games as Hamurabi (1968).

“Sumerian game”
Of course, the perception of new knowledge in a playful way is much more exciting than CAI. For example, I still gratefully recall text games on the ZX Spectrum computer, such as Sherlock. With the help of these games, I was once able to learn the basics of the English language. This gaming experience was more like getting into a foreign environment than a typical CAI course.
However, in many cases, the criticism of A. Kay, which he expressed in relation to the famous game SimCity, is applicable here. Kei was not happy that the game hides a lot from the user. The rules and heuristics that are used at the core of the game world are not available to us. If the student had this knowledge and the ability to modify the basic parameters, then he would be able, acting as a researcher, to understand at a deeper level the important principles that are used as the basis of the game model.
In the late 60s and early 70s, the Huntington Computer Project was supported by a state grant and, subsequently, DEC. The essence of the project was to create a package of training simulations on BASIC for pupils and students. These programs were focused on a variety of school subjects: biology, physics, social sciences. The code was intentionally simplified in order, firstly, to allow simulations to run on weak machines and, secondly, to enable students to explore programs. Among other project simulations, LIMITS stands out for its scale, in which the growth of the human population and the exhaustion of natural resources are modeled.
Mention should also be made of the first educational history games. This is Civil War (1968) on the theme of the US Civil War and, of course, the famous Oregon Trail (Oregon Trail, 1971), written in BASIC.
LOGO
It was said above about the theories of behavioral psychologists. Constructive psychologists demonstrate a completely different approach to the problems of education, among which J. Piaget and the Soviet scientist L.S. Vygotsky. In constructivism, the main role is played by the student, not the teacher. For the student, conditions are created under which he is independently able to grow, reinvent knowledge. Of course, the most important question is how this learning environment, stimulating the work of thought, is created.
In the field of computer training, the pioneer of the use of constructivism is S. Peypert (Seymour Papert). Peypert’s famous phrase was: “Should a computer program a child, or should a child program a computer?” Peypert and his colleagues at MIT created the Logo language (Logo, 1967) to teach children how to program. The logo is a very well-designed language, even by modern standards. He has incorporated many elements of the Lisp language. There are implementations of compilers and complex AI algorithms on the Logo. But he is known to the general public, of course, thanks to the “turtle”. The concept of painting turtles suggests that the child is able to easily imagine himself in her role and can, for example, “debug” the program, moving around the room in accordance with the given commands.
The tasks that the student solved with the help of programming on the Logo in the MIT laboratory of those times are significantly different from typical school programming problems (“calculate the sum of the squares of the first N even numbers” and the like). In a 1971 article, “Twenty Things To Do With A Computer,” Paper described some interesting uses of the Logo. Among them: control of a turtle-robot using a computer, drawing various pictures and cartoons on a monitor screen, students creating their own versions of the Spacewar game, generating music and poems, controlling a toy crane from the computer side, creating a light show using lamp control, self-creating a CAI courses for their peers, etc.

Mechanical turtle
In Logo classes, the children did about the same as their current peers do with Arduino and Processing. And the emphasis on things from the real world (a turtle robot, a toy crane, a light show), of course, is not accidental. Yes, driving a crane is more difficult than finding the sum of the numbers. But it’s much more fun!
Plato
Under the name PLATO, there is an astonishing computer training project created by the forces of the University of Illinois, with the support of the state and CDC. In 1972, the system consisted of a supercomputer and many terminals connected to it in various educational institutions. Each terminal was equipped with a keyboard and a plasma monochrome display with touch control and a resolution of 512x512. The main idea of the project was to use high-quality CAI courses: with good graphics and music. Here you can draw a parallel computer courses on CD-ROM for multimedia PCs, which also once had high expectations.

Terminal PLATO IV
Despite the fact that PLATO developed a simple high-level language TUTOR to create a CAI, in fact, the level of courses used within PLATO was far from always high. Fortunately, the system had the opportunity to independently develop programs on the terminals using TUTOR and make them available to other users. It was this opportunity that allowed PLATO to remain in history as a system that was ahead of its time, in which chat rooms, forums, e-mail and multiplayer games were widely used for the first time. These wonderful things were created mainly by ordinary schoolchildren and students.
Counterculture Influence
The counterculture of the 60s in the USA was a multifaceted phenomenon: psychedelic rock, the Back to Earth movement, anti-war protests, etc. In the computer field, countercultural ideals included decentralization and personalization of computers. In contrast to AI, which could be used by corporations to control the masses, approaches related to AI (strengthening natural intelligence), which put man at the head of the symbiosis of man and machine, were proposed. Among the main spokesmen for these ideals, V. Bush (Vannevar Bush), D. Engelbart (Douglas Engelbart) and T. Nelson (Ted Nelson) should be noted. The ideas of inventor B. Fuller (Buckminster Fuller) were also very popular in the countercultural environment. One of Fuller’s famous sayings is: “If you want to teach people to think in a new way, don’t even try to teach them. Instead of this,
These were the ideals that Bob Albrecht fully shared, who opened in the late 60s, most likely, the world's first computer club called the People's Computer Center (PCC). Anyone could get into it and use mini-computers and programmable calculators to their liking: for games, training and writing programs.
The atmosphere of the club can be imagined using the following quotation from the book of S. Levy.
“The air was usually filled with a chirp of terminals, one of which was connected to the PDP-8, and the other to a telephone line through which you could connect to a computer at Hewlett-Packard, which provided free time for PCC. It is very likely that someone was playing one of the games written by an overwhelming group of PCC hackers. Sometimes housewives who were sitting at home with children came with them here and suddenly became interested in programming, so much so that husbands began to worry that until now loyal mothers had abandoned both children and the kitchen in favor of BASIC's joys. Some businessmen tried to program a computer to predict stock quotes, and spent countless hours on this chimera.
The Saturday Review quoted Albrecht as saying: “We would like to see
friendly computer centers worked for them, where
any person can safely go, just like he goes to bowling or slot machines, and think out how interesting it is to spend time with a computer. ”
Albrecht's approach was to create an environment for children in which they could learn on their own. Of course, PCC employees were always ready to answer questions from visitors to the club or offer a tutorial. Seminars were held regularly. Albrecht spoke about the learning process as follows.
“When children first come to PCC, they usually play games. Sometimes 2 or 3 weeks. But at some point, almost every child asks a question: “And how to teach a computer to play such games? How can I write a game? “After a child has learned the basics of mathematics, perhaps with the help of CAI, we can explain to him how to write such simulator programs himself, to teach other children. And perhaps his program will be more useful to other children than a program written by a behavioral scientist sitting somewhere in his ivory tower. ”
By the way, the famous computer game “Hunt the Wumpus” (Hunt the Wumpus, 1972) was written precisely in the walls of the PCC club.
"People's computer company"
In 1972, Albrecht and his colleagues began to produce a newspaper called the People's Computer Company. This was not the first computer edition. Before it there were Computers and Automation (1950), Datamation (1957) and Computerworld (1967). But the "Company", of course, became the first computer newspaper aimed at the general reader. In the rooms a lot of space was given to BASIC and listings of games in this language. A large number of articles were devoted to computer art (graphics, music, poem generators). There were articles on the topic of choosing a mini-computer, book reviews. The PCC newspaper was distinguished by an unusual layout: various fonts, unexpected text layout, freehand drawings.
The motto of the newspaper was the following words: “Computers are more often used against people, instead of helping people. Used to control people, instead of releasing them. The time has come to change this - we need ... People’s Computer Company. "

Figure from the first issue of the PCC newspaper
The influence of the PCC (club, company, newspaper) was very great. Without the PCC, the famous Homebrew Computer Club would not have been. From the PCC, the “Dr. Dobb's Journal,” as well as the academic Computer Music Journal, grew up.
Nowadays, the format of the computer magazine itself has almost completely ceased to exist, but if you read the domestic magazine “ZX-Review” in the early 90s, then turning the pages of PCC can make you nostalgic smile.
"What to do after you press ENTER"
In 1975, PCC published a wonderful computer game book entitled What to Do After You Hit Return.
Oddly enough, this was not the first book on this subject. Back in 1973, D. Al published a book entitled 101 Computer Games in BASIC (101 BASIC Computer Games). It is curious that thanks are expressed in it to all the same Albrecht and PCC. Al's list consisted of games that he adapted to the DEC version of BASIC from other languages and computers. Each game was accompanied by a small description, an example of the gameplay and listing.
Back to "What to do after you press ENTER." The book contains mainly original games, many of which were published in the newspaper in previous years. Presented games can be divided into several categories.
- Number guessing options.
- Word games.
- Table games.
- Hide and seek on a 2d grid.
- Games with patterns (the game "Life", maze generators, etc.).
- Caves (traveling through tree graphs, Wumpus).
- Simulations (Hamurabi, King, Civil War, Market, simulations from the Huntington project).
- Sci-fi games (Star Trader, Star Trek).

PCC game book cover.
It is curious that this book on the Internet (at archive.org) appeared recently, in early 2017. And now some inaccuracies made by computer historians who did not have access to the text were already visible.
Star Merchant
Of particular interest, in my opinion, in “What to do after you press ENTER” is not even the games themselves, but the approach to their description, which I will further illustrate with the example of “Star Merchant”.
Star Merchant was developed in 1974 by Dave Kaufman, a PCC employee and a big fan of science fiction. The game is one of the most voluminous in code for its time. Its dimensions exceed the dimensions of such "heavyweights" written in BASIC, such as Star Trek and the Oregon Trail. In fact, before us is the founder of the space trade genre.
The Star Merchant page provides a general description and game rules. This is a turn-based game for several players, each of which owns several spaceships. Ships move from one planetary system to another and trade. Systems have a different level of development. In the center are the most developed of them, here you can buy high-tech products. On border systems, raw materials will be sold to you. The main task of the players is to earn more than rivals. Over the course of playing time, planetary systems slowly develop, and new stars can be discovered on the map.

Star map from the game
The game is quite exciting, and it is worth noting that it is not in the PCC pedagogical rules to present their games in the form of black boxes, inaccessible to understanding the internal structure and its changes. Just playing is not enough. Play creating your own version of the game - that's where the real pleasure! Therefore, the rest of the book contains a section entitled “2 Pages of Ideas for the Star Trader”. These ideas are designed to stimulate the imagination of the reader, as well as to encourage him to his own creativity. I will give only some of them.
- Create a new macroeconomic model.
- Create more than one star of the 1st class on the map (the highest level of development) so that competing shopping centers exist from the very beginning.
- Let the player "moonlight" piracy. But if he is caught - (think for yourself).
- How about trading between player ships?
The book explains in detail how the basic elements of the game are arranged. In particular, a simple procedural generation algorithm is used to create a star map. The trading algorithm on planetary systems is organized using a gradually narrowing price window. The economic model is set using a graph where the X-axis represents the development classes of planetary systems, and the Y-axis reflects the production or consumption of a product. In the program, the graph elements are presented in the form of coefficients of the equation of the line.

The economic model of the “Star Merchant”
On the network, I had recollections of how several students in the 70s effortlessly made a multi-user version of the “Star Trader”, where each player controlled the process from his teletype.
Python implementation
The Star Trader BASIC code has been around on the Internet for quite some time. At the same time, for some reason, no one has yet become interested in translating the game into a more modern language. One of the reasons, perhaps, is that the code posted on the Internet has incorrect data of the economic model in DATA operators. It was possible to find out only when the book appeared online. The game seemed interesting and undeservedly forgotten to me, so I decided to spend time on my own implementation in Python and try to maintain compliance with the original as much as possible.
Star Merchant is written in BASIC for Hewlett-Packard's 2000F system. Therefore, in the first place, it was necessary to find the documentation for 2000F and understand how non-standard designs work. The original program is split into two files. One of these files is used to set up a new game, and the other for gameplay. The created data for the new game is placed in special COM-arrays (from the word common - common), which are located in the memory available for other programs on BASIC. Thus, precious RAM was being saved at that time. When parsing algorithms, certain problems were caused by the unstructured code, as well as the use of comparison operators in arithmetic expressions.
The game has been rewritten in Python twice. For the first time, an interlayer was used, which allowed some basic “idioms” of BASIC to remain unchanged, such as array indices starting with 1. The second time I tried to make the code more readable, to withstand it in Python standards. For testing, a random team generator was used, with the help of which the actions of the players were simulated. The duration of the game was set for hundreds of years, and after the run, the game log was examined for any errors.
I will not say that the result completely suits me. I would like to make the code even more readable, especially for beginners. Nevertheless, I suggest you familiarize yourself with the project on github: github.com/true-grue/trader
Conclusion
In the process of reading “What to do after you press ENTER”, I had the following thought: it would be great to have a modern edition, with the code not in BASIC, but in Python (or Lua, or another language suitable for beginners). This will not necessarily be the same book. More important is the spirit of the book: a description of exciting games with a compact and readable code and, most importantly, with a detailed description of the internal device, as well as tips on how to improve the game.
Chris Crawford, a distinguished game developer, coined the term process intensity in the late 80s. This term for a specific game reflects the degree to which processes (i.e. game algorithms, equations, rules) prevail over data (graphics, music, text). Obviously, such early text games as Star Merchant have the highest intensity of processes. A small number of lines of code concentrate the core of the game, the "raw" gameplay.
In my opinion, studying small and well-written games with a high intensity of processes can be of great benefit to beginners. Especially if appropriate material for self-training is added to them. And when creating such games and, in a broader sense, simulations, as well as tutorials, it makes sense, it seems to me, to take advantage of the experience of Albrecht and Peypert.
Literature
S. Levy, “Hackers: Heroes of the Computer Revolution.”
The book is fascinating, although it contains some inaccuracies. The term "hacker" is used by the author in the old, positive sense.
Translation: rus-linux.net/MyLDP/BOOKS/zip/hackers-heroes.pdf
Article “Two computer economic games for sixth graders”.
This text is of great interest to computer game historians.
Link to sci-hub
A letter from Alan Kay criticizing the game SimCity.
www.donhopkins.com/drupal/node/134
An article about a Huntington project to create basic simulations.
files.eric.ed.gov/fulltext/ED174467.pdf
The story of the creation of the Oregon Trail game.
motherboard.vice.com/en_us/article/qkx8vw/the-forgotten-history-of-the-oregon-trail-as-told-by-its-creators
The story of the creation of the game "Vampus Hunt".
www.atariarchives.org/bcc1/showpage.php?page=247
Article "20 things that can be done with a computer" on the application of the Logo.
www.stager.org/articles/twentythings.pdf
It is also worth paying attention to the book of C. Peypert, which in the Russian translation is called "A revolution in consciousness: children, computers and fruitful ideas" ("Mindstorms").
Emulator PLATO. Until now, not much information is available about what this system was. On this resource you can register and see PLATO in action yourself.
www.cyber1.org
An amazing 1972 article in the famous Rolling Stone magazine. About the first e-sports championship, Xerox PARC developments and much more. The author, Stuart Brand, worked closely with Bob Albrecht at the time. I advise you to look for Brand's World Catalog.
www.wheels.org/spacewar/stone/rolling_stone.html
A selection of PCC newspaper numbers.
archive.org/search.php?query=%22PCC%20Newsletter%22
searchworks.stanford.edu/catalog?f%5Bcollection%5D%5B%5D=cj445qq4021
Book "What to do after you press ENTER."
archive.org/details/Whattodoafteryouhitreturn
Book "101 computer game in BASIC."
www.ccapitalia.net/descarga/docs/1975-101-basic-computer-games.pdf Process
intensity according to Chris Crawford.
www.erasmatazz.com/library/the-journal-of-computer/jcgd-volume-1/process-intensity.html