2008-08-21 31 views
24

Project Darkstar là chủ đề của cuộc họp hàng tháng JavaSIG tại các văn phòng của Google ở ​​NYC tối qua. Đối với những người không biết (có lẽ là tất cả mọi người), Dự án Darkstar là một khuôn khổ cho các trò chơi trực tuyến nhiều người chơi nhiều người cố gắng chăm sóc tất cả "những thứ khó khăn". Ý tưởng cơ bản là bạn viết logic máy chủ trò chơi của bạn theo cách mà tất cả các hoạt động được chia thành các nhiệm vụ nhỏ. Bạn chuyển các tác vụ này tới khung công tác Dự án Darkstar, xử lý việc phân phối chúng đến một nút cụ thể trong cụm, bất kỳ vấn đề đồng thời nào và cuối cùng là lưu giữ dữ liệu.Dự án Darkstar có thực tế không?

Dường như làm việc này là một vấn đề khác với trò chơi điện tử nhiều hơn là cho các ứng dụng doanh nghiệp. Jim Waldo, người đã thuyết trình, tuyên bố rằng trò chơi MMO có tỷ lệ đọc/ghi DB là 50/50, trong khi ứng dụng doanh nghiệp giống như đọc 90%, viết 10%. Ông cũng tuyên bố rằng hầu hết các MMO hiện có giữ mọi thứ trong bộ nhớ một cách exlcusively, và chỉ đổ vào một DB mỗi 6 giờ như vậy. Điều này có nghĩa là nếu máy chủ bị hỏng, bạn sẽ mất tất cả công việc kể từ lần kết xuất DB cuối cùng.

Bây giờ, bản thân dự án nghe có vẻ rất tuyệt, nhưng tôi không nghĩ ngành này sẽ chấp nhận nó. Trước tiên, bạn phải viết mã máy chủ của bạn bằng Java. Mã khách hàng có thể được viết bằng bất cứ thứ gì (Jim tuyên bố ActionScript 3 là phổ biến nhất, theo sau là C++), nhưng các công cụ máy chủ phải là Java. Nghe hay với tôi, nhưng tôi thực sự có ấn tượng rằng mọi người trong ngành công nghiệp game đều ghét Java.

Thứ hai, không giống như các ngành khác mà các nhà phát triển muốn sử dụng các khung và thư viện hiện có, các chàng trai trong ngành công nghiệp trò chơi dường như muốn tự viết mọi thứ. Không chỉ vậy, họ thích viết lại mọi thứ cho mỗi trò chơi mới mà họ sản xuất. Mọi thứ đang bắt đầu thay đổi nơi các nhà phát triển đang sử dụng Havok cho vật lý, Unreal Engine 3 làm nền tảng của họ, vv, nhưng đối với hầu hết các phần, có vẻ như mọi thứ vẫn là độc quyền.

Vì vậy, các bạn ở Dự án Darkstar có lãng phí thời gian của họ không? Có thể một khuôn khổ chung như thế này thực sự làm việc cho các trò chơi phức tạp với hiệu suất được yêu cầu? Ngay cả khi nó hoạt động, các công ty game có sẵn sàng sử dụng nó không?

Trả lời

24

Chỉnh sửa: Điều này được viết trước khi Oracle mua Sun và bắt đầu một hung hăng để giết tất cả mọi thứ mà không làm cho họ một tỷ $ mỗi ngày. Xem các bình luận cho một OSS Fork.Tôi vẫn theo quan điểm của tôi rằng những thứ như thế (MMO Middleware) là thực tế, bạn chỉ cần một công ty không hút đằng sau nó.

Thị trường có thể bị chi phối bởi một số trò chơi lớn, nhưng điều đó không có nghĩa là không có nhiều chỗ cho các trò chơi thích hợp hơn. Cho phép đối mặt với nó: Nếu bạn muốn tiếp cận hơn 100.000 người chơi, bạn sẽ kết thúc xây dựng ngăn xếp công nghệ của riêng mình, ít nhất là cho cốt lõi quan trọng. Đó là những gì ĐCSTQ đã làm cho EVE Online (StacklessIO), đó là những gì Blizzard đã làm cho World of Warcraft (mặc dù họ sử dụng nhiều thư viện của bên thứ ba), đó là những gì Mythic đã làm cho Warhammer Online (mặc dù họ dựa trên Gamebryo). Tuy nhiên, nếu bạn muốn trở thành một MMO nhỏ, thích hợp (giống như hàng chục MMO Free-to-Play/Itemshop), thì việc nhận được quyền sở hữu mạng chỉ là cực kỳ khó khăn, tính nhất quán của dữ liệu thậm chí còn khó khăn hơn và khả năng mở rộng là lớn nhất b * tch.

