Hacktoberfest 2021 Recap

Hacktoberfest is an annual celebration of open-source put on by Digital Ocean, by encouraging people to contribute to and support open-source projects. Participants who submit 4 or more pull requests to public projects on GitHub are rewarded with swag.

While winning a free shirt might not be the biggest source of motivation, it is an excellent opportunity for project to identify opportunities for new contributors to step in and make a difference, and an opportunity for folks looking to contribute to dip their toes in the water.

The H’uru projects on GitHub are open-source and elligible for Hacktoberfest credit, and for the past several years we’ve seen a number of contributions during these times. This year we had a record-breaking 41 pull requests, including some by first-time contributors!

Plasma engine client & tools

This is the Plasma engine as open-sourced by Cyan, which includes the MOULa game client, some related tools, and the 3D Studio Max plugin.

There were some really great quality-of-life fixes here that improve the game, as well as some bug fixes and preparation work for future content. Not all of these pull requests are finished and ready to merge, but an important part of open-source is collaboration and feedback on ideas as they are developed.

MOULa assets & game content

This project is all the MOULa game assets, including fan Ages and the Intangibles. Most of the work here involved fixes to existing game content, and set up work for future expansion.

Special shout out to Hazado, who has shown incredible skill at applying fixes and customizations to existing game data with surgical precision. Several of his pull requests are the technical implementation side of work by other community members, including new clothing outfits and updated translations.

DIRTSAND server

DIRTSAND is an unofficial open-source implementation of a MOULa-compatible server, and is most prominently used for the Gehn Shard. It is also popular as a local server for development purposes and testing out content.

This year’s fixes by Hoikas focused mostly on crashes and deadlocks around mismatched SDL versions.

libHSPlasma I/O library

libHSPlasma is an open-source Plasma data library that handles data from multiple versions of Plasma, and provides the base for many other tools like PlasmaShop, korman, and MoulKI.

There were a few fixes here this year, in particular one from new contributor roblabla to add some missing network messages. Thanks Rob!

PlasmaShop tools

This is the all-in-one, one-stop-shop for Plasma engine tools. Including game file editors, a log viewer, an offline Vault editor, PRP editing tools, and more.

Zrax did some work to make the code match modern conventions, as well as a performance improvement for log viewing.

Korman Blender plugin

Korman is the open-source plugin for building and exporting Uru content from the free Blender 3D modelling program.

It didn’t receive significant attention this year, but Doobes did contribute preliminary some work to improve connecting Python scripts to object animations and Deledrius contributed several cleanups and a modifier fix.

string-theory shared library

This is a C++ UTF-8 text-handling library written by Zrax, based on work to clean up string handling and conversions in the Plasma engine. Originally called plString, this was extracted into its own library that is now used by both Plasma and libHSPlasma (and other non-Uru-related projects).

This year’s work by dpogue focused on maintenance to the continuous integration build scripts and ensuring Solaris is supported.

Guild of Writers forum theme

The Guild of Writers forum theme has been needing some template updates, and Deledrius took a stab at fixing some of the compatibility issues.

Myst Online Intangible Assets

We are pleased to announce that Cyan has graciously decided to open up the project formerly known as Intangibles under the Creative Commons BY-NC-SA 4.0 license. This project includes design documents, textures, audio, and 3D models for Ages and other D’ni areas that were in the planning stages for addition to the game. The assets are in various stages of development, including (but not limited to) concepts and massing models.

The Guild of Writers’ H’uru Team is currently working to bring the majority of these assets into our version control system to facilitate collaboration. However, you may also download the assets as provided by Cyan. The Guild of Archivists has also begun cataloging much of this material in their Unexplored Branches project.

Reflecting on 10 Years of Open-Source Uru

It was 10 years ago today that Cyan unexpectedly released the source code for the Uru game engine client and related development tools. I recall thinking it was inconvenient timing, because I was less than a month away from being finished with school, but right in the middle of final projects and exams when the source was released. It’s funny looking back at all the excitement – and politics – and seeing where it led to.

