Generate random pixel art galaxies! In honor of Hubble Space Telescope, SNES videogames and Bob Ross
8-bit Hubble is a desktop application that generates PNG images of galaxies with an 8-bit appearance - also known as Pixel Art. The galaxies are random: number of stars, its color, size, position, shape, as well as other elements like background color (technically, the nebula) are randomly chosen.
Re-implementation in Go already available
Here are some examples:
8-bit Hubble its a humble tribute to:
For technical details and more info, visit the Wiki of the project
8-bit Hubble is also a proof of concept project, whose goal is to test the compatibility between Safety-Critical System Software goals and "Clean Code" principles, like Test Driven Development, Extreme Programming, and Continuous Integration.
Also, the project is a sandbox for "homebrew principles", like a 5s Philosophy Directory Structure.
8-bit Hubble is a single executable. No installation is needed. Click here to go to the downloads page, select your version, and click on "Download" button (at the right side of the screen). Once downloaded, usage is straightforward: double click on the exe and
$> git clone https://github.com/amcajal/8_bit_hubble.git
Modify the <root_dir>/project/dev/test/high_level_test/python_uat.py (instructions in the very file) with the proper information. Otherwise, several errors will appear during the build.
Run "setup.sh" script. It performs a full build process. Use bash, not sh! (dependency checking, executable build, tests running, coverage and performance reports, etc).
$> cd <project root dir>
$> bash setup.sh
A "setup_log.txt" is generated with the results of the build process. If everything is correct, then the GUI can be launched (as explained in the previous section), or the CLI version.
$> 8_bit_Hubble_cli.exe --help
$> cd <root_dir>/project/dev/integration
$> make clean
$> make all
$> make tests
Then, under /test/ dir, the executable can be launch
$> make all TARGET=windows
Finally, to jump right into the code, its recommended to start reading the "big_bang_core" module implementation, located at <root_dir>/project/dev/src/big_bang_core/
About 8-bit Hubble:
Alberto Martin Cajal is the original author of 8-bit Hubble. 8-bit Hubble is released under GNU GPL version 3.0 license. Check LICENSE file for a full version of it, or visit the official GNU web page
About libpng and GTK:
These libraries are third-party libraries and are NOT owned by 8-bit Hubble author.
libpng is released under the libpng license. Check the official webpage.
GTK+ is released under GNU LGPL license. Check the official webpage
8-bit Hubble is open to contributions! Check the related page at the Wiki of the project
Alberto Martin Cajal at:
The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka' but 'That's funny...'