- PVSM.RU - https://www.pvsm.ru -
Возможно, кто-то помнит замечательную олдскульную космическую игру Star Control 2. [1] В свое время меня поразила огромная звездная карта с неизведанными планетами, которые предстояло исследовать на фоне разворачивающейся глобальной катастрофы. С тех пор как авторами были опубликованы исходные коды, игра была портирована под новым именем The Ur-Quan Masters [2] на большинство современных платформ.
Покопавшись в исходниках, я обнаружил простой алгоритм, генерирующий текстуры планет, и написал программу на Python, позволяющую генерировать аналогичные текстуры.
Вот несколько возможных вариантов раскрашивания одной и той же карты высот:
Для запуска программы необходимо установить Python 2.7 [3] и несколько библиотек к нему: NumPy [4], PIL [5] и PyOpenGL. [6]
Программу можно скачать из репозитория git: https://github.com/barabanus/starcontrol [7]
Программа состоит из двух независимых скриптов: planet.py (генерирует текстуру), и space.py (рисует вращающуюся планету с наложенной текстурой).
Некоторые особенности управления:
Программа создавалась на MacOS, тестировалась на WinXP. Если вы нашли и смогли исправить ошибку в коде или украсили рендер — пишите и предлагайте изменения.
Автор: barabanus
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/python/84077
Ссылки в тексте:
[1] Star Control 2.: https://en.wikipedia.org/wiki/Star_Control_II
[2] The Ur-Quan Masters: http://sc2.sourceforge.net
[3] Python 2.7: https://www.python.org/download/releases/2.7/
[4] NumPy: http://sourceforge.net/projects/numpy/
[5] PIL: http://www.pythonware.com/products/pil/
[6] PyOpenGL.: http://pyopengl.sourceforge.net/
[7] https://github.com/barabanus/starcontrol: https://github.com/barabanus/starcontrol
[8] Источник: http://habrahabr.ru/post/251419/
Нажмите здесь для печати.