2 điểm bởi GN⁺ 2024-12-09 | 1 bình luận | Chia sẻ qua WhatsApp
  • Vào thời điểm thị trường game PC năm 1999 đang chuyển sang mô hình xoay quanh các đội ngũ lớn, RollerCoaster Tycoon lại trở thành một thành công thương mại quy mô lớn do rất ít người tạo ra, nên được xem như ví dụ cuối cùng của thời đại nhà phát triển làm game một mình trong phòng từ thập niên 1980
  • Chris Sawyer đã tích lũy kinh nghiệm lập trình cấp thấp với máy tính 8-bit, Z80 và x86 của IBM PC để tạo ra Transport Tycoon và RollerCoaster Tycoon, trong đó game sau được phát triển gần như hoàn toàn bằng assembly
  • Sự kết hợp giữa xây dựng công viên giải trí trực quan, đồ họa isometric và tính sáng tạo kiểu sandbox đã giúp game bán hơn 700.000 bản chỉ riêng tại Mỹ và trở thành game PC bán chạy số 1 của năm đó
  • Đến năm 2002, game đã bán hơn 4 triệu bản và Sawyer thu về khoảng 30 triệu USD tiền bản quyền, nhưng đến thời điểm các phần tiếp theo thì lợi thế của đồ họa isometric và phát triển bằng assembly đã suy giảm, trong khi áp lực chuyển sang 3D ngày càng lớn
  • Trái với các game PC top đầu thời đó được làm bởi các nhóm từ vài chục đến 100 người, trò chơi này được hoàn thiện bởi một nhóm rất nhỏ phụ trách thiết kế·lập trình, đồ họa và âm nhạc; về sau, chợ số và hệ sinh thái indie lại một lần nữa mở ra khả năng thành công cho nhà phát triển đơn lẻ

Chris Sawyer khởi đầu từ thời kỳ nhà phát triển trong phòng với máy 8-bit

  • Đầu thập niên 1980, máy vi tính 8-bit giá rẻ trở nên phổ biến, cho phép một người tự làm game trong phòng mình
    • Khi các câu chuyện thành công thương mại được lan truyền, rất nhiều lập trình viên tuổi teen đã mơ tạo ra game hit
    • Phần lớn game chỉ kiếm được vài trăm bảng Anh, nhưng với các lập trình viên trẻ đó vẫn là khoản tiền lớn
  • Năm 1983, khi 15 tuổi, Chris Sawyer dành dụm tiền tiêu vặt để mua Camputers Lynx
    • Camputers Lynx là một máy vi tính 8-bit ít tên tuổi, chỉ tồn tại khoảng 1 năm và bán được 30.000 máy
    • Sau đó anh có được Memotech MTX, thiết bị này giúp việc viết mã máy dễ hơn, bao gồm cả assembler Z80
  • Thay vì dùng các ngôn ngữ thông dịch như BASIC, cách ra lệnh trực tiếp cho CPU Z80 là chìa khóa để tạo ra các game kiểu arcade chạy nhanh trên phần cứng thô sơ
  • Trong giai đoạn 1984~1985, Sawyer đã làm nhiều bản clone arcade và game cùng thể loại cho Memotech MTX
    • Bao gồm Missile Kommand, Qogo, Arcazion và Target Zone
    • Escape from Zarkos, Chamberoids, Revenge of Chamberoids, Sepulcri Scelerati... chịu ảnh hưởng từ các game nổi tiếng trên Spectrum hoặc các game của Ultimate
  • Game của anh không quá đột phá về tính nguyên bản nhưng có độ hoàn thiện cao, và anh trở thành người đóng góp rất năng suất với gần 12 game được phát hành trên nền tảng Memotech MTX
    • Số tiền kiếm được chỉ đủ để mua máy in mới và ổ đĩa

