These past few days, I've been working on multi-models. Actually, my idea is to implement as many large-scale models as possible.
WebGL itself starts to lag after 80,000 instance models, so I try to implement dynamic loading as much as possible, allowing distant content to be loaded dynamically as needed when the main character moves far away.
In fact, it's quite counterintuitive—building a model is simple. For example, this library only took me 3 to 5 days to code. But figuring out how to achieve its current form took me nearly a month!
This is what it currently looks like: https://ow.ccgxk.com/demo/dev001/
I'd like to start by saying something from before.
I first published this project around October 18, 2025, on Zhihu, a Chinese website similar to Quora. The link is here: https://www.zhihu.com/question/389957213/answer/1962681678376984942. It suddenly seems to have become very popular.
So I thought, what if I created a three-dimensional world that could accommodate a lot of buildings?
So I started researching, on and off, until December 2025, when I finally managed to get it to this point. To be honest, I was very disappointed, but I guess I didn't give up.
My project is written using WebGL.
Initially, it came from a framework by a "code golf" expert: https://xem.github.io/W. When I saw this framework, I was amazed that it could realize such a world per second in just 2kb.
In May 2025, I started researching. I was just a JavaScript newbie. But I learned a lot, little by little.
Then I added the cannon.js physics engine. My goal from the beginning was very clear: a very small game engine. So I worked on compressing the size of cannon.js, and it worked quite well; my current project uses a very small version of cannon.js, only 29kb!
Afterwards, I made many optimizations to the interaction and instantiation aspects. Then, on July 2025, I released an example of an online note-taking system: https://git.ccgxk.com/myWorkSpace/webgl_show/cyber_city/cbcity.html.
Those colorful blocks filled me with longing. However, my development progress was very slow because I had too many trivial matters in my life.
Then, on August 2025, I created a simple program to add blocks. At the end of September 2025, I started thinking about whether to build a library. And so, on October 2025, my library was finally completed!
That is the past.
Then in mid-November, I wanted to create my own brand, so I registered the domain name openworld.zone. But procrastination kept getting in the way, and by the end of December 2025, which is almost 2026, it was still not done.
I hate my procrastination, but thankfully, this project has been progressing smoothly for the past six months. So be it...
I must at least initialize my openworld.zone before the end of 2025!
No comments:
Post a Comment