All Projects → amcajal → 8_bit_hubble

amcajal / 8_bit_hubble

Licence: GPL-3.0 license
Generate random pixel art galaxies! In honor of Hubble Space Telescope, SNES videogames and Bob Ross

Programming Languages

c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to 8 bit hubble

Aseprite
Animated sprite editor & pixel art tool (Windows, macOS, Linux)
Stars: ✭ 14,832 (+25038.98%)
Mutual labels:  sprites, pixel-art
SlopeCraft
Get your map pixel art in minecraft
Stars: ✭ 298 (+405.08%)
Mutual labels:  sprites, pixel-art
pixel-art
A minimalist, cross device compatible pixel art editor.
Stars: ✭ 72 (+22.03%)
Mutual labels:  sprites, pixel-art
Slate
Pixel Art Editor
Stars: ✭ 723 (+1125.42%)
Mutual labels:  sprites, pixel-art
Sprites As A Service
Generate your personal 8-bit avatars using Cellular Automata, a mathematical model that simulates life, survival, and extinction
Stars: ✭ 177 (+200%)
Mutual labels:  sprites, pixel-art
Pixelorama
A free & open-source 2D sprite editor, made with the Godot Engine! Available on Windows, Linux, macOS and the Web!
Stars: ✭ 2,535 (+4196.61%)
Mutual labels:  sprites, pixel-art
SpookyGhost
A procedural sprite animation tool made with the nCine
Stars: ✭ 185 (+213.56%)
Mutual labels:  sprites, pixel-art
Deadsimple Pixel Perfect Camera
An exceedingly easy-to-use pixel perfect orthographic camera script for 2D scenes in Unity. Punch in a few specs and you've got a working pixel perfect camera. It's that easy.
Stars: ✭ 186 (+215.25%)
Mutual labels:  sprites, pixel-art
Pixieditor
PixiEditor is a lightweight pixel art editor made with .NET 5
Stars: ✭ 210 (+255.93%)
Mutual labels:  sprites, pixel-art
galaksio
An easy-to-use way for running Galaxy workflows.
Stars: ✭ 19 (-67.8%)
Mutual labels:  galaxy
HeySpace
中英文混排自动加空格
Stars: ✭ 35 (-40.68%)
Mutual labels:  space
nuu
SciFi-MMORPG-2d-Scrolling-Action-Trade-Adventure
Stars: ✭ 17 (-71.19%)
Mutual labels:  space
8192px
A collaborative pixel art experiment
Stars: ✭ 64 (+8.47%)
Mutual labels:  pixel-art
vscode-sc2-galaxy
Visual Studio Code extension providing language support for StarCraft 2 Galaxy Script
Stars: ✭ 26 (-55.93%)
Mutual labels:  galaxy
pxlsrt.js
Node.js module for pixel sorting.
Stars: ✭ 46 (-22.03%)
Mutual labels:  pixel-art
Random-Weapon-Generator-For-Unity
a Borderlands 2 inspired, part-based random weapon generator for Unity Engine
Stars: ✭ 29 (-50.85%)
Mutual labels:  random-generation
RandomGenKt
Kotlin port of RandomGen
Stars: ✭ 28 (-52.54%)
Mutual labels:  random-generation
SpaceX
PowerShell module to interact with api.spacexdata.com
Stars: ✭ 25 (-57.63%)
Mutual labels:  space
witnet-solidity-bridge
Witnet Bridge for EVM-compatible blockchains
Stars: ✭ 46 (-22.03%)
Mutual labels:  random-generation
pokecss-media
Compilation of images of all Pokémon 3D sprites, icons and items. This is a fork of a now removed respository.
Stars: ✭ 21 (-64.41%)
Mutual labels:  sprites

project_logo

License Version Build Status codecov

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: Galaxy_collage

8-bit Hubble its a humble tribute to:

  • The Hubble Space Telescope, mankind's technological prodigy showing how important and amazing the space exploration is. In fact, the images generated are somewhat similar to the ones at "What is Hubble looking at now?"
  • Classic Videogames: technology made entertainment; titles like R-Type DX, Super Mario World, Metroid, and TMNT Turtles in Time serve as inspiration for the sprites of the application.
  • Bob Ross, the legendary painter. The "wet-on-wet" technique, used by Ross, serve as model to the application algorithms (a kind of Painter's Algorithm. A comparison between Ross famous catchphrases and the algorithm can be seen here.

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.


Index

  1. Quickstart
  2. Contributions
  3. License
  4. Contact

Quickstart

For users:

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

  1. Choose the image's name
  2. Optional, choose a seed for the image (it will control the random generation process)
  3. Click "Generate". Any errors will appear in the messages windows. Otherwise... enjoy!

For developers:

  • Clone the repository:
$> 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
  • To run tests:
$> cd <root_dir>/project/dev/integration
$> make clean
$> make all
$> make tests

Then, under /test/ dir, the executable can be launch

  • For windows, things are a little more complicated. Open the Makefile (under <root_dir>/project/dev/integration) for more information, but in summary, launch the following command:
$> 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/

Back to index

License

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

Back to index

Contributions

8-bit Hubble is open to contributions! Check the related page at the Wiki of the project

Back to index

Contact

Alberto Martin Cajal at:

Back to index


This project has been created trying to make it useful. This project has been created in order to learn new things. But over all, this project has been created because it is fun. As Isaac Asimov said:

The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka' but 'That's funny...'

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].