Trò chơi mã nguồn mở rất đơn giản trong các ngôn ngữ khác nhau? [đóng cửa]


7

Có bất kỳ trò chơi mã nguồn mở rất đơn giản nào có sẵn chỉ để thể hiện những điều cơ bản của các kỹ thuật lập trình không? Tốt nhất là một cái gì đó phù hợp với một vài trăm dòng mã thực tế. Cụ thể, tôi đang tìm kiếm một trò chơi mã nguồn mở được viết bằng Objective-C và Ca cao.

Tôi cũng sẽ đánh giá cao một người viết bằng C.

Tất cả các dự án mà tôi tìm thấy trực tuyến là tương đối phức tạp.


1
Tôi đoán một phần của vấn đề là hầu như không có một con thú nào như một 'trò chơi đơn giản'. Một trò chơi thường cần xử lý đầu vào, mã vẽ, logic trò chơi, tải tài nguyên, có lẽ là âm thanh. Điều đó một mình làm cho một vài trăm dòng mã. Thêm một menu và một hud và nó phát triển. Ngay cả các mẫu DirectX đơn giản cũng nhanh chóng tăng lên vài trăm dòng, không tính các chức năng dịch vụ trong khung mẫu và chỉ có một thứ gì đó được vẽ lên màn hình mà không có logic trò chơi nào.
Kaj

Tôi đoán nó chắc chắn là dễ dàng hơn nhiều trong Java, nhưng vẫn có con rắn khoảng 300 dòng. Tất nhiên phần lớn những thứ cơ bản không được nhìn thấy trong một applet Java
Ritwik Bose

Bạn có thể làm rõ những gì bạn có nghĩa là "các kỹ thuật lập trình"? Các kỹ thuật lập trình cho trò chơi 300 dòng không giống với các kỹ thuật cho trò chơi 30.000 dòng và các kỹ thuật này không giống với trò chơi 300.000 trò chơi.

Rất đơn giản, tôi nghĩ những gì tôi cần là một ví dụ về vẽ đồ họa và lấy đầu vào.
Ritwik Bose

Câu trả lời:


3

Nếu bạn muốn 200 dòng, thì loại trò chơi duy nhất tôi có thể nghĩ đến sẽ là một cuộc phiêu lưu văn bản kiểu cũ. :) Đừng đánh giá thấp những thách thức đó.

Đây là một cuộc phiêu lưu văn bản trong Objective-C: http://www.spintz.com/electron/electron.html


2

Bạn có thể tìm thấy một vài trò chơi mã nguồn mở được viết bằng object-c trên github . Mặc dù hầu hết đều lớn hơn vài trăm dòng.

Nếu bạn đang tìm kiếm các ví dụ "nhỏ" và bạn thích Roguelike, bạn nên xem danh sách cho cuộc thi roguelike 1kb . Có một vài ví dụ C khá thông minh (mặc dù chúng có thể không phải là ví dụ học tập tốt, chỉ thú vị để đọc.)


1

Nếu bạn quan tâm đến FPS, bạn có thể xem Cube Engine .

Ngoài ra, Quake 3 Engine có sẵn miễn phí. Bạn có thể tìm thấy nó trên trang web Phần mềm id. Dưới cùng của thanh bên phải.


1
Tôi nghĩ rằng động cơ Quake 3 đi hơn một vài trăm dòng; o)
Kaj

1

Tôi, rất chậm, tự dạy lập trình (chỉ cần nắm bắt logic trò chơi cơ bản) với cuốn sách miễn phí " Phát minh trò chơi máy tính của riêng bạn với Python ".

Nó được viết với ý tưởng rằng tất cả một lập trình viên trò chơi khao khát muốn làm là đến điểm viết trò chơi, vì vậy đó là những gì nó cho phép bạn làm, ngay từ đầu. Cuối cùng, bạn sẽ tạo ra các trò chơi giống như những gì bạn mô tả ở đây.


Tôi thường xuyên giới thiệu cuốn sách này cho người mới bắt đầu. Tôi có nghĩa là "Tôi chưa bao giờ lập trình trước" người mới bắt đầu, vì vậy điều này có thể đơn giản.
jhocking

0

Tôi đã có nguồn cho một đơn giản mà chúng tôi đang sử dụng cho một cuộc thi chiến tranh mã tại Windward Wrocks . Nó ở C # nhưng gần với Objective C.


0

Một trò chơi Allegro trong 20 dòng mã .

  • Nó có thể được coi là "miễn phí sử dụng" vì nó là đoạn trích trên diễn đàn công cộng
  • ngôn ngữ C
  • một số "kỹ thuật bẩn" làm thế nào để ép mã trong C
  • Một số kỹ thuật làm game đơn giản.
  • nhiều nhất là 20 dòng (có một vài ngoại lệ và có một vấn đề là C có thể quá nén , vì hầu như không có hạn chế nào đối với dòng mới hoặc khoảng trắng; LỘC thường là một số liệu xấu )
  • Không chắc chắn nếu "cơ bản của các kỹ thuật lập trình" rơi vào đây, nhưng chắc chắn có
    1. mảng
    2. thành phần chức năng
    3. Tính chất boolean C
    4. Thuộc tính dấu phẩy
    5. Thuộc tính bộ xử lý macro C
    6. Toán tử ternary
    7. logic boolean với phép nhân và phép cộng
    8. ...
  • Bạn sẽ cần một số nền tảng toán học để hiểu một số trong số họ.
  • Đoạn trích có <và> thay vì [và].

Ngoài ra còn có Pac-Man chẳng hạn.

Đó là điều tôi sẽ giới thiệu cho bạn nếu Bạn là lập trình viên cao cấp hơn, bởi vì một số kỹ thuật này khá khó đọc. Tuy nhiên, đây là một bộ kỹ thuật đẹp. Cách thích hợp sẽ không phải là tạo ra những "sự ghê tởm" như vậy mà là thiết kế, tài liệu, kiểm tra đúng cách (...) Chương trình của bạn và mã như vậy sẽ là kết quả của nhiều kỹ thuật nén được áp dụng trên thiết kế rất tốt. Xin vui lòng, đây không phải là cách bạn nên lập trình mà là một minh chứng cho việc một trò chơi có thể được nén bao nhiêu.


0

Có lẽ đó là một ý tưởng tốt không chỉ nhìn vào các trò chơi nguồn mở mà còn cho một số hệ thống trò chơi có sẵn miễn phí (biên tập viên, v.v.) nơi bạn có thể tìm thấy một số nguồn cảm hứng cho cấu trúc dữ liệu của mình và những gì đằng sau tất cả. Ý tôi là ví dụ trình soạn thảo và công cụ trò chơi phiêu lưu GameStylus , trong đó - trong trình chỉnh sửa - bạn có thể thấy rõ cấu trúc dữ liệu nào ở phía sau trò chơi và cách chúng được sử dụng.


Vì Paolo chỉ đề cập đến một động cơ, nên những động cơ phổ biến khác là: OpenSludge, Unity3D, AGS, AGE, Visionaire hoặc Wintermute
uliwitness
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.