A lot changes over the course of 10 years. Sometimes a lot stays the same too. Our group of developers has seen people come and go over the years, and I’m incredibly grateful to get to work alongside many of these people — in some cases for over 15 years developing tools and Uru-related projects long before the engine codebase itself was released. It’s not an understatement to say that Uru is directly responsible for my becoming a software developer, and I owe a lot to these folks who patiently explained concepts and patterns to self-taught younger me.

A lot changes in a codebase over the course of 10 years too, and that’s what I want to focus on today.

Graph of commits to H-uru/Plasma on GitHub since 2011

There have been almost 700 pull requests merged to the Plasma project since we mirrored the original source code on GitHub. Some of the highlights include:

  • Replacing the Visual Studio 2003 project files with the CMake build system, which allows building on multiple platforms with various compilers and IDEs.
  • Updating the physics engine to PhysX 4.1 which is open-source and cross-platform.
  • Updating the scripting library to Python 3.9.
  • Simplifying management of library dependencies, and writing new user-friendly build instructions.
  • Significant code modernization by adopting features of new C++ standards in favour of custom implementations.
  • Various performance improvements and gameplay enhancements, such as clipboard functionality and widescreen support.
  • Lots of code cleanup to allow for 64-bit and (in future) native macOS and Linux clients

This work has been a group effort, with lots of contributions from the core H’uru team as well as numerous community contributions. A big thank you to everyone who has contributed to Uru over the years, whether through code changes, bug reports, tutorials and documentation, or gameplay testing.

Tosholek Version 2 Released for PotS

The updated version of Tosholek is out for PotS users. Click the link to get it. Let me know if there are any issues!
Tosholek V2.0

Update Notes:
Lighting overhaul using lightmaps
Updated journal using new book system
Textures updated and refined.
Optimized the Age so that additions can be made easier in the future.

CWE Development Library Bundle Update

After many delays, much hemming, and lots of hawing, the ability to play WebM video (vp9/opus) was merged into the main codebase today. You should still be able to compile the new codebase after this merge; however, if you would like to be able to see videos in the client, you will need to download the new devlibs bundle.

There are currently no official WebM versions of the Cyan introduction video nor the MOUL intro video. For now, you will need to convert them using third party utilities if you want them to play. We hope to fix this in the near future.

Tosholek Reborn

Let’s begin again, shall we?

View post on imgur.com

View post on imgur.com

View post on imgur.com

The next incarnation of Tosholek, and the first area of Sholek’s Arc is close to completion. This area was one I originally built for the old D’ni Location Contest. As part of my efforts to reduce the amount of shame and cringing I feel when I look at my old Ages, I have updated Tosholek. Featuring improved lighting, deeper backstory, and a heavier rock, this Age won’t give you endlessly repeatable gameplay but it will give you a window into the life of the Prophet of the Snake.

Age Concepts: Maho

Admittedly I’ve been a bit too ambitious when it comes to my Age projects. I had dreams of making my own expansion pack for Uru and so the projects I grouped together for the Beneath storyline ended up at around 9 Ages.

Thus far I have completed 4 of those Ages and the others are in various states of development. Central to this storyline was an Age called Maho which was Written by a character who goes by the name of ‘Lore’.

Read More…

Deconstructing Ages: Introduction

I’ve been meaning to pen a series of articles regarding content development for some time. The goal of these articles is to explain in part the process I go through myself in content development as well as offer advice for your own content.

Before I get started I would like to ask you a question. Why do you want to build content for Uru?

It is a relatively simple question but it gives one an understanding of how far they are prepared to go. Are you building content just for a lark? Then you may not be interested in long term skill development. Are you building content because you want to contribute to Uru? Well then that opens up possibilities. From where we could ask do you want to to build something for people to enjoy? Or perhaps do you want to build something that will one day be on par with Cyan content? Simply put the more serious a content builder is about their content the more likely they would be interested in developing their skills and pushing their talents further.

This image you see here, is of a D’ni area I built called Fehnir’s House.

