LOADING

Loading is too slow. Please enable caching.
The browser disables it by default.

<

Sussurros SMP

2024/4/9 - 2024/11/24Personal Projects, JavaScript

WhispersJS 🧩

Breathing Life into Sussurros SMP?

When I embarked on the journey of developing Sussurros SMP, I envisioned more than just a Minecraft server; I aimed to craft an immersive world where stories unfold organically. WhispersJS became the tool through which I could weave intricate narratives and automate server behaviors, enhancing the roleplay experience for our close-knit community.

The Genesis of WhispersJS

Sussurros SMP was conceived as a private server to foster interaction among friends, with a strong emphasis on roleplay. The name 'Sussurros'—meaning 'whispers' in Portuguese—captures the subtle storytelling and lore that permeate our world. As the main developer, I took on the responsibility of not only hosting the server but also scripting its unique behaviors using the KubeJS mod.

It is also important to emphasize that, although all the codes are mine, the rest of the staff team helped me with 3D models and sprites for the items.

Crafting the Experience

While the scripts I've written might seem simple at first glance, each serves a purpose in enriching the gameplay:

Automated Events: From scheduled item cleanups to dynamic world events, automation ensures the server remains lively and responsive.

Custom Items and Mechanics: Collaborating with the staff team, we've introduced bespoke items and mechanics that align with our evolving lore.

Player Engagement: Scripts that respond to player actions help maintain immersion and encourage deeper engagement with the world.

🤝 Collaborative Efforts

Though I handle the scripting, the visual and conceptual aspects are a team effort. The staff's contributions in creating 3D models and sprites for custom items have been invaluable, adding depth and authenticity to our server's universe.

I would like to highlight, above all, my partner and great friend who brought to life most of the 3D models and sprites that were used throughout the project: StoneDudis


Check out StoneDudis's site and portfolio


The End of a Chapter

Like all stories, Sussurros SMP came to a close. The project is no longer active, but WhispersJS remains as a record of what we built together—code written not just for function, but for feeling.

What I Took from It

During the development of WhispersJS for Sussurros SMP, I learned a great deal about how programming and storytelling can intertwine. Some of the key lessons I took away from this project include:

How to Design Immersive Logic, Not Just Mechanics: Creating systems that not only function but also build an immersive experience was a major challenge. Focusing on timed events and how they could be more than just “cleanup” processes, I realized that game mechanics are only one part of the experience. Creating environments and atmospheres within a Minecraft server requires a more thoughtful and detailed approach. It was a process of learning to code not just actions but to consider the emotions and reactions each event could evoke in players.

The Value of Clean, Reusable Scripts in Modded Environments: At first, I wrote quick, results-driven code that prioritized getting things done fast. But as the server grew, I quickly realized that poorly structured code became difficult to maintain. By investing more time into making scripts clean, well-organized, and reusable, I learned the importance of sustainable coding, especially in a modded environment like Minecraft. This required extra care because mods introduce complexities—dependencies, conflicts, and performance considerations—that make writing efficient and modular code crucial.

How Storytelling and Systems Can Coexist in Code: Perhaps the most impactful lesson was the integration of storytelling with programming. WhispersJS wasn’t just about functionality—it had to tell a story, evoke emotions, and create an atmosphere. I learned the importance of thinking about the narrative behind each line of code and how the server mechanics should serve the story rather than simply existing as isolated features. Every command, event, and trigger had to contribute to the world and the immersion, and this was a challenge that made me see coding as a tool for creative expression.

Resilience and Adapting to New Challenges: Like any large project, Sussurros SMP presented unexpected challenges. From adapting mods to writing complex scripts that integrated smoothly with the server, I learned that flexibility and patience are key when solving problems and finding creative solutions. Many times, I had to adapt the code to work harmoniously with the rest of the server’s systems, which gave me a sense of personal growth and resilience.

The Power of Collaboration: Although I was responsible for the technical side, the success of the project was undoubtedly due to the wonderful collaboration with the staff team. The exchange of ideas on how to implement roleplay mechanics and add custom content to the server was vital in making the experience richer and more unique. I learned that communication and collaboration between different areas of development are essential for achieving complete and successful results.

The Unique Challenges of Modded Minecraft Development: Working with a modded Minecraft server presented its own set of challenges that directly affected how I approached coding. Mods introduce additional layers of complexity—whether it’s compatibility with other mods, performance issues, or the need to customize scripts to interact with existing modded features. Writing scripts for a modded server meant being especially cautious about the interactions between mods and the server’s overall performance. It required a deeper understanding of how mods operate, and how my code could work alongside them without causing issues. This taught me the importance of thorough testing and consideration of the larger modded ecosystem when building new features.

This project taught me to look at programming in a more holistic way, understanding that code is not just a technical solution but also a way to tell stories, create atmospheres, and generate memorable experiences. By integrating these lessons, I feel like I’ve grown not only as a programmer but also as a creator and collaborator in a larger project.