Công việc port sang PC và Transport Tycoon

  • Năm 1986, ở tuổi 18, Sawyer học Computer Science and Microprocessor Systems tại đại học nên tốc độ phát triển game chậm lại
    • Trong giai đoạn này anh mua Amstrad CPC và phát triển các game phiêu lưu hành động isometric như Sepulcri và Ziggurat
    • Ở đại học, anh tiếp xúc với thế giới IBM PC và cũng thiết kế·lập trình game PC như một phần kinh nghiệm công việc
  • PC tương thích IBM khi đó ngày càng phổ biến như máy văn phòng, nhưng không nổi trội về hiệu năng game
    • Tuy nhiên, khi thị trường mở rộng và phần cứng cải thiện, nhu cầu game cho máy IBM tương thích tăng lên, kéo theo nhu cầu port game từ nền tảng khác sang PC
    • Sawyer rất phù hợp với công việc này nhờ hiểu biết cấp thấp về kiến trúc x86 và kinh nghiệm làm các game clone
  • Bản port PC đầu tiên của anh là Virus vào năm 1988
    • Bản gốc là Zarch trên Archimedes, một game bắn súng 3D của David Braben, người nổi tiếng với Elite
    • Trên máy 286 nhanh và card EGA, đồ họa 3D cùng gameplay chạy mượt mà
  • Sau đó anh tiếp tục làm các bản port PC như StarRay, Xenomorph, Conqueror, Birds of Prey và Elite Plus
    • Quan hệ làm việc với Braben rất tốt, nên khi làm phần tiếp theo của Elite là Frontier, Sawyer là lựa chọn rất tự nhiên
  • Xen giữa công việc port, Sawyer bắt đầu làm game riêng mang tên Interactive Transport Simulation
    • MicroProse tỏ ra quan tâm đến việc phát hành và đổi tên game thành Transport Tycoon
    • Ra mắt năm 1994, Transport Tycoon chịu ảnh hưởng từ các game như Railroad Tycoon và SimCity 2000
  • Transport Tycoon mở rộng ý tưởng đơn giản là đặt đường ray và vận hành tàu thành một sandbox quy mô lớn, mật độ cao
    • Đồ họa isometric và kỹ thuật lập trình tinh xảo đã nâng tầm trò chơi
    • Doanh số không bùng nổ dữ dội nhưng đạt kết quả tốt tại Anh và châu Âu; MicroProse sau đó phát hành bản mở rộng Editor và Transport Tycoon: Deluxe
    • Đến nay game vẫn được chơi trên thiết bị hiện đại nhờ các dự án cải tiến mã nguồn mở như OpenTTD

Du lịch, tàu lượn siêu tốc, và một bom tấn được làm gần như hoàn toàn bằng assembly

  • Trong khi làm phần tiếp theo của Transport Tycoon, Sawyer dần mất động lực, tự chốt lại hợp đồng rồi đi du lịch một thời gian
    • Trong giai đoạn đó anh bắt đầu quan tâm đến tàu lượn siêu tốc
    • Về mặt mô phỏng, tàu lượn với đường ray, toa xe và ga không khác quá nhiều so với mô phỏng tàu hỏa
  • Game tiếp theo bắt đầu như một game mô phỏng tàu lượn siêu tốc với tên làm việc White Knuckle
    • Sawyer lo rằng nó có thể chỉ là một game ngách dành cho fan tàu lượn, nhưng rồi hứng thú với ý tưởng này đã giữ chân anh và quá trình phát triển bắt đầu
  • RollerCoaster Tycoon được phát triển gần như hoàn toàn bằng assembly
    • Đó là cách làm mà Sawyer quen thuộc
    • Nhưng vào thời điểm đó CPU đã nhanh và phức tạp hơn nhiều; Pentium có khả năng xử lý lệnh song song và ngoài thứ tự nhờ pipelining và superscalar execution
    • Việc để con người tối ưu trực tiếp CPU ngày càng khó hơn, trong khi các compiler hiện đại ngày càng hiệu quả
  • Assembly khi ấy vừa khó hơn, kém tính di động hơn, lại dần mất lợi thế về tốc độ
    • Phần lớn game đã được viết bằng C++, còn assembly chỉ dùng cho các đoạn inline ngắn
    • RollerCoaster Tycoon có thể là game thương mại lớn cuối cùng được viết bằng assembly

