Aetheria คือโปรเจกต์เกม MMORPG แบบ 3D ที่รันบนเบราว์เซอร์ได้ 100% โดยไม่ต้องโหลด Asset ภายนอก พัฒนาด้วย TypeScript ทั้งหมด เหมาะสำหรับนักพัฒนาที่ต้องการศึกษาการสร้างเกม Multiplayer แบบ Real-time ที่มีระบบครบวงจร ทั้งระบบ Server-side authoritative และการเรนเดอร์กราฟิกด้วย Three.js
หากคุณกำลังมองหาตัวอย่างการสร้างเกมบนเว็บที่ใช้เทคโนโลยีสมัยใหม่แบบ Full-stack นี่คือโปรเจกต์ที่น่าสนใจมากสำหรับการศึกษาโครงสร้างการจัดการ State และการสื่อสารข้อมูลผ่าน Network
Aetheria เป็นเกม MMORPG สไตล์อนิเมะที่สร้างขึ้นโดยใช้แนวคิด Procedural Generation ทั้งหมด ตั้งแต่โมเดล 3D, เสียง, ไปจนถึงแอนิเมชัน ไม่มีการโหลดไฟล์ Asset ภายนอก ทำให้ตัวเกมมีขนาดเล็กและโหลดได้รวดเร็วผ่านเบราว์เซอร์
โปรเจกต์นี้ถูกสร้างขึ้นโดยเน้นการทำงานแบบ Solo Development โดยใช้ TypeScript เป็นภาษาหลักในการเขียนทั้งฝั่ง Client และ Server ทำให้การจัดการ Type และ Data Structure ทำได้ง่ายและปลอดภัยยิ่งขึ้น
โปรเจกต์นี้ไม่ได้มีไว้สำหรับผู้เล่นทั่วไปเท่านั้น แต่เป็นแหล่งเรียนรู้ชั้นดีสำหรับ:
Aetheria มีฟีเจอร์ที่น่าสนใจมากมายที่ถูกออกแบบมาให้ทำงานประสานกันอย่างลงตัว:
| ฟีเจอร์ | รายละเอียด |
|---|---|
| World | Open world 200×200 พร้อม 9 Biomes และระบบกลางวัน/กลางคืน |
| Combat | ระบบ Server authoritative tick ที่ 20 Hz พร้อมสกิลและสถานะผิดปกติ |
| Social | ระบบแชท, ปาร์ตี้, จดหมาย, และการเยี่ยมบ้านผู้เล่นอื่น |
| Economy | ระบบ Crafting, ตลาดซื้อขาย, และ Gacha box |
| Platform | รองรับทั้ง Desktop และ Mobile (PWA) พร้อมระบบควบคุมแบบสัมผัส |
โปรเจกต์นี้ใช้โครงสร้างแบบ Monorepo โดยแบ่งส่วนการทำงานอย่างชัดเจน:
การที่ Server ทำหน้าที่เป็น Authoritative หมายความว่าทุกการเคลื่อนไหวและการกระทำของผู้เล่นจะถูกตรวจสอบโดย Server เพื่อป้องกันการโกง และ Client จะทำหน้าที่เพียงแค่ Interpolate ตำแหน่งและเรนเดอร์ภาพเท่านั้น
สำหรับการเริ่มต้นพัฒนาหรือทดสอบโปรเจกต์ในเครื่อง คุณต้องเตรียม Environment ดังนี้:
pnpm installpnpm devhttp://localhost:5173 เพื่อเริ่มเล่นหมายเหตุ: ตรวจสอบให้แน่ใจว่า Server รันอยู่ที่พอร์ต 2567 หากพอร์ตถูกใช้งาน ให้ปรับเปลี่ยนค่า PORT ในไฟล์ .env ของ packages/server
เพื่อให้เห็นภาพรวมของการนำไปใช้งานจริง นี่คือการเปรียบเทียบเบื้องต้น:
| ข้อดี | ข้อจำกัด |
|---|---|
| ไม่ต้องโหลด Asset ภายนอก (เร็วมาก) | เป็นโปรเจกต์เดี่ยว (Solo project) อาจมีบั๊กแฝง |
| ใช้ TypeScript ทั้งระบบ (Type Safety) | ต้องการความเข้าใจเรื่อง Colyseus และ Three.js |
| รองรับ Mobile/PWA | การขยายตัว (Scalability) ต้องทดสอบเพิ่มเติม |
| สถาปัตยกรรมชัดเจน | เอกสารอาจยังไม่ครอบคลุมทุกเคสการใช้งาน |
ไม่จำเป็น เกมทำงานบนเบราว์เซอร์สมัยใหม่ (Chrome, Edge, Firefox, Safari) ได้ทันที
ได้ Aetheria ออกแบบมาแบบ Mobile-first มีระบบ Virtual joystick และ UI ที่ปรับแต่งให้เหมาะกับการสัมผัส
เพราะโปรเจกต์นี้ใช้เทคนิค Procedural Generation ทั้งหมด ทุกอย่างถูกสร้างขึ้นด้วย Code ในขณะรันเกม ไม่ได้โหลดไฟล์ .glb หรือ .mp3 มาจากภายนอก
Aetheria เป็นโปรเจกต์ที่น่าประทับใจสำหรับนักพัฒนาที่ต้องการเห็นการประยุกต์ใช้ TypeScript ในการสร้างเกม MMORPG บนเว็บ การเลือกใช้ Tech Stack ที่ทันสมัยและการออกแบบระบบแบบ Procedural ทำให้โปรเจกต์นี้มีความโดดเด่นและเป็นกรณีศึกษาที่ดีเยี่ยม
หากคุณสนใจที่จะศึกษาโค้ดหรือมีส่วนร่วมในการพัฒนา สามารถเข้าไปดูรายละเอียดเพิ่มเติมและ Source code ได้ที่ GitHub: mositron/Aetheria
Windows Subsystem for Linux (WSL) คือเครื่องมือที่ช่วยให้นักพัฒนาสามารถรัน Linux command line, ยูทิลิตี้ และแอปพลิเคชันต่างๆ ได้โดยตรงบน Windows โดยไม่ต้องพึ่งพา Virtual…
Microsoft AI ได้ประกาศก้าวสำคัญครั้งใหม่ด้วยการเปิดตัวโมเดลตระกูล MAI จำนวน 7 รุ่น ที่ถูกพัฒนาขึ้นเองตั้งแต่ต้น โดยเน้นความสามารถในการประมวลผลที่หลากหลาย ทั้งด้านการคิดวิเคราะห์ การเขียนโค้ด และสื่อมัลติมีเดีย เพื่อยกระดับการทำงานขององค์กรและผู้ใช้ทั่วไปให้ก้าวไปสู่ยุคถัดไปของปัญญาประดิษฐ์คำตอบโดยสรุป: Microsoft AI…
หากคุณกำลังมองหาโซลูชันสำหรับการสร้าง Avatar ที่สมจริงและสามารถโต้ตอบได้แบบเรียลไทม์ AVTR-1 คือโปรเจกต์โอเพนซอร์สบน GitHub ที่น่าจับตามองอย่างยิ่ง โดย AVTR-1 เป็นโมเดลแบบ Autoregressive ที่ใช้เทคนิค Flow Matching ในการประมวลผล…
AVTR-1 คือโปรเจกต์โอเพนซอร์สที่น่าจับตามองสำหรับนักพัฒนาที่ต้องการสร้าง Digital Avatar ที่มีความสมจริงสูง โดยใช้เทคนิค Flow Matching Autoregressive Model เพื่อสร้างการเคลื่อนไหวของริมฝีปาก (Lip-sync) และปฏิกิริยาโต้ตอบ (Active Listening)…
Hidden Gems in Phrae: 10 Places Most Tourists MissPhrae is often overshadowed by its famous…
Where to Eat Authentic Local Food in SukhothaiWhen travelers visit the historic kingdom of Sukhothai,…