OpenUniverse is a voxel-based computer world designed for collaboration and learning. This project offers a unique opportunity to explore programming concepts, optimize performance, and contribute to an open-source community.
While Python may not match the speed of C++ or Rust, we chose it for three key reasons:
-
Challenging Optimization: Implementing this project in Python presents unique optimization challenges that foster deeper learning experiences. Fewer programmers undertake similar projects in Python, making this an invaluable opportunity for growth.
-
Enhanced Readability: Python's readability makes it accessible for newcomers to programming. Projects like OpenUniverse can guide aspiring developers through complex concepts in a more digestible format.
-
Philosophy of Programming: The primary focus should be on understanding programming philosophy rather than just mastering a specific language. Engaging with this project encourages a broader perspective on engineering and design principles.
Any programmer can use the code within this project to build their own worlds or contribute to enhancing OpenUniverse. This project utilizes an internal engine called FAE, built from scratch specifically for OpenUniverse. More information about FA-Engine can be found here.
You can download the latest released version of the project here, or view all released versions here.
To clone the repository, use the following command:
git clone https://github.com/MatinAfzal/OpenUniverse
To access the latest development code, clone the beta branch with:
git clone -b beta https://github.com/MatinAfzal/OpenUniverse
To run OpenUniverse, install the necessary dependencies with:
pip install -r /path/to/OpenUniverse/requirements.txt
Then, execute the main program using:
python /path/to/OpenUniverse/main/OpenUniverse.py
Contributions are welcome! Please submit your changes (features, optimizations, improvements, bug fixes) to the beta branch.
- Include a comprehensive description of all changes in your pull request.
- After review and approval, your contributions will be merged into the beta branch.
- Once stabilized, the beta version will be merged into the main branch with a new tag.
We invite you to join my Discord server for collaboration and discussion. For further inquiries, you can contact me at: contact.matin@yahoo.com.
Check out the video documentary series for OpenUniverse on YouTube! Each episode covers different aspects of the project, from engine creation to ongoing improvements.
-
Episode 1: Creating the Engine from Scratch
Dive into the development of the internal engine, FAE, and learn how it powers OpenUniverse. -
Episode 2: Enhancements and Improvements
Explore the recent improvements made to the project and how they enhance performance and usability.