I wrote this as a product note while building the first usable version.
Url: https://openworld.zone/blog/open-world-zone-product-direction-first-version
Notes From This Week
1. Current Project State
openworld-js is a self-developed WebGL 3D engine. Its core features:
- Rendering + physics engine only 40kb. The physics part is based on modified cannon.js, 29kb.
- Supports instanced rendering, already verified with a library scene of 300,000 books.
- Multiplayer online, first-person / third-person switch, Xbox gamepad support.
- Runs only in browser, no need for Three.js or Babylon.js.
- GitHub 23 stars, Zhihu article 75,000 reads, 1000 likes, 2200 saves.
Real problem: Zhihu has high heat but GitHub stars are few, and website PV is low, only 40 in the recent month. This shows that there is a big gap between "feels cool" and "really use". The root reason is that the engine is low-level infrastructure. There is no out-of-box product, so normal people cannot enter.
2. Core Product Direction
Essential idea: turn the internet from "paper tape" into "rooms".
Now 99.9% of the internet is flat. Douyin saves, folders, ebooks, information is hidden in paper tape. I often cannot find it, and I also do not want to find it. But 3D space can use building structure itself as index: floor = topic, corridor = category, room = concrete content.
Concrete form:
- A 3D small home that belongs to yourself.
- I can put notes, photos, and saved videos on the wall.
- Space is the index. I walk in and find things.
- A matching flat note website is used for content editing. The 3D world is used as the display layer.
- Later, I want a simple helper to put content in the right position.
This direction has a real market blank. It is not a fake need. Existing products, such as Obsidian and VR memory palace tools, have not made "building structure itself is the index" this point.
3. The Most Important Critical Obstacles
Input split: browsing in 3D space feels good, but writing words always needs to return to keyboard, so the workflow is split.
Search will kill spatial navigation: Ctrl+F is too useful. The advantage of spatial navigation becomes weak in front of search.
Habit migration cost is very high: users used document thinking for 20 years. Switching to "the note is in the third room on the left side of the third floor" needs the product to be good enough.
Creation cost is high: deciding which room to put a note in is slower than directly writing it down.
Any function is counted by month: independent developer time estimation has a systematic error of 4 to 10 times.
5. The Essential Conflict Between Two Roads
The Ge Fei road: fast, shallow, many. Find needs, quickly launch and collect subscriptions. One project in several days.
The 3D engine road: slow, deep, one. Any function starts from months. It cannot make money in the short term.
Pushing both at the same time means both sides are not done well. But there is a connection point between them: use Ge Fei methodology to make concrete products in the 3D direction. The engine is the barrier that others cannot copy away.
6. Today's Most Important Conclusion
The product core has only one thing: write words and put photos on walls in a 3D world.
Not multiplayer world, not automatic sorting, not a complex system. It is only this one thing.
And this thing was already done in last year's Cyber Walled City project. The code can be moved directly.
Today's task: move the wall writing / photo posting function into the new project. Just this one thing. Ignore everything else.
7. One Sentence Summary
I do not lack ideas, technology, or passion. What I lack most is a minimum version that normal people can use today, and the focus to make it. The engine is already enough. Today, I should start with that wall where people can write words.
Where This Started
The library I am making now, openworld-js, has very high performance. Around July last year, I used an early version of it to make a small project. At that time, it also got some heat on Zhihu.
The main point is very small size. Rendering plus physics engine is only 40kb. It can import custom obj models. But my suggestion is still to use boxes, balls, and other consistent objects with different width, length, and height to form most elements in the world, because there is instancing. Of course, my goal is simple: small size and extremely fast speed. Three.js and Babylon.js are already only several MB, but they are still very large after all, because this is on the internet. Of course, this is not a pain point either. Self-built server or Cloudflare R2 hosting is almost not a bottleneck. I also do not know why, I just do not want to use Three.js. I have worked for 8 months, and still do not know basic operation of Three.js and Babylon.js. But the physics engine is my modified cannon.js, compressed to 29kb. Maybe it was influenced by js13game.
Then later I played with many messy things for several more months. After that, to challenge the limit, I used it to make a library. The Zhihu external link may not be accessible, but the project was just a library: 29 meters wide, 9 meters long, 10 meters high, with 300,000 book spines inside. It can also be multiplayer online. If I add login, it can already directly make friends online. This was October 2025. https://ow.ccgxk.com/demo/house
The repository is this one: https://github.com/kohunglee/openworld-js. The commit history shows I have been playing with it all the time.
After that, I researched Ge Fei overseas business. But Ge Fei's road is to find new needs. If there is need, make it, launch new websites every day, then earn subscriptions. I also want to go that road, but I also want to make my openworld-js. If the two can combine, that would be better. Sadly, both cannot make money in the short term.
Of course, this program can be stored locally. I plan to provide a very simple download file. The source code and past commit data are all on GitHub. That means it can be used online, and it can also be completely stored locally. It is currently browser-based, but I do not know what it will become later.
My original intention is actually very simple. I want to have a 3D world where I can sort my thousands of records over many years into a small virtual 3D world. I want to have a small library that belongs to myself, and slowly live every day, slowly accumulating my good things into it. When the collection grows, I want the product to help me put objects where they should go. I actually want to be an architect, but I do not want to build things in the real world.
And this world is shared. One person can build in the west of the city, and I can build in the north of the town. Someone can build a wooden house, and I can build my big villa.
Online Minecraft is really powerful. But first, its graphics are all big voxels. Second, on the web its size can be called huge. Also it seems sharing on the web is a little hard. I still like my graphics. Because of limited technology and performance thinking, mine only has large directional light and no shadow. I think this is not the key point.
Also, actually I found another pain point. Now 99.9% of internet infrastructure is flat, such as Douyin saves, my local folder directory, and ebooks. Many things are hidden inside something like paper tape. I saved thousands of videos on Bilibili, but I may not look at them for many years, because I cannot find them at all. But I can store these things in another form into my 3D small home, small virtual office, and small library. It is surely not directly stored inside the 3D world. It is like a resource manager reference. The original file still stays at its original URL. I put what I like on the fourth picture frame of the second floor corridor. I put what I think is important temporarily in a visible place in the living room. Of course, 3D models I like can be put on the fence in the back garden as decoration.
And it supports free switching between first-person and third-person view, free FOV adjustment, Xbox gamepad support, and full immersion. I myself have deeply worked on it for 6 months. I feel that in 3D worlds, nothing is more comfortable than mine.
For example, the Anyang Yinxu Museum. I walked around inside for several hours, happily. I could see no fewer than 30,000 exhibits, and hundreds of thousands of words of explanation. I keep imagining the opposite: if this museum was today's online museum, pages one by one like web pages, not to mention engineering amount and national uncertainty, my desire to keep walking around would be very small.
As for trouble? It is fun. Although I did not make it based on a game purpose, I would rather write and draw for one hour in a 3D world than write on a dark flat board.
People still like walking in streets. As for 3D sickness, I do not care about it too much. After all, I cannot reject the whole idea only because some people are dizzy in 3D. Also, mine has not even started yet.
As for SEO, actually inside it there can be many matching flat web pages. I can give bookshelf number 5 a beautiful web page. This web page has SEO.
Small size is to make people feel light and comfortable. The saved file is also small. A giant private small world full of all kinds of collections I worked hard for years to build may only be several MB, or dozens of MB.
There are still many details I have not written down yet. I cannot say all my ideas in one breath, so I am keeping this as a small product note for now.
Why has no one tried to put notes into 3D space or similar software?
How to say it? Now there are Obsidian, Typora, XMind mind map, and so on. Notes can be displayed in one-dimensional and two-dimensional space forms. But why not create a 3D world on the computer, and then put notes neatly into those places?
I feel that when information is put into one-dimensional or two-dimensional space, the capacity very easily reaches the limit that the human brain can understand. But 3D space can hold many, many things. For example, inside a slightly larger 3D building, putting in more than 100,000 blackboards is very easy. It is not "free 3D", but structured 3D. For example, a virtual building: one floor holds one topic, two sides of the corridor are subtopics, and rooms contain concrete notes. The building structure of the space itself acts as the index. Almost no one has seriously done this direction now. Look carefully on the internet. I am now researching and doing this. More than 20 years have passed. Why is this field still blank?

Top comments (0)