[FC]Saint Seiya Ōgon densetsu kanketsu-hen Việt ngữ

Thảo luận trong 'Tin tức - Giới thiệu - Thảo luận chung về game' bắt đầu bởi asm65816, 9/7/15.

  1. asm65816

    asm65816 Mega Man

    Tham gia ngày:
    23/5/09
    Bài viết:
    3,320
    Nơi ở:
    El Sallia
    Saint Seiya Ōgon densetsu kanketsu-hen

    [​IMG]

    Tạm dịch: Saint Seiya - Truyền thuyết Hoàng kim, phần kết.
    Thể loại: side scrolling, RPG
    Hệ máy: Family Computer hay còn gọi Famicom (FC) hoặc Nintendō Entertainment System (NES).
    Số người chơi: 01
    Hãng phát triển: Shinsei
    Xuất bản: Bandai
    Ngày phát mãi: 30 tháng 5, 1988

    1. Khái quát

    Saint Seiya Ōgon densetsu kanketsu-hen hay còn được gọi là Saint Seiya 2, là phần cuối cùng trong bộ 2 game về Saint Seiya trên hệ máy Famicom. Bộ 2 về Saint Seiya này có nội dung dựa trên bộ Anime cùng tên vốn dựa trên nguyên tác Manga của họa sĩ Kurumada Masami với motif về thần thoại Hy Lạp. Khi tà ác tràn lan trên mặt đất thì nữ thần trí tuệ Athena cùng các thiếu niên bảo vệ nàng sẽ xuất hiện. Những thiếu niên này được các chòm sao bảo hộ, thân khoác Thánh y của các chòm sao và có sức mạnh kinh thiên hãi nhân.
    Saint Seiya Ōgon densetsu kanketsu-hen kể lại phần nhóm thiếu niên Seiya và nữ thần Athena rời Nhật Bản, sang Hy Lạp để chống lại thế lực tà ác trong Thánh vực. Tại đây, Athena bị mũi tên vàng đâm vào ngực và không ai có thể rút mũi tên ra, ngoại trừ Giáo hoàng. Nếu không dẫn Giáo hoàng tới trong vòng 12 giờ thì Athena sẽ vong mạng. Nhóm Seiya phải cấp rút đột phá 12 cung để tới được phòng Giáo hoàng. Trên đường là các Hoàng kim Thánh đấu sĩ thuộc 12 cung Hoàng đạo cản trở họ...


    2. Đôi lời cá nhân

    Bản game này ra đời trên hệ máy Famicom vào năm 1988, tính tới nay có lẽ còn nhiều tuổi hơn một số lượng khá đông gamer hiện tại. Nhưng đối với tôi thì nó là một phần của tuổi thơ và có sức hút rất lớn. Tôi bắt gặp băng Saint Seiya 2 này từ năm lớp 4, và chơi miệt mài cho tới năm lớp 7 mới phá đảo nổi. Thời đó không mấy cửa hàng trò chơi điện tử có băng này, vì hầu như không có người chơi vì rất khó, cho nên tôi phải đạp xe đi gần chục cây số để chơi.
    Thời gian sau này, khi mọi phương tiện đã dễ dàng với phần mềm giả lập trên máy tính và cho đến nay, thỉnh thoảng tôi vẫn chơi lại Saint Seiya Ōgon densetsu kanketsu-hen với nhiều cảm xúc, kỷ niệm khó tả.

    Vì vậy, kể từ khi bước chân vào con đường dịch game từ năm 2009, tôi cũng đã ước ao có được một bản dịch Việt ngữ cho Saint Seiya Ōgon densetsu kanketsu-hen, nhưng lực bất tòng tâm. Đương thời, tôi chỉ tập trung vào ngôn ngữ 65816 của hệ máy SNES sau này chứ không tập trung vào 6502 của NES. Game NES so về dung lượng hay độ phức tạp thì không thể sánh bằng các hệ máy sau này như PS, PC, NDS... nhưng về độ khó thì không hề thua kém, thậm chí còn khó hơn. Vì nhiều hạn chế kỹ thuật của phần cứng mà việc bỏ dấu tiếng Việt cho game NES dường như là điều bất khả. Từ trước đến nay chưa hề có một bản dịch tiếng Việt nào cho bất cứ game NES nào.

    Nhưng cuối cùng, sau một thời gian miệt mài học tập 6502, ngôn ngữ lập trình của NES thì cuối cùng, tôi cũng thực hiện được mong ước của mình với Saint Seiya Ōgon densetsu kanketsu-hen. Có thể nói, đây là bản dịch Việt ngữ đầu tiên của game NES.

    [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG]



    3. Đao lô đồ


    Click vào đây để đao lô đồ.


    Bản dịch đã được kiểm chứng là chạy tốt trên các giả lập Famicom (NES) cho hệ điều hành Windows như Virtual NES, FCEUX,... và các loại giả lập cho hệ điều hành Android.

    Các trang web tải giả lập:

    http://www.virtualnes.com/

    http://www.fceux.com/web/home.html

    4. Credit

    + Asm65816 VI: hack, dịch.
    + Phần mềm sử dụng: EmEditor (biên tập văn bản), Unikey (gõ tiếng Việt), YY-CHR (tạo font), Windhex32 (view là chính), Cartorgrapher (truy xuất text), Atlas (chèn text đã dịch), FCEUX (giả lập, debugger Famicom), MicroSoft Excel (quản lý linh tinh).



    5. Bonus

    Phần này hướng dẫn khái quát về việc dịch Saint Seiya Ōgon densetsu kanketsu-hen sang tiếng Việt cho những ai quan tâm.

    a. Dễ hay khó?

    Đơn giản hay dễ dàng, phức tạp hay khó khăn, đây là những khái niệm hay bị nhầm lẫn với nhau. Có những cái đơn giản nhưng lại rất có, có những cái tuy phức tạp nhưng lại rất dễ. Tôi nhớ năm nào, có một danh họa tranh thủy mặc Trung Quốc sang thăm một trường ĐH mỹ thuật Việt Nam, vốn thiên về tranh sơn dầu phương Tây. Danh họa thủy mặc này biểu diễn trước hội chúng, lấy giấy bút vẽ nguệch ngoạc vài nét và rao bán với giá vài chục nghìn USD. Đám sinh viên trố mắt, hỏi các danh họa Tây phương vẽ cầu kỳ, chi tiết từ năm này sang tháng nọ mà chưa chắc đã bán được với giá đó, cớ sao ông hý hoáy vài nét đơn giản lại bán cắt cổ vậy? Danh họa thủy mặc kia đáp: các anh có biết, để hý hoáy được vài nét như vậy thì tôi phải luyện cả đời.

    Cũng vậy, nếu so về dung lượng hay độ phức tạp, nếu phần lớn game PC và các hệ console hiện tại như PS3, PS4 có dung lượng của một con bò thì game PSX ngày xưa có kích cỡ một con mèo, game SNES là một con bọ trong khi game NES chỉ là một con vi trùng.
    Kích thước nhỏ hơn rất nhiều, số lượng tập lệnh ít hơn và đơn giản hơn so với các hệ máy đàn em, nhưng chính vì nhỏ hơn, đơn giản hơn nên việc hack/dịch game NES gặp phải nhiều vấn đề khó khăn hơn, bên cạnh những cái dễ dàng hơn. Khó khăn như thế nào, sẽ được lần lượt trình bày ở những phần bên dưới.
    Nếu như có chút ít kiến thức về đặc trưng phần cứng của máy NES, cũng như kiến thức về ngôn ngữ 6502 của nó thì mọi việc sẽ bớt khó đi rất nhiều.

    b. Chuẩn bị

    Cần có các phần mềm sau để dịch một game NES. Tất cả đều dễ dàng tìm thấy trên Google. Dĩ nhiên danh sách ở đây chỉ là gợi ý.

    + Text editor: có thể dùng Notepad có sẵn trong Windows.
    + Bộ gõ tiếng Việt: ...........................................................
    + Sửa font, hình ảnh: tile layer pro, YY-CHR...
    + Emulator kiêm Debugger: xuất sắc nhất cho tới nay là FCEUX.
    + Hex editor: Windhex có chức năng xem chữ Kana với table lập sẵn.
    + Dump text: Cartographer
    + Chèn text: Atlas


    c. Cấu trúc Memory map

    Trước khi đi vào hack/dịch Saint Seiya ōgon densetsu kanketsu-hen thì ta cần biết khái quát về máy NES. Có thể tham khảo loạt bài lập trình 6502 để biết thêm chi tiết. Dưới đây là tóm lược.

    $0000-$07FF: RAM nội bộ, dung lượng 2KB bên trong NES, user tự do sử dụng
    $0800-$1FFF: đối xứng gương của RAM
    $2000-$2007: các cổng truy cập vào PPU (I/O Register)
    $2008-$3FFF: đối xứng gương của I/O Register
    $4000-$401F: các cổng truy cập vào APU và Controller
    $4020-$5FFF: ROM mở rộng
    $6000-$7FFF: WRAM có thể có hay không bên trong Cartridge (backup RAM)
    $8000-$BFFF: ROM bên trong Cartridge
    $C000-$FFFF: ROM bên trong Cartridge

    Lưu ý từ $00 đến $7FF là nơi chứa những giá trị thường xuyên được truy cập, chẳng hạn như tọa độ của nhân vật, Cosmo, Life, pointer hội thoại... Máy NES sử dụng các Register 8 bit và có thể đọc địa chỉ trong dải từ $00 đến $FFFF (65 Kilo byte). Tuy nhiên, khi mở Rom bằng Hex editor thì ta thấy Rom có dung lượng 258 KB, vượt quá phạm vi đọc của NES. Tuy nhiên máy NES vẫn đọc được, nhờ vào khái niệm Mapper như sẽ đề cập ở phần sau.

    d. Lập table

    Lập table cho game NES là một việc hết sức đơn giản, nhờ có sự trợ giúp của giả lập FCEUX.
    Load game bằng FCEUX, chơi đến đoạn có hội thoại, vào mục Debug --> Name table Viewer.
    Tại đây ta thấy phần thoại cũng được thể hiện trong phần Name tables. Rê chuột vào từng ký tự trong màn hình này, nhìn vào góc dưới bên phải, ta sẽ biết được giá trị hex tương ứng của từng chữ (Tile ID).

    [​IMG]

    Phần lớn chữ trong hội thoại của game NES đều ở dạng background (ảnh nền). Name table chính là phần ID (số thứ tự) của từng tile trong thư viện (bank) ảnh nền đó. Bằng cách rê chuột vào từng chữ và nhìn vào góc dưới, ta có thể lập được table dễ dàng. Chẳng hạn:

    4B=ク
    6E=ロ
    50=ス

    Sau khi lập xong table hoàn thiện, load ROM bằng Windhex và tham chiếu đến file table vừa lập, ta có thể dò tìm hội thoại nằm ở vị trí nào trong ROM bằng chức năng tìm kiếm chữ Kana (control + K) của Windhex.

    [​IMG]


    e. Chỉnh sửa font


    Có thể dùng phần mềm YY-CHR để chỉnh sửa hình ảnh và font chữ trong game. Có thể thấy bộ font bắt đầu từ địa chỉ 0x21050 trở đi.

    [​IMG]

    Font của game NES là những tile có kích thước 8x8 điểm ảnh, như vậy là không thể vẽ hết dấu tiếng Việt vào trong cùng một tile được. Chẳng hạn như hình dưới đây, ta có thể dùng YY-CHR để vẽ chữ "a", nếu cố gắng thì có thể vẽ được chữ "á", "à" hay "ă", "â" nhưng không thể vẽ được chữ các chữ "ẳ", "ẵ", "ắ", "ằ", "ấ", "ầ", "ẩ", "ẫ"....

    [​IMG]


    Như vậy là bó tay rồi sao? Không hẳn là như vậy.
    Bây giờ thử bật bản Rom gốc (tiếng Nhật) bằng giả lập xem sao.

    [​IMG]

    Để ý một chút, ta thấy trong tiếng Nhật có dấu trọc âm và bán trọc âm được viết ngay phía trên một số chữ nhất định. Với tile 8x8 thì dường như nhà sản xuất không thể vẽ được chữ Kana với cả dấu trọc âm, bán trọc âm trong cùng tile. Do vậy họ đã chọn cách viết phần chính vào những hàng chẵn, còn hàng lẽ để viết dấu trọc âm, bán trọc âm vào.
    Ta có thể lợi dụng điểm này để thể hiện dấu tiếng Việt, với cùng cách thức như trên.
    Nhưng vấn đề là bản Rom tiếng Nhật chỉ có 02 dấu trọc âm, bán trọc âm trong khi tiếng Việt cần nhiều hơn như thế, như "ẳ", "ẵ", "ắ", "ằ", "ấ", "ầ", "ẩ", "ẫ" đã liệt kê bên trên.
    Để giải quyết vấn đề này, cần phải tìm ra routine viết chữ ra màn hình của bản tiếng Nhật và copy, nhân rộng số lượng thêm trong bản tiếng Việt. Nói cách khác, kiểu bỏ dấu này hoàn toàn giống với kiểu bỏ dấu VNI WINDOWS của PC, với một ký tự đầy đủ dấu chiếm 2 byte thay vì 1 byte như thông thường.
    Sau khi hoàn tất thì sẽ trông như thế này.

    [​IMG]

    Nhưng trước hết phải tìm được routine viết chữ ra màn hình đã.

    f. Asm vào cuộc

    Từ phần này trở đi sẽ phải vận dụng nhiều kiến thức Asm của NES (6502) để giải quyết. Tuy nhiên, dù có bao nhiêu kiến thức về Asm đi nữa cũng không thể giải quyết được gì nếu thiếu hiểu biết về các địa chỉ RAM của game.
    Như đã nói ở phần trên, trong địa chỉ từ $00 đến $7FF là nơi chứa những giá trị thường xuyên được truy cập, mỗi game mỗi khác nhau nên cách duy nhất để nắm bắt nó là phải ăn dầm ở dề, thường xuyên nghịch nó để biết nó là cái gì. Đây cũng là một khâu mất nhiều thời gian nhất trong việc hack dịch game. Để hack được nó, phải hiểu thấu nó, phải nắm được nó. Chỉ có cách chạm vào nó, ngấu nghiến nó, ăn ngủ với nó trong thời gian dài mới biết được nó ra sao, như thế nào. Đây là quy tắc chung của việc hack dịch game, không có ngoại lệ.

    Ở phần trên, sau khi lập table thì ta có thể xác định được vị trí của hội thoại trong Rom. Ta dễ dàng tìm được vị trí của block hội thoại bắt đầu từ 0x35010. Khoan đã, CPU của NES chỉ có thể đọc địa chỉ trong khoản $00 đến $FFFF, vậy hội thoại bắt đầu từ 0x3510 thì làm sao nó đọc tới được?
    Câu trả lời nằm ở Mapper. Để khắc phục hạn chế phạm vi đọc của NES, người ta dùng Mapper để phân chia những Rom có dung lượng lớn hơn FFFF byte (65535 byte trở lên) thành nhiều bank.
    Load Rom bằng FCEUX, vào tab Help--> Message Log, ta có những thông tin sau:

    PRG ROM: 8 x 16KiB
    CHR ROM: 16 x 8KiB
    ROM CRC32: 0x9561798d
    ROM MD5: 0x2c85dedefc8dd7b49b80774de9793506
    Mapper #: 1
    Mapper name: MMC1
    Mirroring: Horizontal
    Battery-backed: No
    Trained: No

    Những thông tin này cho biết: Saint Seiya ōgon densetsu kanketsu-hen dùng hệ thống Mapper #1 có tên MMC1, sử dụng 8 bank cho phần code chương trình, mỗi bank có dung lượng 16 KB ($4000) và sử dụng 16 bank để chứa dữ liệu đồ họa (CHR), mỗi bank có dung lượng 8 KB ($2000).

    Địa chỉ block hội thoại bắt đầu từ 0x35010, trừ đi $10 byte (16) header thì là 0x35000.
    Vậy, khối hội thoại nằm ở bank $0D, bắt đầu tại địa chỉ $1000.

    35000 - (4000 x 0D) = 1000

    Ta đã biết, phần code chương trình bắt đầu từ $8000 trong CPU. Vậy block hội thoại sẽ bắt đầu tại

    $8000 + $1000 = $9000 trong CPU.

    Tuy nhiên, $9000 trong CPU cũng có thể là địa chỉ của 0x5010, 0x9010, 0xD010, 0x11010.... trong ROM. Do vậy cần phải kiểm chứng. Và khi kiểm chứng bằng cách dò tìm giá trị trong CPU (Từ giả lập FCEUX --> Debug --> Hex editor --> View --> Nes Memory) khi hội thoại đang được hiển thị thì ta biết được hội thoại không tồn tại trong $9000, tức nó không nằm trong phần code PRG.
    Như vậy chỉ còn một trường hợp xảy ra là Saint Seiya 2 đọc hội thoại từ phần dữ liệu đồ họa CHR.
    Trong trường hợp này thì không thể dùng cách thông thường để xác định routine hội thoại.
    Để xác định, phải dùng đến chức năng Trace Logger của Debugger.
    Bật FCEUX, load game, vào Debug--> Trace Logger

    Chọn Log vào file để ghi lại mọi hoạt động của giả lập

    [​IMG]

    Click vào tab "Start Logging" và bắt đầu chơi game tới đoạn có hội thoại. Lưu ý là khi log sẽ ngốn rất nhiều RAM của PC vì mọi câu lệnh thực thi trong giả lập đều được ghi lại.

    Mở file log bằng text editor, lần mò từng đoạn code dẫn đến hội thoại, ta thấy có đoạn

    $8F8E:C9 3B CMP #$3B A:18 X:00 Y:7A S:ED P:nvUbdIzc
    $8F90:F0 4F BEQ $8FE1 A:18 X:00 Y:7A S:ED P:NvUbdIzc
    $8F92:C9 3C CMP #$3C A:18 X:00 Y:7A S:ED P:NvUbdIzc
    $8F94:F0 4B BEQ $8FE1 A:18 X:00 Y:7A S:ED P:NvUbdIzc
    $8F96:C9 01 CMP #$01 A:18 X:00 Y:7A S:ED P:NvUbdIzc
    $8F98:F0 12 BEQ $8FAC A:18 X:00 Y:7A S:ED P:nvUbdIzC
    $8F9A:C9 A4 CMP #$A4 A:18 X:00 Y:7A S:ED P:nvUbdIzC
    $8F9C:F0 5F BEQ $8FFD A:18 X:00 Y:7A S:ED P:nvUbdIzc
    $8F9E:C9 FF CMP #$FF A:18 X:00 Y:7A S:ED P:nvUbdIzc
    $8FA0: D0 17 BNE $8FB9 A:18 X:00 Y:7A S:ED P:nvUbdIzc

    Nếu đã lập xong table thì ta biết 3B, 3C là giá trị hex của dấu trọc âm và bán trọc âm, A4 là giá trị xuống hàng, 01 là giá trị của khoảng trắng và FF là giá trị kết thúc câu.
    Đoạn trên có nghĩa là:
    so sánh với 3B
    nếu bằng thì nhảy đến địa chỉ $8FE1
    so sánh với 3C
    nếu bằng thì nhảy đến địa chỉ $8FE1
    so sánh với 01
    nếu bằng thì nhảy đến địa chỉ $8FAC
    so sánh với A4
    nếu bằng thì nhảy tới địa chỉ $8FFD
    so sánh với FF
    nếu không bằng thì nhảy tới địa chỉ 8FB9

    Từ đây ta biết được $8FE1 trong CPU là địa chỉ bắt đầu routine vẽ dấu trọc âm và bán trọc âm lên trên một hàng, $8FAC là địa chỉ bắt đầu routine xuống hàng cho chữ, còn $8FFD là routine viết chữ bình thường.
    Giả sử trong bản font, ta vẫn còn các giá trị trống (chưa gán vào ký tự nào) là B0, B1, B2, B3, B4, B5... và ta định gán các giá trị này cho các dấu: B0=<dấu mũ á>, B1=<dấu mũ ớ>, B2=<dấu mũ á, sắc>, B3=<dấu mũ á, huyền>, B4=<dấu mũ á, hỏi>....

    thì chỉ cần viết lại như sau:

    CMP #$B0
    BEQ $8FE1
    CMP #$B1
    BEQ $8FE1
    CMP #$B2
    BEQ $8FE1
    CMP #$B3
    BEQ $8FE1
    CMP #$B4
    BEQ $8FE1
    CMP #$B5
    BEQ $8FE1
    ....

    CMP #$01
    BEQ $8FAC
    CMP #$A4
    BEQ $8FFD
    CMP #$FF
    BNE $8FB9

    Sau khi viết lại như thế này, giả sử 05=a thì nếu ta chèn vào ROM:
    05B3 thì màn hình sẽ hiển thị chữ ằ
    05B5 thì màn hình sẽ hiển thị chữ ẵ
    với các dấu nằm ngay bên trên chữ cái.

    Tuy nhiên, khi viết lại như thế này thì đoạn code của ta sẽ dài hơn ban đầu. Do vậy phải tìm một không gian trống trong cùng bank để đưa nó vào. Nếu trong bank không còn chỗ trống thì mở rộng Rom và chỉnh lại bank để đưa nó vào.

    g. Mở rộng Rom

    Mở rộng Rom NES không phải là vấn đề quá khó khăn khi thực hiện thủ công.
    Trong $10 byte header của game NES thì byte thứ 4 chỉ định kích thước của PRG bank. Saint Seiya 2 sử dụng 8 bank PRG và ta có thể mở rộng thành 16 bank, mỗi bank 16 KB. Sau khi mở rộng, chỉ cần thay đổi lại giá trị của byte thứ 4 trong header là được.
    Rom gốc ban đầu có 8 bank và vị trí kết thúc của bank thứ 8 là 0x1C010 trong Rom ($10 byte là header).

    4000 x 7= 1C000 + 10 = 1C010

    (Bank đầu tiên là bank 0)

    Như vậy, ta có thể thêm 8 x 16 KB vào sau vị trí kết thúc của bank 8, tức là bắt đầu từ 0x1C010 trong ROM. Có thể dùng hex editor để chèn thêm 8 bank, mỗi bank 16KB vào để trở thành 16 bank. Giá trị chèn có thể là 00 hoặc FF.

    h. Những vấn đề khác

    Một điều dễ thấy nhất là trong số các vấn đề cần phải giải quyết là dung lượng.
    Block hội thoại ban đầu là tiếng Nhật, vốn có đặc điểm cô đọng súc tích hơn nên thường ngắn hơn phần dịch tiếng Việt. Hơn nữa, phần tiếng Nhật ít khi sử dụng đến 2 byte để thể hiện 1 ký tự (trọc âm, bán trọc âm) nhưng trong phần dịch tiếng Việt lại sử dụng rất nhiều ký tự có dấu (2 byte), do đó dung lượng của phần dịch tiếng Việt sẽ nhiều hơn phần tiếng Nhật rất nhiều.

    Một vấn đề thứ hai là tất cả mọi câu thoại trong tiếng Nhật chỉ cần 2 dòng để hiển thị. Nhưng có những câu khi dịch sang tiếng Việt phải mất 3, 4 dòng. Trong game không có sẵn code để hiển thị dòng thứ 3 (xóa 2 dòng đầu), do đó cần phải viết thêm routine xóa 2 dòng đã hiển thị.

    Đối với vấn đề đầu tiên, có thể dùng phương pháp DTE, MTE để thể hiện 2 hay nhiều ký tự bằng 1 byte. Cách làm này giúp tiết kiệm dung lượng rất nhiều.
    Còn đối với vấn đề thứ hai, cần phải viết thêm routine. Cả hai hướng giải quyết này đều cần tới khoảng không gian trống để ghi code mới.
    Về không gian trống thì ta đã có được bằng cách mở rộng ROM như bên trên. Nhưng để sử dụng được khoảng không gian trống đó, cũng như đặt code mới vào đó, bắt chương trình đọc từ nơi đó thì phải cần đến kiến thức về ASM.
     
    Chỉnh sửa cuối: 12/7/15
  2. quoc_pro

    quoc_pro Mario & Luigi

    Tham gia ngày:
    13/9/08
    Bài viết:
    706
    Nơi ở:
    Quận 7, thành phố Hồ Chí Minh
    Bác là người hạnh phúc nhất trong cộng đồng game Việt Ngữ rồi đó (y)
     
  3. pow

    pow Let Us Cling Together

    Tham gia ngày:
    17/9/05
    Bài viết:
    5,512
    Nơi ở:
    Valeria
    Cái game này tôi chơi từ hồi năm lớp 3 tức là cách đây... 25 năm. Game chơi cũng dễ chọn đại option (toàn tiếng Nhật mà) tự dưng win, đến con cuối mới khó thôi. Asm đã dịch game NES chắc phải có plan dịch Kunio Kun với Captain Tsubasa nhỉ =)
     
    quoc_pro thích bài này.
  4. kingblackcat

    kingblackcat Sonic the Hedgehog Lão Làng GVN

    Tham gia ngày:
    17/6/08
    Bài viết:
    4,595
    bác này chăm việt hoá game nhỉ :-?
     
  5. asm65816

    asm65816 Mega Man

    Tham gia ngày:
    23/5/09
    Bài viết:
    3,320
    Nơi ở:
    El Sallia
    Bác này chắc thế hệ đầu 8 nhỉ.
    Hồi đó chơi tới con Aioria, đánh mãi mà nó không mất máu. Bí chỗ đó cả năm luôn. Sau mới biết nói chuyện với nó để đánh mất máu.
    Thực ra con cuối lại không khó, chỉ cần chuẩn bị Seven Sense cho nhiều là được.

    Hồi xưa định dịch một số game NES từng chơi như Phi Long quyền, Kunio, Song Long, Tsubasa... nhưng lúc đó không thể bỏ dấu tiếng Việt được. Giờ thì có phương pháp rồi.

    [​IMG]
     
    squall9588, patten, SOZUOKA and 7 others like this.
  6. nướcđá7A3

    nướcđá7A3 ◥▶◀◤ Moderator Lão Làng GVN

    Tham gia ngày:
    26/1/05
    Bài viết:
    25,666
    Nơi ở:
    。◕‿◕。
    game hồi xưa chơi bỏ ở màn đánh fake song tử, đi không qua cái thế giới ảo của nó ~_~
     
  7. mazhzil

    mazhzil Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    8/6/08
    Bài viết:
    4,367
    ôi , cap tsubasa, có 1 thời điên đảo suốt ngày nhịn ăn ra quán , mà thời đó snes có 1k/h :)))) toàn tiếng nhật , chả biết moẹ gì nhưng chơi riết rồi nhớ
     
    quoc_pro thích bài này.
  8. Hoursea

    Hoursea Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    31/12/09
    Bài viết:
    4,380
    Nhầm rồi bác ơi Adventure Island IV (Ăn chuối 4) đã có bản dịch tiếng Việt có dấu từ hồi 2008. (chết cha quên đưa game của ông Ân vào list)

    [​IMG]

    PS: Lão này còn làm nhiều trò NES nữa tí update vào list cho giờ đang bận.

    [​IMG]

    Cậu bé 3 mắt tiếng việt.​
     
    Chỉnh sửa cuối: 10/7/15
    bioidaika, hardy and quoc_pro like this.
  9. Rociel

    Rociel シェンムー Ryo Hazuki

    Tham gia ngày:
    7/8/03
    Bài viết:
    9,574
    Nơi ở:
    Hồ Chí Minh
    có cái game hành tinh mới hay , chơi kiểu metro
     
  10. cau3_destiny

    cau3_destiny T.E.T.Я.I.S

    Tham gia ngày:
    2/4/09
    Bài viết:
    542
    Nơi ở:
    Zanarkand
    Saint Seiya Tuổi thơ chơi cái game này gặp thằng thằng boss vàng đó nó cho ăn hành suốt .giờ vẫn còn nhớ mang máng cái nhạc nền của game và nhìn cái hình ám ảnh ...tuổi thơ
     
  11. victorhugo

    victorhugo Dante, the strongest Demon Slayer Lão Làng GVN

    Tham gia ngày:
    7/7/05
    Bài viết:
    14,207
    Nơi ở:
    CLUB "Rung Đùi"
    Hồi nhỏ được chơi đúng có 1 lần, leo lên được cái của thứ 4 thứ 5 gì đấy thì thọt, đánh nhau xong lọt vào mê cung ko nhảy qua được thế là vẹo...
     
  12. athanh8807 .

    athanh8807 . Già Làng GVN Lão Làng GVN

    Tham gia ngày:
    4/7/09
    Bài viết:
    11,660
    Nơi ở:
    -xXx-
    Bạn thớt trans trò này đi :">

    [​IMG]
    [​IMG]
    ;))
     
  13. asm65816

    asm65816 Mega Man

    Tham gia ngày:
    23/5/09
    Bài viết:
    3,320
    Nơi ở:
    El Sallia
    Ừ đúng rồi, nếu nói là game NES có dấu tiếng Việt đầu tiên thì phải là những game này. Tác giả này mình biết từ nhiều năm trước, ban đầu cũng thắc mắc không biết anh ta làm kiểu gì mà vẽ dấu được cho bộ font chỉ có 8x8 pixel. Nhưng sau khi tải về xem thì chẳng thấy có gì đặc biệt, quan sát một chút xíu là nhận ra ngay chỗ khiếm khuyết của kiểu vẽ dấu tiếng Việt này, cũng không gọi là hoàn thiện được.

    [​IMG]
    [​IMG]

    [​IMG]


    Màn mê cung đầu tiên là màn 3 bạn ơi. Màn này khó nhảy vãi.
    Chủ yếu là farm lính kếm Seven sense cho nhiều thôi. Vào đánh nhau với boss thì phải biết tránh đòn.




    Cái Samurai Spirit RPG này nằm trong list dịch rồi, nhưng có thời gian để làm hay không lại là việc khác.
     
  14. Master_Jounouchi

    Master_Jounouchi Mr & Ms Pac-Man

    Tham gia ngày:
    3/8/12
    Bài viết:
    239
    tôi đã khóc khi nhìn thấy game này. đây chính là bộ truyện đầu tiên tôi có cảm xúc nhất. Cám ơn ASM đã mang cho cộng động game 1 kiệt tác còn sót lại. Hy vọng trong tương lai sẽ được nhìn thấy Subasa bất tử cùng với Kunio Kun nữa.. Yêu bạn nhiều lắm
     
  15. Hoursea

    Hoursea Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    31/12/09
    Bài viết:
    4,380
    Thì đó là cách của ông Ân mà. :)) Vẽ tất cả mọi chữ cái tiếng Việt trọn trong các ô 8x8 pixel. Các chữ có dấu nặng thì bị lên còn các chữ có hai dấu ở trên thì bị bé. :))
    Sorry bác em gọi như đó là hoàn thiện rồi.
    Tại sao? Bởi bản dịch có đủ tiếng Việt có dấu, mặc dù chữ xấu và không đều, nhưng vấn đề đánh giá game hoàn thiện này chỉ gói gọn trong vấn đề thẩm mĩ, về việc đáp ứng nhu cầu đọc hiểu của người chơi thì game của ông Ân đã làm được. Xấu nhưng mọi người đều đọc được, đúng khộng ạ?
    Không thể nói một game có đầy đủ tv có dấu, người ta đọc được nhưng có phần chưa đẹp lại không phải là một game tv. Game của ông Ân có điểm trừ lớn, nhưng vẫn là một game tv. Chứ về kĩ thuật thì anh làm gì tùy anh chỉ cần người chơi đọc hiểu được là được rồi. Tiêu chí để đánh giá game hoàn thiện là ở phần nhìn, dễ dàng nhìn ra chữ tv là OK, chứ phần kĩ thuật, dùng trick hay viết lại asm là chuyện của hacker, chỉ nên khen phần kĩ thuật làm công phu, chứ đánh giá game hoàn thiện hoàn toàn ở phần nhìn. Nếu game chữ tv quá xấu đến mức không đọc được mới là một game chưa hoàn thiện. Dễ dàng đọc được là một game hoàn thiện rồi. Đánh giá game công phu, đẹp thì mới lôi chuyện hack vào.
    Em biết bác làm theo cách chính thống là viết lại assembly, điều đó quá tốt, nhưng không vì thế mà phủ nhận những game dùng trick này lại là không hoàn thiện được, như đã nói, xấu và ko đều nhưng nhìn chung vẫn đọc hiểu được thoải mái.
    Vì thế cho nên em không đồng ý với câu này, nếu bác muốn thì sửa lại là "việc bỏ dấu tiếng Việt cho game NES theo cách chính thống là viết lại assembly dường như là điều bất khả. Từ trước đến nay chưa hề có một bản dịch tiếng Việt nào làm bằng cách này.", hay đại loại kiểu gì đó có thể cho mọi người biết bản dịch của bác được làm cực kì khó khăn và công phu hơn xa ông Ân. Viết lại assembly thì tức là viết lại một phần của game rồi còn gì nữa.
    Nhưng không thể nói các game của ông Ân lại không đủ tiêu chuẩn được.
    Em khách quan mà nói thế, mong bác suy nghĩ. Nếu bác để game Áo giáp vàng của bác là game NES tiếng việt đầu tiên thì không công bằng cho ông Ân.
    PS: Nhìn cái hình thì có vẻ bác không nới rộng các ô 8x8, vẫn là các ô 8x8 nhưng bác in thêm line, tăng số line từ 2 lên 4, line 1: dấu line 2: chữ line 3: dấu line 4: chữ. Đó cũng là một cách. :cuteonion46:
     
    Chỉnh sửa cuối: 11/7/15
    Narga thích bài này.
  16. asm65816

    asm65816 Mega Man

    Tham gia ngày:
    23/5/09
    Bài viết:
    3,320
    Nơi ở:
    El Sallia
    ^
    Đặc điểm của NES là dùng tile 8x8, không đổi được.
    Tiếng Nhật có dấu trọc âm với bán trọc âm, nó cũng nằm phía trên chữ như tiếng Việt, nhưng số lượng ít hơn nhiều. Và cách giải quyết được đa số các game Nhật dùng là bỏ hàng lẻ để vẽ dấu, lấy hàng chẵn để thể hiện dấu. Trong mấy bản Nes của Hữu Ân cũng lợi dụng chức năng này, nhưng chỉ giới hạn có 2 dấu (trọc âm, bán trọc âm) hỏi và ngã trong tiếng Việt thôi, thành ra các dấu khác (sắc, huyền, mũ ă, mũ â,...) cao thấp trồi trục không đều vì phải vẽ chung với chữ trong cái ô 8x8.

    Có khá nhiều người không qua được màn mê cung Gemini nhỉ.
    Dưới đây là 2 kết quả khác nhau nếu đi bằng 2 nhân vật khác nhau.


     
  17. haman

    haman Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    26/6/04
    Bài viết:
    4,423
    Nơi ở:
    Axis
    cái Samurai RPG kia thằng cha trên youtube nhá hàng English ( trên Neo Geo hay Saturn quên rồi làm mình hóng mãi ). Nếu bác có dự tính thì hóng của bác vậy :3
     
  18. Hoursea

    Hoursea Mayor of SimCity Lão Làng GVN

    Tham gia ngày:
    31/12/09
    Bài viết:
    4,380
    Vậy tức là bác quyết định giữ nguyên ý kiến cho rằng Áo giáp vàng là game NES tiếng việt đầu tiên ha?
    Riêng phần em em cho rằng Ăn chuối với 3 mắt mới là các game NES tv đầu tiên, em vẫn đưa chúng vào list, được xem là các bản dịch tv hoàn thiện, chơi được, đọc được. Chữ tuy trồi sụt nhưng không đến mức quá tệ.
    Còn về phần bác Agv mới là game NES tv đầu tiên, nguyên nhân có sự khác nhau giữa hai bên là do khác nhau về quan niệm 1 game tv hoàn thiện.
     
  19. SlayerX

    SlayerX Mega Man Lão Làng GVN

    Tham gia ngày:
    13/12/08
    Bài viết:
    3,328
    Thím nói Kunio Kun tự dưng nghĩ đến 2 cái game bóng đá với bóng rổ trong bộ này, phải nói là quá bựa so với quy định =))
     
  20. [N.K] Scorp

    [N.K] Scorp Fade to Black...

    Tham gia ngày:
    8/8/08
    Bài viết:
    3,983
    Nơi ở:
    Đè Lẹt City
    Có ông Deuce bên Romhacking dịch cái game này, mình hóng ngót nghét chắc cũng gần 6 7 năm rồi mà hình như ổng drop cũng phải 5 năm rồi :( Nghe nói cũng 3 4x, vợ con nheo nhóc nên ko còn thời gian nữa :(
    Btw, hóng thánh Asm ra tay :x
     

Chia sẻ trang này