First Log


Title: **Creating a Dynamic and Immersive Starfield in Godot**

Introduction:

Our journey began with a simple yet compelling idea: to create an immersive, interactive starfield in Godot. We set out to craft a realistic representation of a galaxy, with a focus on creating spiral arms and a black hole at the center, all while maintaining a natural and organic feel.

Building the Foundation:

The foundation of our project was creating a star, a simple object with properties such as size, color, and brightness, each determined by a specific set of probabilities. We used Godot's StaticBody2D node to represent the stars and attached scripts to govern their properties.

The Black Hole and Star Arms:

We introduced a black hole at the center of our galaxy, represented by a Node2D instance. For the spiral arms, we loaded instances of another scene that contained the 'Stars' Node and then implemented functions to place and rotate these arms around the black hole. To ensure proper spacing and to prevent overlap, we created a correlation between the number of arms and the scale of the black hole.

Generating the Stars:

With the foundation in place, we began generating our stars. We used a Path2D node to create a spiral path along which the stars would be placed, and with the aid of Godot's built-in random number generator, we introduced variations in the positions of the stars to create a natural look. We took care to ensure that stars did not overlap with one another or the black hole by adding collision detection logic.

Dynamic Scalability:

We wanted our galaxy to be dynamic and scalable, so we linked the number of stars, their distance from each other, and the number of spiral arms to the scale of the black hole. This ensured that as the black hole grew larger, the galaxy would expand accordingly, maintaining the aesthetic and functionality of the design.

Challenges:

During the course of our journey, we encountered various challenges, such as managing the performance impact of adding more stars and arms, preventing overlaps, and maintaining the natural look and feel of the galaxy. However, by carefully balancing and tweaking different variables like displacement, scale factor, and the number of stars, we managed to overcome these obstacles.

Adjusting the Aesthetic:

One of the crucial adjustments was the scale factor that affected how spread out the stars were. Modifying this often led to deformation, making the galaxy look either too narrow or too wide. By linking the scale factor to key variables, such as the displacement standard deviation and the number of stars, we could adjust the aesthetic look of the starfield while maintaining the organic feel.

Conclusion:

Our journey to create an interactive starfield was an incredible exploration of Godot's powerful features, blending creativity and logic to create a realistic and immersive galaxy simulation. Despite the challenges we faced, our project stands as a testament to what can be achieved with imagination, a keen sense of aesthetics, and the versatile capabilities of Godot.


Future Developments:

As we venture further into our galactic exploration, we have an array of planned enhancements to make our starfield more interactive and customizable.

Firstly, we aim to introduce Path Nodes for each star, creating an intricate network of travel paths. These paths would allow for interstellar navigation, potentially paving the way for gameplay elements such as intergalactic travel or resource gathering. These travel paths could also be visualized, further adding to the rich visual tapestry of our starfield.

Secondly, we plan to design a comprehensive UI layout that would allow users to customize the generation of the galaxy. The new interface would provide controls for adjusting various parameters such as the number of stars, the scale of the black hole, the number of spiral arms, and more. This would enable users to directly influence the look and feel of the starfield, making each galaxy truly unique.

Thirdly, the addition of a player UI with clickable actions on stars is another major development we're excited about. This feature would facilitate user interaction with individual stars, possibly uncovering unique star properties, triggering events, or revealing additional information.

Lastly, our journey does not stop here. We envision introducing various other enhancements, such as additional celestial bodies, varying star types, and a host of other interactive features. We're committed to improving and enriching our starfield, creating an ever-expanding universe teeming with possibilities. We look forward to sharing these updates and more in our ongoing galactic adventure.

Files

star_generation.zip Play in browser
Jul 01, 2023

Leave a comment

Log in with itch.io to leave a comment.