Thành công của RollerCoaster Tycoon và các phần tiếp theo

  • RollerCoaster Tycoon không chỉ là một thành tựu kỹ thuật mà còn là một game được hoàn thiện rất tốt
    • Người chơi có thể tạo ra hàng chục loại tàu lượn khác nhau, còn việc xây công viên thì rất trực quan
    • Tàu lượn có thể được dựng bằng từng mảnh, xoắn và xoay theo ý muốn, còn mọi thành phần đều được nối bằng lối đi và hàng chờ
    • Khi đặt cửa hàng và tiện ích, những vị khách tí hon sẽ đi lại và sử dụng công viên giải trí
  • Đồ họa isometric rất cuốn hút, còn toàn bộ trải nghiệm được thiết kế để mang lại cảm giác thỏa mãn mà không gây quá nhiều ức chế
    • Nếu không soi xét hệ thống quá kỹ, đây là một game vừa đủ phức tạp nhưng vẫn cho phép sự sáng tạo sandbox thực thụ
    • Việc xây tàu lượn vốn đã là hoạt động hấp dẫn với số đông, và game này được đánh giá là chưa có đối thủ làm tốt hơn vào thời điểm đó
  • Sau khi ra mắt năm 1999, game nhanh chóng lên bảng xếp hạng và trụ lại trong nhiều tháng
    • Chỉ riêng tại Mỹ đã bán hơn 700.000 bản, trở thành game PC bán chạy số 1 năm 1999
    • Tính đến tháng 7/2002, game đã bán hơn 4 triệu bản, và Sawyer kiếm được khoảng 30 triệu USD tiền bản quyền
  • RollerCoaster Tycoon 2 ra mắt năm 2002
    • Dùng cùng engine và giữ đồ họa nhất quán nên thoạt nhìn rất khó phân biệt với phần trước
    • Game bổ sung các kịch bản mới, trò chơi mới, điểm tham quan mới và hệ thống xây dựng linh hoạt hơn
    • Nhìn chung nhận phản hồi tốt, nhưng cũng có phàn nàn rằng đồ họa đã cũ và đã đến lúc chuyển sang 3D
    • Doanh số không bằng phần đầu, nhưng vẫn đủ thành tích để lọt top 10 game máy tính bán chạy của năm 2002
  • Đồ họa isometric đang dần mất chỗ đứng, và xu hướng phải thay thế bằng đồ họa 3D ngày càng rõ ràng
    • Sawyer không hứng thú với thử thách này nên ở RollerCoaster Tycoon 3 anh chỉ giữ vai trò cố vấn
    • Frontier Developments của David Braben đảm nhận phát triển và đưa series chuyển sang 3D
    • Nhờ chuyển sang 3D, người chơi có thể ngồi trên tàu lượn tự tạo của mình ở góc nhìn thứ nhất; đánh giá và doanh số nhìn chung đều tốt
    • Dưới thời Atari, series không bao giờ thực sự trở lại đỉnh cao như bản gốc

