FORTRAN Computer Games

FORTRAN is almost as easy to learn as BASIC, and there is much evidence to show that it is still a viable language for programs of any complexity. Outside the field of commercial data processing, where COBOL reigns supreme, there is no doubt that the majority of large systems are implemented in FORTRAN. This is particularly true of simulators which of course have much in common with simulation games.

-- Eric Solomon: Game Programming (1984)

Games & Fun in FORTRAN

A collection of source code listings of small games & programs in FORTRAN 77, mostly ports of BASIC type-in programs:

  1. Acey Ducey -- simple card game
  2. Buzzword -- phrases generator
  3. DELMAR -- horse race simulation
  4. Donut -- spinning ASCII donut
  5. Guess -- guess a number
  6. Guillotine -- French variant of the hangman game
  7. Hamurabi -- ancient city management game
  8. Jackpot -- slot machine
  9. Magic 8-Ball -- fortune telling
  10. Penney’s Game -- sequence prediction
  11. Pi -- Spigot algorithm
  12. Rock, Paper, Scissors -- play against the computer
  13. ROT-13 -- encoder/decoder
  14. Russian Roulette -- virtual revolver
  15. Wumpus new -- adventure game from 1973
cool crab

You have access to a real computer? There is a FORTRAN 77 compiler available!

More FORTRAN Games

Slightly more complex text games, written in FORTRAN 77:

And even more FORTRAN games with available source code.

Random Numbers in FORTRAN 77

The ANSI FORTRAN 77 standard does not include any pseudo-random number generator (PRNG). Most compilers provide extensions. In any case, we can link PRNG procedures written in FORTRAN 77:

In Fortran 90, we have access to the intrinsic subroutines RANDOM_SEED() and RANDOM_NUMBER().

Computer Graphics in FORTRAN 77

Libraries to draw graphics to screen:

Early Computer Games & Simulations in FORTRAN

There are many examples of early computer games and simulations originally written in or later ported to FORTRAN:


Last Update: Mon, 11 Dec 2023 16:32:40 +0100
Created: Mon, 06 Sep 2021 21:56:26 +0200