I can has random heightfield generation
......oooxxxxooooo....o..o.ooooooooxoooxooo.ooo.o.ooo..... ......ooooxxxxxoooooo...o.oooooooooooooxxoooooooooooooo..... ........ooooxxxx*xxxxooooooooo.oooooooooxoooooxoooooooooooo..... ....oooooxxxxx*xxxxxxxooooooooooooooxxxxxooooooooooooooo.. .. ...ooooooxxxx**xxxxxxxxoooooooooooxxxxxxxxxoxxooooooooo... ..oooooooxx****xxxxx*xxxooooooooooxxxxxxxxxxxxxooooo.o..... ....oooxxxxx****x**xx**xxxxooxoxxxxxxxxxxxxxxxxxxoooo..... . ....ooooxxxx*************xxxxxxxxxxxxxxxxxxxxxxxxxxooo...... ...oooxxxx***************xxxxxxxxxxxxxxxx****x*xxxoo..... .. ...oooxxxxx****************xxxxxx******x*******xxxoooo....... ...ooooxxxxxx***********************************xxxoooo....... ......oooooxxxx**********************************xxxxxoooo...... ......ooxooooxxxx**************^*^^^^^************xxxxooooo..... ......oooooooxxx**************^^^^^^^^^^^^*******xxxxooooo...... ....oooooooooxxx*****^^***^**^^^^^^^^^^^^^^*******xxooooooooo... o..o.oooooooooxx*****^****^^^^^^^^^^^^^^^^^^******xxxooooooo..oo oo..oooo.oooooxxx***^****^^^^^^^^^^^^^^^^^^^******xxoooooooo..oo ooo..ooo.oooooxxxx******^^*^^^^^^^^^^^^^^^^^******xxxooooooooooo ooo.....ooooooooxx*******^*^^^^^^^^^^^^^^^^^^****xxxoooooo.ooooo oo.......oooooooxx*********^^^^^^^^^^^^^^^^^*****xxxxxoooooooooo o.......o..oooooxxx*******^^^^^^^^^^^^^^^^^^******xxxxoooooooooo ............ooooxxx*x******^^^^^^^^^^^^^^^^^^^****xxxxoooooooooo ............oooooxxxx*******^^^^^^^^^^^^^^^^^*****xxxooooooooooo o....... ..oooooxxxxx********^^^^^^^^^^^^^^^^****xxxooooooooooo o....... ..ooooooxxxxxxx*****^^^^^^^^^^^^^^^****xxxxoxooooooooo o...... ....ooooooxxxxxx****^^^^^^^^^^^^******xxooxoooooooooo. ....... ....o..oooxxxxx*x***^^^^^^^^^^^*****xxxxooooooooooo... ...... ......ooooxxxx*****^^^^^^^^^^*****xxxooooooo.o.o..... .. .. ......ooooxxxx****^^^^^^^^^^***xxxoooooooo.o........ .....oooxxx******^^^^^^^^^**xxxoooooooo........... ..ooooxxxx*****^^^^^^^^^***xxooooooooo....... ..oooxxxx*****^^^^^******xxxooo.oooooo...... ..oooxxxxx***^^^^^******xxoooo...ooo........ ..oooxxxxxx****^****xx*xxoooooooooooooo..... ..ooooxxxxx********xxxxxxoooooooooooo..... ....oooooxxxx*x**xxxxxooooooooooooooooo..... ....ooooooxxxxxxxxoooooooooooooooooooooo.. .. . .....ooooxxxxxxxxoooooooooooooooooooooo...... . ....ooooooxooxxxoooooooooooooooooooooo...... .......oooooooooooooo.oooooooooooooooooo..... . .... .oooooo.ooooo.....oo..ooooooooooooo... . . . .........ooo......o.oo...ooooooooooo... .. ..........o.........o....ooooooooooo.. .... .. ...................oooooooooooo.. .... ...... .........oooooooooooo.. .... . ...... ........ooooooooooooo.o .... .... ...........oooooooooooo.. .... ..................oooooooooooo o... .................oooooxooooooo o..... ...............o.oooooooooooo ooo.... ...............o.oooooooooooo ooo.... ............ooooooooooooooo ooooo... . . ..........o.oooooo.ooooooo ooooo......... ..........o.ooooooooooooooo .ooooo........ ............o.ooooooo..ooooo ...oo...o...... .... .............o.o..ooo..ooooo oooooo.oooo..... . . .. ...................o...oo.....ooo o...ooooooooo........ ............................oo....ooo oo..oooooooooo........ . ................o............ooo..oooo ......o..ooooo...........................................o...... ..........oo.oooo............oo......o...o.oooo................. ..........ooooooooo.................ooooooooooooo........o...... .... .....ooooooooooo.........oooooooooooooooooo........o....... .. .....oooooxxxooo..........ooooooooooooooooooo.....ooo......
Now of course it requires some tweaking so that my game world does not end up being Waterworld, or Dune, but there you go. Oceans, plains and mountains.
Note that it wraps around in both directions, so my world is a torus. And there is of course lots of parameters that can be changed. (Understand: I’m going to play with the parameters for a few hours, and then discard them anyway.)