Sau Locomotion và ý nghĩa của “trò chơi cuối cùng cùng loại”

  • Game cuối cùng của Sawyer là Locomotion, hậu duệ tinh thần của Transport Tycoon
    • Đây là một game được thể hiện theo phong cách rất giống RollerCoaster Tycoon
    • Nhưng khi đó đã 10 năm sau Transport Tycoon, nên cùng kiểu thể hiện isometric ấy trông đã lỗi thời và phản hồi không mấy tích cực
  • Sawyer đã có được thành công lớn và sự dư dả tài chính nhờ RollerCoaster Tycoon
    • Game isometric đã không còn hợp thời, còn lợi thế của phát triển bằng assembly cũng biến mất
    • Thêm vào đó là tranh chấp tiền bản quyền với Atari khiến anh gần như không còn động lực tiếp tục phát triển
    • Cuối cùng, Sawyer chọn nghỉ ngơi
  • Ngành công nghiệp game khi ấy đã rất khác so với thời kỳ nhà phát triển làm game trong phòng
    • Những game top đầu doanh số PC năm 1999 như SimCity 3000, Age of Empires 2 và System Shock 2 đều do các đội khoảng 100 người với hơn 10 lập trình viên thực hiện
    • RollerCoaster Tycoon về bản chất là game do 3 người làm nên
      • Chris Sawyer: thiết kế và lập trình
      • Simon Foster: đồ họa
      • Allister Brimble: âm nhạc
  • Dù vậy, RollerCoaster Tycoon vẫn là game PC bán chạy số 1 năm 1999, và trở thành ví dụ cuối cùng trước khi độ phức tạp của game thương mại vượt quá mức mà một cá nhân có thể gánh vác
  • Về sau, cùng với sự phổ cập của internet và sự lan rộng của các chợ số như Steam, các nhà phát triển độc lập có thể tiếp cận thị trường đại chúng mà không cần publisher
    • Phần lớn nhà phát triển indie gần như không kiếm được tiền, và những cú hit đột phá bán hàng triệu bản vẫn rất hiếm
    • Dù vậy, khả năng để một nhà phát triển đơn lẻ tạo ra một game thành công nhờ đủ nỗ lực và đam mê đã một lần nữa xuất hiện