Nhưng công nghệ trò chơi không phải là vấn đề duy nhất của bạn - bạn cũng cần giải quyết Thanh toán. Chỉ thẻ tín dụng? Hãy vui vẻ bán ở Đức sau đó, mọi người ở đó muốn có ELV. Đó là nơi bạn cần nhà cung cấp thanh toán đáng tin cậy, nhưng bạn vẫn cần phải liên kết trong ứng dụng thanh toán với tài khoản của mình để đảm bảo rằng tài khoản bị chặn/kích hoạt lại khi thanh toán không thành công.

Có một số công ty đã cung cấp "MMO Infratructure Services" (nghĩa là Arvato's EEIS), nhưng điểm mấu chốt là: Các công cụ như Project Darkstar IS thực tế, nhưng giả sử rằng bạn có thể xây dựng một Multi-Billion-MMO hoàn toàn trên một bên thứ ba Stack là lạc quan, có thể là lý tưởng.

Nhưng sau đó một lần nữa, phát minh hoàn toàn tất cả công nghệ thậm chí còn ngu ngốc hơn - sử dụng công cụ của bên thứ ba mà bạn cần (tức là Thanh toán, Phông chữ, Đầu ra âm thanh ...), nhưng write the stuff that really makes or breaks your business (tức là Ngăn xếp mạng, Giao diện người dùng vv) trên của riêng bạn. (Lưu ý: bài đăng của Jeff có thể là a bit flawed, nhưng hướng chung là IMHO chính xác.)

Phụ lục: Ngoài ra, ngành công nghiệp trò chơi còn cấp phép và sử dụng lại nhiều động cơ. Các trò chơi nổi bật nhất Động cơ là Unreal Engine, Source Engineid Tech, cung cấp nhiên liệu hàng chục, nếu không phải hàng trăm trò chơi. Nhưng có một số động cơ ít được biết đến hơn (ngoài ngành). Có Gamebryo, Middleware đằng sau các trò chơi như Civilization 4 và Fallout 3, đã có RenderWare hiện chỉ là EA-in-House, nhưng được sử dụng trong các trò chơi như Battlefield 2 hoặc The Sims 3. Có mã nguồn mở Ogre3d. trong some thương mại titles.Nếu bạn chỉ đang tìm kiếm âm thanh, có các công cụ như FMOD hoặc nếu bạn muốn tạo phông chữ, tại sao không cung cấp cho FreeType một vòng quay? Những gì tôi đang nói là: Công cụ bên thứ ba/Middleware tồn tại, và chúng được sử dụng thành công từ hơn một thập kỷ (tôi biết chắc chắn rằng động cơ Wolfenstein của id đã được cấp phép cho các công ty khác, và đó là năm 1992.), thậm chí bởi các công ty lớn trong danh hiệu nhiều triệu đô la. Điều quan trọng là sự hỗ trợ, bởi vì một công cụ tốt không có sự giúp đỡ trong trường hợp của một vấn đề là khá nhiều vô giá trị hoặc ít tốn kém nhất nếu nhà phát triển phải dành thời gian phát triển trò chơi của họ với gỡ lỗi không cần thiết của Engine.

Nếu người dùng Darkstar quản lý để nhận được bên hỗ trợ ngay và 2 hoặc 3 tiêu đề tiểu sử cao hơn, tôi tin rằng nó có thể thành công trong việc mở thị trường MMO cho nhiều nhà phát triển và indies nhỏ hơn nhiều.

+1

Cảm ơn bạn đã nỗ lực! –

+0

Thú vị và thông tin – Andy

+4

Thông tin: Dự án Darkstar đã bị đóng bởi Oracle, tuy nhiên có một nhánh do một số thành viên của nhóm phát triển ban đầu có tên Red Dwarf Server có thể tìm thấy tại http://www.reddwarfserver.org/. – Kynth

-1

Tôi không làm việc trong ngành công nghiệp trò chơi, nhưng có vẻ như tôi sẽ làm điều tương tự cho trò chơi điện tử như động cơ Quake và Half-Life đã làm. Đó là họ sẽ thúc đẩy các nhà phát triển trẻ quan tâm đến ngành công nghiệp và thúc đẩy phát triển trò chơi độc lập. Từ những gì tôi có thể nói, các công ty trò chơi điện tử không sử dụng lại hầu hết mã của họ, bởi vì nếu họ làm điều đó ngụ ý rằng trò chơi mới của họ chỉ là bản phục hồi của một trò chơi cũ. Mọi người đều muốn có một công cụ vật lý mới thú vị, đồ họa tốt hơn, những cách mới để chơi trò chơi. Hầu hết các công cụ trò chơi video và khung công tác được tạo cho một kịch bản cụ thể và do đó không phải là rất uốn cong với các tình huống khác.

Có lẽ Darkstar sẽ nhận được nó ngay mặc dù, nhưng tôi kinda nghi ngờ nó, kể từ khi generalizing chỉ làm việc cho rất nhiều.

+1

Nhưng Darkstar là về mã back-end, không phải mã phía máy khách - người chơi (nói chung) không quan tâm đến công nghệ back-end khi họ nói về muốn lớn hơn và tốt hơn. –

2

Từ những gì tôi có thể nói, các công ty trò chơi video không sử dụng lại hầu hết mã của họ, bởi vì nếu họ làm điều đó ngụ ý rằng trò chơi mới của họ chỉ là bản phục hồi của trò chơi cũ.

Um ... nếu bạn đang đề cập đến đuôi dài của các công ty trò chơi điện tử, có thể. Trong một công ty đã có một loạt các trò chơi thành công, thường có một số chế độ tái sử dụng. Những thay đổi phần cứng lớn có thể dẫn đến việc bỏ rất nhiều công việc, nhưng nó thực sự phụ thuộc vào công ty.

3

Nghe như công nghệ vô dụng đối với tôi. Thế giới MMO được điều khiển bởi một vài công ty trò chơi lớn đã có sẵn công nghệ riêng của họ. Các nhà phát triển trò chơi độc lập yêu thích xây dựng MMO và đôi khi họ làm, nhưng những trò chơi đó hiếm khi có được lực kéo.Các công ty lớn hơn xâm nhập vào thế giới MMO có lẽ sẽ cấp phép cho công nghệ "đã được chứng minh" hoặc mở rộng công nghệ của riêng họ.

Công ty trò chơi sử dụng lại số lượng lớn mã từ trò chơi đến trò chơi. Phần lớn/nhiều công ty trò chơi đã phát triển công nghệ riêng của họ trong nội bộ và sử dụng nó trên mọi trò chơi mà họ sản xuất. Thỉnh thoảng, họ sẽ làm điều gì đó như thay thế mã vật lý của họ bằng động cơ vật lý của bên thứ 3. Nếu cơ sở mã nội bộ của họ (công cụ trò chơi, công cụ thiết kế, đường dẫn nội bộ) bắt đầu quá tuổi hoặc trở nên khó sử dụng, họ có thể chuyển sang một trong những công cụ trò chơi lớn như Unreal. Thậm chí sau đó, các đoạn mã lớn sẽ tiếp tục được sử dụng lại từ trò chơi đến trò chơi.

1

Nghe có vẻ thú vị khi thiết kế và viết mã, nhưng tôi nghĩ nó cuối cùng sẽ xuống đến useless abstractions (để ăn cắp từ Joel).

1

Rất phổ biến cho các trò chơi sử dụng lại "công cụ trò chơi", ngay cả những trò chơi từ bên thứ ba. Điều này nghe giống như một bước khác theo hướng đó.

1

Tôi nghĩ rằng đó là một điều tuyệt vời để làm. Các nhà phát triển không phải lo lắng về tất cả những điều mà dự án darkstar chăm sóc, và nó rất dễ sử dụng. Nhưng nó không phải là tất cả về chỉ nhận được nó để làm việc và không phải tìm hiểu tất cả mọi thứ về truyền thông internet, Nó cũng về hiệu suất. Dự án darkstar đã được phát triển trong hơn 2 năm và nó ngày càng trở nên tốt hơn, nhanh hơn và mạnh mẽ hơn.

Tôi nghĩ rằng nó sẽ khó khăn và có lẽ không đáng để viết những điều này khi nhắm vào một trò chơi cụ thể, khi các công nghệ như thế này có thể được sử dụng thay thế. Và bạn cũng có được thông tin tốt đẹp trong thời gian chạy cho bạn biết nơi nào trong một ứng dụng có nguyên nhân làm chậm hoặc deadlocks để bạn có thể cải thiện điều đó.

Các vấn đề liên quan