Tránh 3D , vì bạn sẽ cần biết cách tạo mô hình 3D hoặc tìm mô hình tốt, bạn sẽ cần biết cách tải các mô hình đó (thường là một nhiệm vụ hoành tráng), và cách vẽ chúng trên màn hình (ví dụ: OpenGL hoặc DirectX tốn rất nhiều công sức để kiếm được ít tiền và thậm chí một công cụ như jMonkeyEngine yêu cầu kiến thức về cách sử dụng công cụ, cùng với kiến thức 3D cơ bản). Làm mờ hình ảnh 2D trên màn hình và di chuyển chúng xung quanh đơn giản hơn nhiều so với xử lý các đỉnh, vật liệu, xem ma trận, biến đổi, v.v. Tôi nghĩ bạn sẽ hiểu được.
Gắn bó với các thư viện và lớp Java tích hợp: Graphics2D, ImageIO, trình nghe chuột và bàn phím AWT, Canvas, API âm thanh Java, v.v. Lợi ích của việc gắn bó với chúng thay vì tìm một số thư viện khác bao gồm: bạn đã biết chúng (ở một mức độ nào đó), bạn biết rằng chúng đã được kiểm tra tốt và ổn định và thường có ý nghĩa, tài liệu và tài nguyên trực tuyến rất phong phú, và chúng có thể mang theo được bạn không phải lo lắng về việc cài đặt thêm thư viện với thư viện riêng và tất cả những thứ đó.
Xây dựng một thư viện nhỏ các đoạn mã trước thời hạn. Chúng bao gồm những thứ như tải hình ảnh, vẽ hình ảnh đến một vị trí trên màn hình, chia tỷ lệ hình ảnh và các hiệu ứng khác, phát âm thanh, lặp nhạc nền, phát hiện va chạm hộp giới hạn, vẽ văn bản. Ngoài ra, có một ứng dụng bộ xương mở Khung (hoặc Applet), thêm Canvas vào nó, và các phương thức sơn và vẽ lại của khung vẽ sẽ được ghi đè và một luồng nên lặp lại phương thức sơn lại canvas (hoặc bộ đếm thời gian gọi nó). Bạn có thể học những điều này nếu bạn tìm kiếm xung quanh Java 2D game programming
. Giả sử bạn có quyền truy cập vào thư viện của trường đại học, bạn nên có một số sách trò chơi Java hay theo ý của bạn; kiểm tra chúng và lướt qua chúng để biết các đoạn trích nói trên và những đoạn khác tôi đã bỏ lỡ.
Thực hành kiểm soát nguồn và phân chia công việc với nhóm của bạn trước thời hạn.Bạn sẽ sử dụng Subversion, Git, Mercurial, hoặc cái gì khác? Các máy tính của mọi người có được đặt cùng một phiên bản cập nhật của Java không? Tạo kho lưu trữ của bạn, cam kết / đẩy một số tệp, đảm bảo mọi người đều kiểm tra kho lưu trữ và sẵn sàng truy cập hệ thống của bạn. Có thể cam kết một ứng dụng 'hello world' và đảm bảo mọi người đều có thể kéo và sửa đổi và cam kết nó; và đảm bảo bạn biết cách xử lý việc hợp nhất (cho dù bạn tránh hoàn toàn với giao tiếp tốt hay lập trình cặp hoặc bạn biết cách sử dụng công cụ hợp nhất). Hoặc, nếu bạn không quen với kiểm soát nguồn, hãy đảm bảo bạn tìm ra giải pháp hiệu quả; cho dù đó là lập trình cặp trong khi người thứ ba làm nghệ thuật hay âm thanh, hoặc thứ gì khác, chỉ cần đảm bảo được tổ chức ngay từ đầu hoặc bạn sẽ lãng phí hàng tấn thời gian.
Bookmark liên kết đến các trang web cung cấp phương tiện truyền thông miễn phí. Đã có khá nhiều loại trang web được liệt kê trong các câu hỏi khác ở đây; các trang web như freesoundlà hoàn hảo để nhanh chóng tìm phương tiện hữu ích để sử dụng trong trò chơi của bạn khi bạn không có thời gian để làm cho nó từ đầu. Đánh dấu trang này tất nhiên, vì vậy bạn có thể đặt câu hỏi nếu bạn gặp khó khăn về điều gì đó. Đánh dấu các diễn đàn như diễn đàn gamedev.net để bạn có thể tìm kiếm chúng để tìm câu trả lời. Nếu bạn chọn sử dụng thư viện của bên thứ ba, hãy đánh dấu trang web của họ. Sắp xếp các dấu trang này vào các thư mục và lấy càng nhiều càng tốt và đảm bảo chia sẻ chúng để cả ba bạn có cùng một thư viện dấu trang hữu ích. Sẽ không mất nhiều thời gian để đi xung quanh và thu thập các dấu trang này và sắp xếp chúng theo loại / chủ đề, nhưng nó giúp bạn tiết kiệm rất nhiều thời gian khi bạn không phải nhớ tất cả các trang web ở giữa dự án của mình.
Để có thêm gợi ý, hãy xem câu trả lời cho câu hỏi của tôi "Làm thế nào để chuẩn bị cho một cuộc thi phát triển trò chơi?" .
Để giải quyết phần còn lại của câu hỏi của bạn ... Lời khuyên chung là: đừng nhắm cao . Tuy nhiên, nó có thể khác nhau tùy thuộc vào mức độ bạn chuẩn bị (ví dụ như các đề xuất ở trên của tôi) và các kỹ năng của bạn về Java. Đây phần lớn là một đánh giá cá nhân dựa trên lịch sử của bạn, nhưng vì không ai trong số bạn có lịch sử làm game (và do đó không thể phán đoán thời gian cần thiết), nên mục tiêu thực sự rất thấp . Hãy đưa ra một ý tưởng thực sự cơ bản có thể dễ dàng thực hiện trong 2D mà không cần bất kỳ khái niệm nâng cao nào (ví dụ: tránh va chạm theo pixel, tính toán vật lý điên, hiệu ứng hạt, v.v.). Nhưng sau đó tạo một danh sách ưu tiênvề các tính năng của trò chơi, càng chi tiết càng tốt (ví dụ: chia từng tính năng thành nhiều nhiệm vụ riêng biệt nhất có thể). Bằng cách này, bạn chỉ cần làm việc theo cách của bạn xuống danh sách càng nhiều càng tốt, và nếu bạn không nhận được một số nhiệm vụ ưu tiên thấp, thì đó không phải là vấn đề lớn. Điều này phải được thực hiện cẩn thận (bạn vẫn cần một trò chơi chức năng vào cuối thời gian, vì vậy có một nhóm nhiệm vụ tối thiểu cần phải thực hiện và một số nhiệm vụ phụ thuộc vào các nhiệm vụ khác), nhưng nói chung tôi nghĩ rằng đây là Cách tiếp cận tốt nhất khi bạn không biết mọi thứ sẽ mất bao lâu.