1 bình luận

 
GN⁺ 2024-12-09
Ý kiến trên Hacker News
  • Nếu muốn chơi lại RCT, tôi khuyên dùng OpenRCT2. Nó có nhiều cải tiến về chất lượng trải nghiệm và hỗ trợ macOS
    https://openrct2.org/

    • Trên PC, OpenRCT2 rất tuyệt, và Roller Coaster Tycoon Classic cũng đáng cân nhắc. Nó remaster tốt hai game gốc với cách điều khiển hiện đại, thân thiện với cảm ứng, và các bản iOS/Android cũng chạy rất ổn trên máy tính bảng
      https://atari.com/products/rollercoaster-tycoon-classic#play-now
    • Parkitect cũng khá gần với một hậu duệ tinh thần của RCT2. Nếu muốn giới thiệu thể loại game kiểu RCT cho trẻ em, nó có thể dễ tiếp cận hơn một chút
    • FAQ của dự án nói rằng cần bản RCT2 gốc, nên tôi đã thắc mắc liệu họ có kế hoạch cung cấp asset thay thế như OpenTTD không
      Sửa: đã có công việc đang được tiến hành https://github.com/OpenRCT2/OpenGraphics
    • Tôi thắc mắc liệu có nỗ lực nào để tạo asset đồ họa nhằm không phải mua riêng các file game trên mạng hay không
  • Lần đầu chơi RCT là khoảng năm 10 tuổi, một người bạn đã chép CD gốc cho tôi. Cài đặt được, nhưng do cơ chế chống sao chép CD nên bị lỗi và không chạy được; vì quá tuyệt vọng, tôi bấm vào file exe khoảng 50 lần thì đột nhiên nó chạy như có phép màu
    Tôi vui đến mức nhảy múa, và sau đó vẫn chơi game bằng cách đó, nhưng đến giờ tôi vẫn không hiểu sao có thể vượt qua được cơ chế chống sao chép

    • No-CD của RCT1 thật ra khá dễ nếu sửa khóa registry. Cài bình thường game gốc và cả hai bản mở rộng, chép các thư mục ObjDataData trên CD vào thư mục cài đặt rồi gộp lại, sau đó trong RegEdit vào HKEY_LOCAL_MACHINE\SOFTWARE\Fish Technology Group\Rollercoaster Tycoon Setup và đổi Path cùng SetupPath thành đường dẫn thư mục cài đặt là được
      Tôi đã tự thử trên HITACHI FLORA 270HX vài tháng trước
    • Tôi không biết chính xác, nhưng đó là một hiện tượng thú vị. Trên các hệ thống cũ và thiếu tài nguyên, có thể những thứ như race condition dễ xảy ra hơn
      Cũng có khả năng nếu tiến trình chống sao chép không phản hồi thì game được cho tải luôn vì trải nghiệm người dùng, nhưng có lẽ như vậy là nghĩ quá tốt
  • Bộ phim tài liệu noclip về RollerCoaster Tycoon cũng đáng xem: https://www.youtube.com/watch?v=ts4BD8AqD9g
    Nó đặc biệt đi sâu hơn vào những gì xảy ra sau RCT2, và cũng có góc nhìn của những người trong cộng đồng OpenRCT2

  • Ahoy là một trong những nhà sáng tạo xuất sắc nhất trên nền tảng này. Tôi cũng khuyên xem video về Polybius
    https://youtu.be/_7X6Yeydgyg

  • Tôi tò mò không biết lập trình viên Chris Sawyer sau này sống ra sao nên đã tìm thử. Theo Wikipedia, ông làm tình nguyện trong đội truyền thông của một trường tiểu học địa phương, đi khắp thế giới với tư cách người mê tàu lượn siêu tốc, và tính đến năm 2024 có “coaster count” là 770
    Cũng có video ông ấy xem xét một tàu lượn siêu tốc https://youtu.be/UU73g72NTHc

    • Dành cả đời cho một chủ đề thì kỳ lạ và cảm giác hơi trẻ con
  • Có thể nói đây là game cuối cùng được phát triển bằng hợp ngữ, nhưng như chính tác giả cũng thừa nhận, nó không phải là game bedroom coder thành công cuối cùng
    Ngày nay vẫn có vài game do một người hoặc nhóm nhỏ phát triển thành công như Manor Lords, Tiny Glade, Townscaper. Chỉ là chắc chắn ít hơn so với 30–40 năm trước

  • Tôi tự hỏi đây có phải là lần thứ một trăm người ta hâm lại chuyện “RollerCoaster Tycoon được viết bằng hợp ngữ” không

    • Chuyện đó cũng được nhắc đến, nhưng trọng tâm của video là RollerCoaster Tycoon là một trong những game bán lẻ lớn cuối cùng do rất ít người làm ra, như Chris Sawyer thiết kế và lập trình, Simon Foster phụ trách đồ họa, Allister Brimble phụ trách âm thanh và âm nhạc
      Nó cạnh tranh với các game do đội ngũ tối thiểu 100 người làm ra mà vẫn trở thành game PC bán chạy nhất năm 1999, nên mới được gọi là “cuối cùng trong cùng loại”
    • Tôi không rõ vì sao người ta lại ám ảnh với sự thật này đến vậy. Tất cả game cho console trước PlayStation đều được viết bằng hợp ngữ của thiết bị đó, và thời đó điều này rất phổ biến
    • Kênh này thường là một kênh lịch sử video game đi sâu hơn mức đó một chút. Chất lượng sản xuất tốt, giọng đọc dễ nghe, và hành trình nhìn lại quá khứ của game thường hay hơn nhiều so với các video cùng “thể loại” trên YouTube
  • Bài liên quan:
    OpenRCT2 – RollerCoaster Tycoon 2 trên trình duyệt bằng emscripten
    https://news.ycombinator.com/item?id=42318673

  • Một sự thật thú vị về RCT là gần như toàn bộ nó được viết bằng hợp ngữ x86. Chỉ có một wrapper C++ nhỏ để xử lý vài lời gọi DirectX nhằm thiết lập màn hình và các lời gọi Windows API; còn engine game thực sự, logic khách tham quan, v.v. đều là hợp ngữ thuần
    Nó dùng cùng engine nền tảng với Transport Tycoon Deluxe

    • Nội dung này được nói ở mốc 9 phút 22 giây của video. Đây là một trong những chủ đề chính của video