You may be familiar with the location already, you may not be. This is what I am building at the moment of writing this article, indeed this image is of a build of the location I have not released yet. Looks nice right? But what if I told you that the first ever Age I built and exported was two bowl shaped masses made of a UV sphere that looks like a giant bra (not the intention). Furthermore it had no lighting and was not texture mapped correctly.
A considerable amount of my early models were similar in how, quite frankly, terrible they looked. But at the start of this I asked myself this question, why do I want to build content for Uru?

My answer was this…
I was introduced to Myst back in 1998, it has been a huge influence in my life and continues to be. In 1998 I was just starting at a school for Art and Design and my artwork was unsurprisingly inspired by Myst. I built worlds up through my paintings drawing on influences like Roger Dean to flesh them out. So when content building for Uru developed it was the perfect venture for my interests. I wanted to actually build a world where people could walk through it, I wanted to share in the feeling Cyan set down of actually feeling like you were there. In order to do this I knew I needed to keep practicing and build content that was as good as Cyans.

I have come a long way since, and I still have a lot to learn. Is my content as good as Cyans? I guess it really depends who you ask there are some that would say it’s up there. Do I think my content is as good as Cyans? No, I do not. But one day it will be if I keep working at it.

Now I am lucky, I come from a background in art and design. The things I learned at college and university I apply to my Ages, even basic things like colour theory. But I learned these skills over time, thus it is possible for others to learn these skills.

The articles will be a series that will look at different things like initial age ideas, lighting, texturing/texture making, and other aspects. I hope to give interested parties a glimpse into the kind of processes I go through in the development of my own content in the hopes that perhaps you can take ideas away from it that will benefit you.

Vaal’lin Concept: Linking Scrolls

Myst, Business, and Artistic Integrity

There has been a bit of public drama recently over the Myst movie project. The purpose of this post is not to delve into the drama, to drag it out into the daylight, or to step into the middle of the he-said/she-said. The purpose is to look at how this fits in to Cyan’s handling of the community and especially how it fits in to our efforts to see Uru completely open-sourced.

If there is one thing I have learned during my time as an Uru developer, it is that Cyan’s plans are unknown to everyone, including Cyan themselves. They are more than willing to change their direction and priorities – something which in most cases would be commendable. Certainly if Cyan had not been flexible over the past decade Uru would have ceased to exist in any form long ago. Unfortunately, they are so poor at communicating these changes that they seem at best mercurial and at worst vindictive.

This lack of communication has shown itself time and again in our dealings with them. I unfortunately cannot list all of the details here – I am not willing to reveal communications which were assumed to be in private – but suffice it to say that there are threads which Cyan simply ceased to participate in with no warning or explanation. Threads which at the time were, or so those participating were led to believe, central to Cyan’s plans around the future of Uru. To this day I do not know why Cyan ceased to participate in that (semi-)public discussion; I doubt I ever will.

But poor communication is not the only takeaway from recent news. The other, and I feel the more dire, is Cyan’s priorities – they have, inadvertently, finally communicated something to the fans: making money off of Myst is more important than artistic integrity. This is perhaps an inevitable result of their 19-year reliance on the Myst franchise to sustain their existence. But that inevitability does not make the result any less disappointing. And it does not bode well for our hopes of seeing fan stewardship of Uru.

I have said for quite some time that the best thing that could happen to Uru would be for Cyan to cease being involved. This is not because I have felt they have any malice, but simply because I did not believe they had the resources to give it the love and nurturing it deserves. In light of this recent news, my belief is strengthened. Cyan has shown not just a lack of resources, but a willingness to compromise D’ni. This cannot be allowed to become the future of our Uru.

I would ask you to tell Cyan what you think of their priorities, but unfortunately Cyan has shown little willingness to listen to their fans when making important decisions. Instead I ask you to let Cyan go from your lives. Choose to explore on a fan shard instead. Give your donation dollars to the developers, artists, and admins who are passionate about helping D’ni grow once more. Are you willing to see our great City stagnate and rot? Or will you be part of the new restoration and help to bring Uru and D’ni into a shining new future?

Page 1 of 512345