- I do all my writing in LyX. (So does Raj Chetty, see here.)
- For writing/displaying games, the packages by Martin Osborne are helpful.
- For graphs, tikz is a useful package. See the excellent short introduction by Jacques Crémer.
- For simulations, symbolic computation and numerical solving I use Python, especially the packages NumPy, SciPy and SymPy. (I can never remember which of these packages is part of which other package; Anaconda is a good platform that has everything you need to get started.)
- All of these programs and packages are open source and free.