#Development

(AI generated)

First post of 2025!

Let me briefly share what I worked on today.

Refactoring the Blog

Maintaining the Theme

The theme used in this blog has been out of maintenance since 2022, as the original author stopped updating it. Many of the new features, like the Giscus commenting system, CC License, and Busuanzi statistics, were added by me. However, I never had the time to properly create a new repository for maintaining this theme. Instead, I awkwardly dumped the raw theme files directly into the themes folder, sitting alongside blog posts in the same repository. Most of these new features were implemented through rough “monkey patching” of the original files rather than following the proper Hexo theme standards to configure and expose interfaces.

Read More

(AI generated)
This report is also two weeks late. Actually, in terms of real progress, the project is nearly complete. However, I’ll sync the progress to when this report should have been published.

Project Progress

Filter and Collection

Completed the filter part, filtering the originally requested OSM bbox data into collections such as public transport and highway.

Considering that the editor primarily serves public transport, there’s no need to focus too much on editing building information and other data. The main focus is on highway and public transport. After referencing the OSM wiki, I wrote filters that use tag information to filter and categorize data.

For filtered data that needs to be displayed and edited, established a feature tree structure to maintain the tree relationships of OSM data, facilitating display and editing.

Read More

(AI generated)

Unfortunately, this report is two weeks late, so I’ll be publishing two reports together (the next one is also being written).

Project Progress

As of when this report should have been published, I had completed the React restructuring and preliminarily determined the composition of the UI editing module.

Restructuring

Deciding to restructure after one month into the project, with half of it already written, was certainly not an easy decision. However, the original technical choices couldn’t support the project’s continued development—not that it was technically impossible, but it would require more time and the complexity would become unmanageable.

Read More

(AI generated)

It’s been over two weeks since the last report, so it’s time to sync up on current progress.

Project Progress

The core modules have been largely finalized, allowing us to enter the latter stage of development. Future work will mainly involve adding new features within the existing framework.

First, we got the rendering part working, though some details still need polishing, such as styles and controlling rendered elements. These will be addressed alongside future functionality to ensure styles align with editing logic.

Second, I wrote an OSM API module that wraps some OSM interfaces with Promises and parses returned XML into JS Objects for easier program use.

Read More

(AI generated)

Two weeks of development have passed quickly, and it’s time to write a bi-weekly report.

Project Progress

The project is still in early development stages. While there isn’t a usable prototype yet, we can already render some test data.

The rendering implementation has been largely determined, and testing shows we can render points and paths.

However, some features haven’t been implemented yet since other module interfaces aren’t fully defined. For example, highlighting path segments individually rather than selecting the entire path as in the iD editor. Polygon rendering also hasn’t been implemented yet as it requires the editing module interface.

Read More

(AI generated)

In this OSPP project, I will develop an OpenStreetMap public transport relation editor based on modern frontend technology stack. I hope to make some contributions to the OSM community.

Project Goals

The goal of this project is to develop a cross-platform editor using modern frontend technology stack. This editor should be easy to operate with intuitive interactions. During the project, we will collaborate with the OSM China community to ensure high standards in both interaction design and functionality implementation.

Project Implementation

Basic Project Framework

Read More

Before Starting

Last summer vacation, I noticed The Witcher 3 had a deep discount on GOG, so I bought it for just 30 yuan. I got stuck in some cave in Velen fighting stone statues because I was too inexperienced 😂. Combined with my dissatisfaction about failing to help properly at White Orchard, making wrong choices when reporting to the emperor, and other issues, I decided to start a new save file and do things right this time.

For a fresh start, I thought I’d make some minor adjustments to Geralt’s appearance. I figured it would be quick to export to Blender, make changes, and import back, but it turned into three whole days of mod development. Due to lack of documentation, I had to rely on tutorials and guesswork, setting up a virtual machine to install wcc_lite, WolvenKit, and various tools, dealing with endless packing and unpacking, importing and exporting. The model was done early, but it had no textures after importing. I tried everything repeatedly. Finally, I tried manually editing the w2mesh file to write in the texture path, but the game crashed. So I gave up.

Seems I underestimated the difficulty of game development!

Gameplay Notes

After that, it was a normal progression. Velen isn’t a nice place - I rushed through the main quest, and except for Keira’s quest, I probably won’t want to return. The monsters in the wilderness are psychologically disturbing, it rains constantly, and the atmosphere is very depressing, significantly affecting one’s mental state. No wonder the Baron’s family has so many problems. I saved Black Beauty early on, achieving an ending where only the Baron’s family survives, which seems fitting enough. I wonder how this countryside could be so different from White Orchard - must be because of the dense forest. My hometown has hills, and I’ve experienced mountain paths in real life, but I never imagined it could create such a depressing experience. The developers clearly put thought into this, though perhaps it’s too heavy a burden on players. Things started feeling more normal once I reached Novigrad.

Read More

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×