1 คะแนน โดย GN⁺ 1 일 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เป็น โปรแกรมจำลอง SNES แบบใช้ GPU ที่เขียน ZSNES ขึ้นมาใหม่ทั้งหมด พร้อมคอร์ CPU และเสียงที่แม่นยำยิ่งขึ้น รวมถึง คอร์ PPU แบบใช้ GPU
  • รองรับ hi-res Mode 7 และฟีเจอร์ปรับปรุงพิเศษเฉพาะเกม พร้อม UI ความละเอียดสูง และ UX ที่ดีขึ้น รวมถึงฟีเจอร์อำนวยความสะดวกอย่างกรอเร็ว, ย้อนกลับ, save states และประวัติการบันทึกอัตโนมัติ
  • Super Enhancement Engine รองรับเกมยอดนิยม 7 เกมในตอนนี้ และมีทั้งการเสริมรายละเอียดแบบกำหนดเองความละเอียดสูง, texture/normal map, overclock, widescreen, การแทนที่เสียงแบบไม่บีบอัด และเอฟเฟกต์ 3D ที่อิงกับ Mode 7
  • ฟีเจอร์เสริมทั้งหมดสามารถปิดแยกเป็นรายตัวได้ และข้อมูลการปรับปรุง ไม่มี ROM หรือข้อมูลที่มีลิขสิทธิ์ รวมอยู่ด้วย ดังนั้นผู้ใช้ต้องเตรียม ROM เอง
  • สามารถดาวน์โหลดได้บน Windows, Mac, Linux และ Android โดยตอนนี้ยังอยู่ในขั้น early build จึงยังมีบั๊กการจำลอง special chips ที่ยังไม่รองรับ รวมถึงงานที่วางแผนไว้เพิ่มเติมอย่างการปรับแต่งประสิทธิภาพและ Netplay

ดาวน์โหลดและแพลตฟอร์มที่รองรับ

สถานะการพัฒนาและฟีเจอร์ที่วางแผนไว้

  • ขณะนี้ยังอยู่ในขั้น early build จึงยังมีบั๊กในการจำลองอยู่
  • special chips อย่าง DSP1, SuperFX เป็นต้น ยังไม่ได้ถูกนำมาใช้งาน
  • ยังมีงานปรับแต่งประสิทธิภาพอีกมาก จึงอาจทำงานได้ค่อนข้างช้า
  • ต่อไปจะมีการเพิ่ม bug fixes, special chip emulation, การปรับแต่งประสิทธิภาพเพิ่มเติม, ฟีเจอร์ปรับปรุงอีกมากขึ้น และ Netplay

