
Chi tiết & Hướng dẫn sử dụng
🌀 Xuyên Không – Nông trại vượt thời gian
Web game nông trại (cảm hứng từ Khu Vườn Trên Mây) nhưng khu vườn tiến hóa qua 9 thời đại lịch sử, từ hang đá Đồ Đá Cũ tới trang trại trên Sao Hỏa.
Cách chạy
Cách 1 – Mở trực tiếp: nhấp đúp index.html. Không cần cài gì.
Cách 2 – Chạy máy chủ cục bộ (nên dùng khi phát triển):
node server.js
Sau đó mở http://localhost:8080. Trên Windows có thể nhấp đúp start.bat.
Chơi online & cài lên điện thoại
- Trang chính thức: https://time.aigame3d.com. Panel hosting build từ Dockerfile: game và API chung một container. Trước mỗi lần triển khai, chạy
node tools/test-all.js. - Cài như ứng dụng (PWA):
- Mở trang bằng Chrome/Edge rồi vào Menu ⚙️ trong game → 📲 Cài game lên máy.
- Trên iPhone: Safari → Chia sẻ → Thêm vào Màn hình chính.
- Sau khi cài, game chơi được cả khi không có mạng.
- Mỗi người chơi có dữ liệu riêng lưu trên máy của họ. Dùng Menu → Xuất/Nhập mã để chuyển máy.
Icon giao diện
Nút và tab của giao diện dùng Phosphor Icons (kiểu bold, giấy phép MIT), đã chép sẵn vào js/ui/icons.js nên chơi offline được. Dùng XK.icon('water') để lấy thẻ <svg> (tô theo màu chữ). Muốn thêm icon: tải file <tên>-bold.svg từ gói @phosphor-icons/core, dán phần <path> vào XK.ICONS. Hình vật phẩm, cây trồng, thời đại vẫn là SVG vẽ riêng hoặc emoji trong dữ liệu.
SEO
- Trang chủ có thẻ
title,description,canonical, Open Graph/Twitter, JSON-LDVideoGamevà một khối chữ ẩn (#seo-intro) cho công cụ tìm kiếm. - Các trang tĩnh
/huong-dan,/thoi-dai,/thoi-dai/<khóa>, cùngsitemap.xml, được sinh từ dữ liệu game bằngnode tools/gen-seo.js(nguồn ởpages/;robots.txt,og-image.pngở gốc). Sau khi sửa dữ liệu thời đại, chạynode tools/gen-seo.jsrồinode tools/gen-sw.js;test-all.jssẽ báo nếu quên. - Máy chủ (
server/api.js) phục vụ các trang không cần đuôi.html, nén gzip, cache biểu tượng/ảnh 7 ngày, và trả 404 cho đường dẫn không tồn tại. - Sau khi triển khai: thêm site vào Google Search Console và Bing Webmaster Tools, gửi
https://time.aigame3d.com/sitemap.xml.
Kiểm tra dữ liệu
node tools/check-data.js
Công cụ này xác minh mọi tham chiếu dữ liệu, đảm bảo ở mọi thời đại kỳ quan đều làm ra được, và mô phỏng vòng chơi cơ bản.
Bot cân bằng
node tools/simulate.js 3 15
Bot tự chơi trọn game để đo thời gian từng thời đại và tìm điểm nghẽn. Xem docs/04-CAN-BANG.md.
Tài liệu
| File | Nội dung |
|---|---|
| docs/01-GDD.md | Thiết kế game: cốt truyện, lối chơi, 9 thời đại, kinh tế |
| docs/02-KIEN-TRUC.md | Kiến trúc kỹ thuật, cấu trúc thư mục, cách thêm thời đại mới |
| docs/03-LO-TRINH.md | Lộ trình phát triển và trạng thái từng giai đoạn |
| docs/04-CAN-BANG.md | Báo cáo cân bằng: bot tự chơi, vấn đề tìm ra, kết quả |
| docs/05-DO-HOA.md | Đồ họa: phong cách, cách thay ảnh PNG, danh sách hình + prompt AI |
| docs/06-BAN-DO-KINH-TE.md | Bản đồ thành phố hiện đại dần & hệ thống kinh tế (dân số, thuế) |
| docs/07-ONLINE.md | Chơi online cùng bạn bè thật: tính năng, bảo mật, kiểm thử (có phương án Supabase) |
| docs/08-MAY-CHU-RIENG.md | Máy chủ riêng: PostgreSQL + API Node.js (server/), triển khai Docker |
| docs/09-KE-HOACH-RA-SOAT.md | Kế hoạch PM: chọn model + prompt rà soát/sửa lỗi/nâng cấp cho từng mảng |
| docs/10-CHOI-THU.md | Mời chơi thử: tin nhắn mời, góp ý trong game, đọc góp ý bằng tools/feedback.js |
| docs/11-FLYCAM-3D.md | Giao diện 3D Flycam (mặc định): điều khiển, thế giới theo thời đại, mã nguồn |
Cấu trúc nhanh
index.html Trang game
css/style.css Giao diện + theme từng thời đại
js/core/ Lõi: registry, util, state (lưu game + sao lưu), game (logic), town (bản đồ & kinh tế)
js/data/ Dữ liệu: era0.js … era8.js, neighbors.js
js/art/ Đồ họa SVG: art.js, era0–8.js, town.js, items.js (vật phẩm), people.js (nhân vật), assets.js (ảnh PNG thay thế)
js/online/ Chơi online: config.js, api.js (kết nối), social.js (lưu mây, người chơi thật, xếp hạng)
js/ui/ Giao diện: render, panels (tab), modals, town (bản đồ), audio (âm thanh)
js/main.js Khởi động, sự kiện, phím tắt, vòng lặp
sw.js, manifest PWA chơi offline (sw.js sinh bằng tools/gen-sw.js)
tools/ check-data, test-online, simulate, gen-sw, mock-supabase
server/ Máy chủ thật: API Node.js + PostgreSQL (Docker)
Dockerfile Build game + API chung một container (panel hosting)
server.js Máy chủ tĩnh cho phát triển
Source code Game 3D Xuyên Không
Web game nông trại (cảm hứng từ Khu Vườn Trên Mây) nhưng khu vườn tiến hóa qua 9 thời đại lịch sử, từ hang đá Đồ Đá Cũ tới trang trại trên Sao Hỏa.


