diff --git a/projects/projects_2024-25/Report-Quentin-Mertens-62042000.md b/projects/projects_2024-25/Report-Quentin-Mertens-62042000.md new file mode 100644 index 0000000000000000000000000000000000000000..6b9f9671f506363fffcee65b53a627e0004d42d8 --- /dev/null +++ b/projects/projects_2024-25/Report-Quentin-Mertens-62042000.md @@ -0,0 +1,60 @@ +# **LINFO2401 project report - Contributing to an Open Source project** + +| **Author** | Quentin Mertens| +| ----------------------- | ---------------------------------------------------------------------------- | +| **Date** | 16/12/2024| +| **NOMA** | 6204-20-00| +| **Academic Year** | 2024-2025| +| **Open Source Projects** | [Geographical-Adventures](https://github.com/SebLague/Geographical-Adventures) & [Powah!](https://github.com/Technici4n/Powah)| +| **Pull request made** | [#131](https://github.com/SebLague/Geographical-Adventures/pull/131) & [#208](https://github.com/Technici4n/Powah/pull/208) | +| **License** | [MIT](https://github.com/SebLague/Geographical-Adventures/blob/main/LICENSE) & [GNU Lesser General Public License v3.0](https://github.com/Technici4n/Powah/blob/1.21.1/LICENSE) | + +## Context + +Here are the details about my contribution to two open-source projects : + +- **Geographical-Adventures**, a game developed by [Sebastian Lague](https://www.youtube.com/@SebastianLague) that allows players to explore the Earth on a plane. The goal is to deliver packages to various locations around the world while learning about geography. + +- **Powah!**, a mod for Minecraft that adds new energy systems and machines to the game. It is developed by [Technici4n](https://github.com/Technici4n) an old EPL student but also a very big contributor to the Minecraft modding community, having developed or contributed to many mods, notably with his [Applied Energistics 2](https://www.curseforge.com/minecraft/mc-mods/applied-energistics-2) mod having 160M+ downloads. + +## Choice of Projects + +For a long time I searched for tools or apps I used that were open-source. But that only lead me to big projects which were quite hard to contribute to, or projects in programming laguanges I did not know. After many hours of searching and raking my brain, I found these 2 'smaller' projects that I could contribute to. Here's why I chose them : + +- I chose Sebastian Lague's project because I really liked his videos made on its development, and I like the concept of a game that is both fun and educational. + +- For the second project, I chose Powah! because I have used it in the past and knew that it was quite new, meaning it should not be too complex to contribute to. + +## Contributions + +### Process + +For both projects, I followed the same process to contribute : I first searched in the Issues for a task that I could do, then I forked the repository, cloned it on my machine, (made the changes, tested them) -> until success, and finally made a pull request. + +### Geographical-Adventures + +The Issue I chose to fix was about a city in Kazakhstan that changed name between the time of creation of the game and now. The city was called Astana, but it was renamed to Nur-Sultan in 2019, and re-renamed to Astana recently. There was also a mistake in the coordinates of the city, as it was on the location of another big city in Kazakhstan. I fixed the name and the coordinates of the city in the game. + +#### Testing and Validation + +For the Geographical-Adventures project, I had to install Unity to compile the game and test my changes. It took a bit of squirk to test it, as the cities are randomly given to the player and there's A LOT of cities possible. So I had to reduce the number of cities to test my changes. But ultimately, I was able to test my changes and validate them. + +#### Pull Request + +Once my changes validated, I screened the proof of validation and made a pull request. The pull request unfortunately has still not been merged as (I realized later) the project is not actively maintained. + +### Powah! + +The Issue I chose to fix was about the mod informations not correctly updated after the fork of the original project to Technici4n's account, as the previous maintainer had left the project. I updated the mod informations to reflect the new maintainer and the new repository. + +#### Testing and Validation + +Once the changes made, I had to compile the mod (not so easy) and create a Minecraft instance using it (and its dependencies) to test the changes. I was able to test the changes and validate them. + +### Pull Request + +Once my changes validated, I screened the proof of validation and made a pull request. The pull request was merged in the following week, which felt great after the first pull request not being merged. + +## Conclusion + +I am really happy to have contributed to these projects, even if it was a bit of a fail with the first one. I learned to better look at the activity of the project before contributing. I also learned a lot about the process of contributing to open-source projects, and I will definitely do it again in the (near) future, or even create my own open-source project.