1 ความคิดเห็น

 
GN⁺ 1 일 전
ความคิดเห็นจาก Hacker News
  • การเปลี่ยนเสียงแบบไม่บีบอัดน่าจะเจ๋งมาก และก็อยากรู้ว่าจะมีผลงานอะไรออกมาจากตรงนี้บ้าง
    Mathew Valente หรือก็คือ TSSF ทุ่มเทอย่างน่าทึ่งในการตามหาร่องรอยของแซมเปิลต้นฉบับที่ Nobuo Uematsu ใช้กับ Final Fantasy ยุค SNES และ PSX
    เกือบทั้งหมดเป็นแซมเปิลจากฮาร์ดแวร์/ซอฟต์แวร์ซินธิไซเซอร์ในยุคนั้น แล้วเขาก็นำมันกลับมาปรับแต่งเพลงใหม่ด้วยแซมเปิลต้นฉบับ ซึ่งไม่ใช่แค่ลากวางธรรมดา แต่ต้องอาศัยการตัดสินใจทั้งเชิงเทคนิค เชิงดนตรี และเชิงอัตวิสัยอย่างมาก
    ผลลัพธ์ออกมาสวยงามจริง ๆ และถ้าคุณชอบเพลง Final Fantasy คลาสสิก ช่องนี้ก็น่าจะถูกใจมาก
    วิดีโอหนึ่งที่ผมชอบเป็นพิเศษคืออันนี้: https://www.youtube.com/watch?v=XQhxNkZH-DE

    • ผมไม่คิดว่านี่จะดีหรือพึงประสงค์เสมอไป เพลงของ SNES หลายเพลงถูกแต่งมาโดยคำนึงถึงลักษณะของการบีบอัดเสียงด้วย และพอเอามา “รีมาสเตอร์” แบบนี้ บางทีก็ฟังแปลกและไม่เข้าที่
      ผมเห็นด้วยกับสิ่งที่ Pitchfork พูดถึงแทร็กคลาสสิก Stickerbush จาก Donkey Kong Country
      ถ้าเอาเครื่องดนตรีที่ถูกคลายการบีบอัดมาจำลองใน FL Studio แม้องค์ประกอบการประพันธ์จะยังอยู่ แต่ชุดโทนเสียงที่ตั้งใจให้ไม่บริสุทธิ์จะหายไป
      มันกลายเป็นเปียโนธรรมดา รีดที่ฟังเหมือนแซ็กโซโฟนจริง ทำให้พื้นผิวเหนือจริงและความตึงเครียดหายไป เพราะงั้นผมจึงคิดว่าคำว่า “restoration” เองก็ผิดฝาผิดตัว
      เดิมที Wise ตั้งใจทำเพลงนี้ภายใต้ข้อจำกัดของ SNES และอยากให้เสียงที่จำกัดนั้นรู้สึกไร้ขอบเขต
      https://pitchfork.com/reviews/tracks/david-wise-stickerbush-symphony/
    • ทั้งที่ลงทุนลงแรงถึงขั้นหาแซมเปิลได้ครบ แต่กลับมีดีเลย์ที่สังเกตได้ชัดในเสียงขาออก ก็ค่อนข้างแปลก
      ถ้าเทียบกับเพลงต้นฉบับ จะได้ยินว่ามันตามหลังในห้องที่ 3: https://www.youtube.com/watch?v=JLrsUOA4Vb4
    • ตัวอย่างฟีเจอร์นี้ดูได้จากช่อง Modern Vintage Gamer เช่นกัน
      ดูได้จากลิงก์ timestamp ด้านล่าง และยังมีวิดีโอที่พูดถึง Super ZSNES แบบเต็ม ๆ ด้วย
      https://youtu.be/r5twUkvYFpA?t=617
    • Jammin' Sam ก็ทำงานคล้ายกันกับซีรีส์ Donkey Kong และเกมอื่นอีกบางเกม: https://www.youtube.com/@JamminSamMiller/videos
      ยังมี MSU-1 pack ที่ใส่แทร็กของเขาไว้ด้วย ทำให้เล่นเกมพร้อมเสียงที่ดีขึ้นได้
  • ZSNES คือส่วนสำคัญของวัยเด็กผมเลย
    ตอนที่มันเพิ่งออกมาใหม่ ๆ ช่วงปลายยุค 90 ถึงต้นยุค 2000 ผมโหลดมันมาเพื่อเล่นเกมโปรดผ่านอีมูเลชัน และยังได้เล่นโปรเจกต์แฟนแปลอย่าง Star Ocean กับ Tales of Phantasia ผ่านมันด้วย

    • ผมเล่น Chrono Trigger จบด้วยเครื่อง 486 โดยปิดเสียงกับเอฟเฟ็กต์ความโปร่งใส
      บางช่วงวัตถุโปร่งใสคล้ายเมฆบังทั้งหน้าจอ จนต้องปิดเลเยอร์ด้านบนเองด้วยมือ
      ตอนพ่อแม่ไม่อยู่บ้าน ผมจะเอา savestate ลงแผ่นฟลอปปีแล้วย้ายไปเล่นต่อบน Pentium 166MHz แบบเปิดเสียงและความโปร่งใสเพื่อแอบเล่นต่อ
      น่าจะทำแบบนั้นกับ Super Mario World เกือบทั้งเกม และกับ Final Fantasy บางภาคด้วย เป็นช่วงเวลาที่สนุกมากจริง ๆ
    • ผมเองก็ได้รู้ว่่า Tales of Phantasia ยอดเยี่ยมแค่ไหนก็เพราะ ZSNES
      ชุมชนแปลเกมมีความมุ่งมั่นแทบจะเข้าขั้นบ้าคลั่ง ที่แพตช์เกมญี่ปุ่นได้ทั้งที่ไม่มีซอร์สโค้ด และพาอัญมณีที่ตลาดบ้านเราไม่มีมาถึงมือเรา
      แม้คำแปลจะมีบางจุดที่ดัดแปลงค่อนข้างอิสระ แต่แค่ฉากบนเรือฉากเดียวก็คุ้มแล้ว
      แถมด้วย ZSNES การปรับความเร็ว, เซฟ/โหลดเร็วได้ตลอดเวลายังยอดเยี่ยมสุด ๆ
    • ผมนึกถึงหนึ่งในช่วงเวลาสุดยอดเกี่ยวกับ ZSNES ขึ้นมาได้
      ตอนปีที่โรงเรียนเริ่มทดลองใช้นักเรียนพกโน้ตบุ๊กเป็นเครื่องมือการเรียน ผมนั่งเรียนคณิตอยู่และตามปกติต้องเปิดสไลด์ประกอบการสอนทิ้งไว้
      แต่มีนักเรียนคนหนึ่งติดตั้ง ZSNES ลงโน้ตบุ๊กแล้วนั่งเล่น Killer Instinct ระหว่างคาบ
  • หน้าโฮมเพจประเมินความเจ๋งของโปรเจกต์นี้ต่ำไปมาก
    MVG ทำวิดีโอภาพรวมไว้ดีมาก: https://www.youtube.com/watch?v=r5twUkvYFpA

    • ผมเข้าใจว่าทำไมถึงไปในทิศทางนี้
      เรื่องความแม่นยำในอีมูเลเตอร์ SNES นั้น higan/bsnes ครองตลาดไปแล้ว ดังนั้นแทนที่จะเดินตามเส้นทางเดิม ก็มุ่งไปในแนวทางของตัวเอง
      แต่สิ่งที่กังวลคือความต้องการด้านฮาร์ดแวร์
      เพราะชื่อเสียงเดิมของ ZSNES คือการรันได้ดีบนฮาร์ดแวร์จำกัดด้วยลูกเล่นและแฮ็กอันชาญฉลาดสารพัด
    • มันน่าประทับใจนะ แต่ความรู้สึกตอนเห็น UI ของ ZSNES ต้นฉบับ เปลี่ยนมาเป็น UI ของ Super ZSNES นั้นช็อกอยู่เหมือนกัน
      พลังของความคิดถึงนี่แรงจริง ๆ
      https://imgur.com/a/R63BKTe
    • โหมดจอกว้างทำงานได้ดีกว่าที่คิดไว้มาก จนน่าประหลาดใจ
  • น่าจะทำแบบที่ PPU emulation จับสถานะรีจิสเตอร์สุดท้ายของทุกพิกเซลเอาไว้ทั้งหมด แล้วให้ GPU เรนเดอร์แต่ละพิกเซลจากสถานะนั้น พร้อมจัดการ layer blending, color math และการคำนวณ mode 7 ได้ด้วย
    ถ้าไม่ซีเรียสเรื่องความแม่นยำมากนัก ทำระดับ scanline ก็ได้
    แต่จากที่ MVG วิเคราะห์ draw command ในวิดีโอ ดูเหมือนว่า การทำ PPU ของ Super ZSNES จะไม่ใช่แบบนั้น
    BG น่าจะเรนเดอร์เป็นระดับไทล์ และ OBJ ก็น่าจะคล้ายกัน ส่วน mode 7 ดูเหมือนเรนเดอร์เป็นรายบรรทัด
    ความแม่นยำอาจจะลดลงเล็กน้อย แต่ถ้าจะทำลูกเล่นเสริมภาพที่พวกเขาใส่เข้ามา ก็คงจำเป็นต้องใช้แนวทางนั้น

    • ผมก็เคยคิดอะไรคล้าย ๆ กัน และเคยนึกถึง GPU compute PPU สำหรับ Snes9x ในอนาคต
      วิธีตอนนี้คือใช้ fixed-function API แบบเก่าวาด quad แล้วค่อยผสม bump map ลงบนภาพสุดท้าย ซึ่งแปลกพอสมควร
      ทั้งที่จริง ๆ แล้วมีเครื่องมือให้ทำอะไรเจ๋ง ๆ บน GPU ได้เยอะมาก แต่กลับเลือกไปทางนี้ และสำหรับผม post-processing shader ที่คนทำไว้ในอีมูเลเตอร์อื่น ๆ ยังน่าประทับใจกว่า
  • เพราะอีมูเลเตอร์ SNES มีมานานมากแล้ว บางทีก็อดคิดไม่ได้ว่าอาจมีคนที่เล่นเกม Nintendo ผ่านอีมูเลเตอร์มากกว่าบนเครื่อง Nintendo จริงเสียอีก

  • เจ๋งมาก และโดยเฉพาะอย่างยิ่งการปรับปรุงความแม่นยำนั้นดีมาก
    แต่ก็สงสัยว่า GPU จำเป็นจริงหรือเปล่า
    SNES เป็นระบบที่เก่ามากแล้ว เลยรู้สึกว่า CPU อย่างเดียวก็น่าจะพอ และถึง GPU จะมีประสิทธิภาพกว่าก็ตาม ก็ไม่แน่ใจว่าคุ้มกับภาระในการรองรับฮาร์ดแวร์ที่หลากหลายกว่ามากไหม

    • ฟีเจอร์เสริมภาพอย่าง Mode 7 ความละเอียดสูง, การเปลี่ยน texture และ shader ที่อีมูเลเตอร์รองรับนั้น คงทำงานบน software rendering ได้ไม่ดีนัก
      แถมยังใช้ Unity ด้วย เลยไม่จำเป็นต้องลงมือจัดการการรองรับ GPU ระดับล่างทั้งหมดเอง
    • มันขึ้นอยู่กับระดับความแม่นยำที่ต้องการ
      higan(bsnes) ทำ SNES emulation แบบ cycle-accurate บน CPU ล้วน ๆ มาเกิน 10 ปีแล้ว ดังนั้นระดับนั้นทำได้แน่นอน
      แต่ถ้าจะไปไกลกว่านั้น เช่นระดับทรานซิสเตอร์ เรื่องก็จะซับซ้อนขึ้น
      AFAIK ในระดับนั้นแม้แต่ pong ยังพอได้ แต่ MetalNES ก็ยังห่างไกลจากการทำงานแบบเรียลไทม์มาก ดังนั้นขีดจำกัดคงอยู่ที่ไหนสักแห่งระหว่างนั้น
    • สำหรับผม ไม่น่าจำเป็น
      โปรเจกต์แบบนี้น่าจะเป็นประเภท “ทำเพราะมันสนุก” มากกว่า
  • ค่อนข้างน่าสนใจที่ในรายการฟีเจอร์มี No vibe coding กับ classic development style อยู่ด้วย
    ยิ่งในบริบทของโปรเจกต์ที่มีลักษณะเหมือนการปลุกเรโทรให้กลับมามีชีวิต ยิ่งดูเข้ากันดี
    แต่ก็ยังสงสัยว่านี่หมายถึงว่าไม่ได้ใช้ AI เลยจริง ๆ หรือเปล่า
    เช่นแม้แต่ตอนรีวิวโค้ดก็ไม่ใช้เลยหรือไม่ ผมแค่อยากรู้ให้ชัด ไม่ได้จะตัดสินไม่ว่าคำตอบจะเป็นแบบไหน

    • นี่คือผลงานของผู้สร้าง ZSNES ดั้งเดิมอยู่แล้ว ก็เลยคิดว่าพวกเขาคงรู้ดีว่ากำลังทำอะไร
      เอาเรื่องตลกออกก่อน LLM นั้นแย่มากกับงานในโดเมนที่เฉพาะและประหลาดแบบนี้
      โดยเฉพาะฝั่งเรโทร มันมักพร่ำแต่เรื่องความยิ่งใหญ่ ความคิดถึง แล้วก็ชอบตีความข้อเท็จจริงย่อย ๆ ที่ไม่สำคัญหรือที่ทุกคนรู้อยู่แล้วผิด ๆ ซ้ำไปซ้ำมา
      ความรู้สึกคล้ายกับการอ่านคอมเมนต์ใน Reddit
    • มันตลกดีที่ตอนนี้เราเริ่มเข้าสู่ยุคที่คำอย่าง Handcrafted Code หรือ Handmade กลายเป็นจุดขาย
      เหมือนกับเฟอร์นิเจอร์ พรม งานหัตถกรรมอื่น ๆ หรือแม้แต่ Lamborghini ที่ขายกันด้วยภาพลักษณ์แบบนั้น
    • สิ่งที่ผมสนใจคืออีกด้านหนึ่ง
      แค่เดือนก่อนเอง เหตุผลใหญ่ข้อหนึ่งที่คนต่อต้าน DLSS5 อย่างหนักคือมันทำลายวิสัยทัศน์ดั้งเดิมของศิลปิน แต่พอผ่านไปเดือนเดียว คนเล่นทั่วไปกลับตื่นเต้นกับอีมูเลเตอร์ที่เปิดให้เปลี่ยนภาพเกมได้ตามใจผ่าน UI แบบ point-and-click
      ถ้าใส่ MCP server เข้าไปด้วยคงยิ่งวุ่นวายแน่
    • ผมไม่แน่ใจว่านั่นน่าประหลาดใจขนาดนั้นไหม
    • ถ้าผลลัพธ์สำคัญน้อยกว่ากระบวนการ และเป็นโปรเจกต์งานอดิเรกที่ทำเพื่อความสนุกของการเขียนโค้ดเอง ทัศนคตินี้ก็เหมาะมาก
      ถ้าเป้าหมายคือความสนุก การลงมือทำเองก็คือคำตอบ
  • No Vibe Coding. Classic development style
    ดูเหมือนว่านี่กำลังกลายเป็นฟีเจอร์ที่ผู้คนต้องการจริง ๆ มากขึ้นเรื่อย ๆ

    • ตอนนี้คำถามที่สำคัญที่สุดดูเหมือนจะเป็นว่าในการสร้างซอฟต์แวร์เฉพาะกลุ่มสุดขั้วแบบนี้ มีการใช้การคูณเมทริกซ์หรือเปล่า
      หรือมีอัลกอริทึมอื่นที่ผมไม่อนุมัติถูกใช้หรือไม่
      เป็นคำถามเร่าร้อนที่ทำให้นอนไม่หลับยามคิดถึงอีมูเลเตอร์ฮาร์ดแวร์วินเทจเลยทีเดียว
  • เมื่อไม่กี่เดือนก่อน ผู้สร้าง ZSNES มีบทสัมภาษณ์กับ Zophar จาก Zophar's Domain ที่ค่อนข้างน่าสนใจ
    https://www.youtube.com/watch?v=iG-oqvj4Tqk

  • ตอนเด็ก ๆ คนกลุ่มนี้สุดยอดมากจริง ๆ ในช่วงแรก ๆ
    ผมยังจำช่วงเวลาที่เปิด ZSNES ครั้งแรก แล้วได้เล่น RPG เฉพาะญี่ปุ่นที่แฟน ๆ แปลไว้ได้เลย
    มันเหมือนโลกใหม่เปิดออกต่อหน้าต่อตา และผมก็รู้สึกขอบคุณพวกเขามากในแง่นั้น