Những trò chơi hay nào để kiếm được đôi cánh của bạn là gì? [đóng cửa]


305

Tôi tin rằng để trở thành một nhà phát triển trò chơi giỏi, bạn cần phải tạo ra các trò chơi.

Từ quan điểm của một lập trình viên , một số trò chơi cấp độ tốt để làm bẩn tay bạn là gì? Những kỹ năng và thách thức nào trong mỗi trò chơi này dạy bạn?

Câu trả lời:


217

Đột phá

Trò chơi dễ dàng vì bạn không có nhiều trạng thái phải lo lắng (đó là một mảng các giá trị gạch - nếu bạn chỉ có một màu gạch, đó là một mảng cờ), không có AI và bạn phải thực hiện một chút vật lý để có được quả bóng nảy chính xác.

Solitaire

Các quy tắc phức tạp hơn một chút so với Breakout và giao diện với nó rất khác nhau. Nó buộc bạn phải suy nghĩ về các phương pháp khác nhau để thực hiện một trò chơi. tức là, những gì hoạt động trong một trò chơi không nhất thiết là những gì bạn sẽ sử dụng trong một trò chơi khác.

Pac-Man

Điều này là tốt bởi vì bạn có thể làm việc trên một chút AI. Có những con ma theo dõi người chơi (nhưng không quá tốt - bạn muốn người chơi có cơ hội) có thể nhanh chóng thực hiện và bạn sẽ có một trò chơi nhỏ thú vị mà bạn có thể điều chỉnh và khoe với bạn bè và gia đình (luôn có phản hồi tích cực một điều tốt khi bạn đang bắt đầu).

Tôi thấy rằng nếu bạn tìm kiếm cảm hứng trong các trò chơi video đầu tiên, bạn có thể tìm thấy vô số ý tưởng tương đối đơn giản để thực hiện. Ngoài ra, bạn có thể thoát khỏi những tác phẩm nghệ thuật và âm thanh siêu đơn giản vì dù sao bạn cũng đang sao chép một thứ gì đó quá đơn giản. Điều này cho phép bạn tập trung vào những điều cơ bản trước - khởi động và chạy trò chơi của bạn, tìm ra cách đưa pixel của bạn lên màn hình, phát âm thanh, giữ điểm, đưa đầu vào của người chơi vào trò chơi.

Gần như thực sự không quan trọng bạn chọn trò chơi nào trước tiên - chỉ cần đảm bảo bạn chọn một thứ đơn giản mà bạn có thể nhận được kết quả nhanh chóng, theo cách đó bạn có thể di chuyển vào ngày hôm sau và thực hiện một trò chơi khác. Và một cái khác. Và một điều nữa - bạn càng tạo ra nhiều, bạn sẽ càng thúc đẩy bản thân mình, và cuối cùng bạn sẽ tạo ra những trò chơi phức tạp trước khi bạn biết điều đó.


49
+1 trên Breakout. Tôi đã có nhiều nhà phát triển trò chơi PRO nói với tôi rằng bất cứ khi nào họ có được một phần công nghệ mới, họ sẽ học nó bằng cách đầu tiên tạo ra Breakout.
Jeff

2
+1 Breakout là trò chơi đầu tiên tôi thực hiện =). Ngoài ra, tôi đồng ý về việc cố gắng tạo lại các trò chơi video đầu tiên (với các vòng xoắn của riêng bạn!). Tập trung vào các khái niệm, không phải tài sản.
dùng384918

16
@PhillC, không, không đáng để chia tách
Simurr

13
Bạn đã quên về tetris: đó là trò chơi thứ hai tôi thực hiện ở trường học cao cấp :)
Emiliano

2
tất cả các bạn có thể xin vui lòng cung cấp liên kết đến đột phá của bạn? Tôi thích trò chơi đó và muốn thử tất cả các bản làm lại
vào

256

Tôi thực sự khuyên các lập trình viên mới làm quen nên bắt đầu với trò chơi đơn giản nhất mà họ thực sự muốn viết . Như Matt Rix đã đề cập, một phần rất lớn trong việc viết một trò chơi so với bản demo đang đẩy thứ hoàn hảo đến mức hoàn thành - tín dụng, menu, kiểm tra chơi, điểm cao, tạm dừng, kiểm tra chơi, mức độ khó, chuyển trạng thái trò chơi sạch, chơi thử nghiệm, v.v. Những thứ đó mất ít nhất một nửa thời gian bạn sẽ đặt vào và nó không vui chút nào. Không phải vậy. Vì vậy, trừ khi bạn yêu thích khái niệm này và thực sự có động lực, bạn sẽ từ bỏ và tiếp tục trước khi trò chơi là một trò chơi .

Nếu bạn muốn viết một game nhập vai, hãy tìm ra khái niệm RPG đơn giản nhất, dễ quản lý nhất mà bạn có thể nghĩ ra mà bạn muốn làm và thực hiện nó. Tương tự nếu bạn muốn làm một game bắn súng khoa học viễn tưởng, hoặc một platformer có chủ đề kinh dị, hoặc bất cứ điều gì. Chọn một cái gì đó bạn sẽ hoàn thành, rằng bạn vẫn sẽ muốn hoàn thành sau khi mọi thứ vui vẻ được thực hiện nhưng bạn vẫn đang xem xét hàng chục giờ làm việc trước khi bạn thực sự hoàn thành.

Trò chơi hay nhất để "kiếm cánh" với? Một trong những bạn đã hoàn thành. Tôi không quan tâm có bao nhiêu bản demo PONG / Breakout / Galaga / Tetris mà bạn đã viết, bạn không phải là nhà phát triển trò chơi cho đến khi bạn phát hành một trò chơi hoàn thành thực tế.

Thêm vào đó, không ai muốn chơi một phiên bản khác của những trò chơi 40 tuổi đó, và ít nhất một số điểm trong trò chơi viết là dành cho mọi người chơi , phải không?


3
Tôi muốn bộ ba bỏ phiếu câu trả lời này!
Iain

2
+1 cho nhận xét về việc thực sự phát hành một trò chơi. Bắt một trò chơi và chạy chỉ là khoảng 30% của quá trình, IMO. Liên tục lặp đi lặp lại về cơ học, đánh bóng mọi thứ để có thể nhìn thấy, xua đuổi những lỗi khó chịu chỉ xảy ra trong các tình huống rất cụ thể và thực sự có thể tập trung vào những gì cần làm là 70% còn lại.
Dennis Munsie

1
+1 để nói những gì tôi muốn nói. Trò chơi đầu tiên của tôi là palmgadget.com/palmgo.html Nó có thể được thực hiện bởi vì tôi yêu thích trò chơi Go và tôi thực sự sử dụng nó để ghi lại các trò chơi của mình trong câu lạc bộ. "Gãi ngứa của riêng bạn" đầu tiên.
ohho

16
Tôi thích lời khuyên này, nhưng nó có thể nguy hiểm. Rốt cuộc, tâm lý này chính xác là lý do tại sao rất nhiều người vào các diễn đàn dành cho game dev và nói rằng "Tôi chưa bao giờ làm game trước đây, tôi sẽ bắt đầu một MMORPG." Tôi muốn nói rằng bạn nên bắt đầu với một trò chơi mà bạn thích từ một lựa chọn hạn chế các dự án khởi đầu tốt. Vì vậy, giống như, nếu bạn thực sự ghét Tetris thì đừng làm vậy. Nhưng thay vào đó, hãy đột phá, không chỉ bất kỳ trò chơi ngẫu nhiên nào hấp dẫn bạn.
jhocking

185

Tôi đã đăng cái thang này tại TIGsource một lúc trước. Nó bắt đầu từ rất cơ bản đến rất phức tạp.

  • "Đoán số" / Hangman (giao diện cơ bản, chọn dữ liệu từ cơ sở dữ liệu)
  • Tic-Tac-Toe / Rock-Paper-Kéo (lối chơi theo lượt, AI của đối thủ)
  • Arkanoid / Pong (va chạm, tốc độ khung hình ổn định, điểm số, cấp độ)
  • Tetris (cấu trúc dữ liệu và cách chúng liên quan đến chơi game)
  • 1942 / Shoot-em-up (kẻ thù, đạn)
  • trò chơi platformer / pinball đơn giản nếu động cơ của bạn thực hiện platformer (va chạm dựa trên trọng lực)
  • Bomberman / Pacman (chuyển động dựa trên gạch, AI của kẻ thù phức tạp)
  • Trò chơi hai người chơi thuộc bất kỳ loại nào ở trên (hai đầu vào của người chơi)
  • Roguelike / Diablo (Quản lý kho, nhiều AI của kẻ thù, lưu và tải các trạng thái trò chơi phức tạp)
  • Faceball / Wolfenstein 3D (chuyển động và kết xuất 3d cơ bản)
  • Trò chơi theo lượt mạng (mạng cơ bản)
  • Nền tảng người thứ ba 3D phô trương (vật lý, chuyển động 3d phức tạp)
  • Mạng trò chơi thời gian thực (Đồng bộ hóa máy khách-máy chủ, độ trễ)
  • MMORPG (Thế giới bền bỉ)

7
Bạn có thể giải thích rõ hơn những gì bạn cần học ở đây. Ghi chú ngắn gọn của bạn không mô tả / hữu ích.
SpoonMeiser

57
Mặc dù đây là lần cuối cùng, tôi nghĩ MMORPG cần phải đi sâu hơn nữa. Danh sách tuyệt vời. +1

6
Danh sách tuyệt vời, mặc dù tôi nghĩ rằng toàn bộ khía cạnh thang bị phá vỡ sau Pacman. Tại thời điểm đó, bạn biết đủ để đi và làm bất kỳ loại trò chơi nào; Tôi không nghĩ bạn cần phát triển Diablo trước khi phát triển Wolfenstein. Tất cả mọi thứ cho đến Pacman bạn nên làm theo thứ tự.
jhocking

5
"Thế giới bền bỉ" đánh giá thấp sự khác biệt giữa MMORPG các tùy chọn trước đó.
Malabarba

1
Bạn cũng có thể xử lý "Thế giới bền bỉ" trong một game không phải MMORPG (ví dụ: roguelike).
tro999

64

Quy tắc quan trọng nhất của việc học lập trình trò chơi: học lập trình là khó. Học thiết kế game thật khó. Học cách làm cho nghệ thuật trò chơi hay âm thanh tốt là khó. Cố gắng làm tất cả những điều này cùng một lúc là một công thức cho sự thất bại. Học một điều tại một thời điểm.

Hệ quả: lập trình một trò chơi trong đó thiết kế, nghệ thuật và âm thanh đã được thực hiện. Tạo bản sao, không phải trò chơi gốc.

Trong các lớp học của mình, tôi luôn khuyến nghị các trò chơi này bắt đầu, theo thứ tự:

1) Tetris. Nghệ thuật là các hình chữ nhật được tô màu, mà thậm chí toàn bộ klutz có thể vẽ trong Microsoft Paint. Bạn không cần âm thanh. Việc lập trình tương đối đơn giản, nhưng vẫn đòi hỏi một vài điều quan trọng: hiểu sự khác biệt giữa trạng thái trò chơi nội bộ và những gì được vẽ trên màn hình; có thể vẽ trên màn hình, thời gian (có thể liên quan đến sprite và blits); có thể chấp nhận đầu vào của người dùng trong thời gian thực thay vì chỉ sử dụng getch () hoặc scanf () trong đó bạn phải đợi họ.

2) Đột phá / Arkanoid. Nghệ thuật vẫn là hình chữ nhật màu, và bạn vẫn không cần âm thanh. Sử dụng tất cả các khái niệm cơ bản của Tetris, cộng với một số phát hiện va chạm cơ bản và vật lý 2D vì quả bóng phải di chuyển và nảy nhẹ.

3) Loại Gradius / R. Bạn có thể có thể tìm thấy một số phần mềm miễn phí để làm điều này. Ở đây nền đang cuộn, vì vậy bạn phải tìm hiểu thêm một chút về cách hoạt động của bộ nhớ đồ họa, sử dụng các kỹ thuật như lật trang và đệm đôi và vẽ các thứ bên ngoài ranh giới của màn hình hiển thị. Bạn cũng có xu hướng có kẻ thù năng động và viên đạn sinh ra, vì vậy bạn sẽ cần phải học cách tự dọn dẹp (tức là loại bỏ kẻ thù và viên đạn rời khỏi màn hình để trò chơi của bạn không bị rò rỉ bộ nhớ như một cái sàng).

4) Super Mario Bros. Tương tự như dự án cuộn trước đây, ngoại trừ việc cuộn giờ nằm ​​dưới sự kiểm soát của người chơi và không tự động. Bạn cũng phải đối phó với trọng lực và tất cả những thứ va chạm thú vị đi cùng với nó (như không rơi xuống sàn chỉ vì bạn có một vài pixel ở trên trong khung cuối cùng và muốn di chuyển đến một vài pixel bên dưới trong khung tiếp theo ). Cũng lưu ý rằng trọng lực là có điều kiện: nó ảnh hưởng đến người chơi và một số kẻ thù, nhưng thường không phải là nền tảng hoặc đồng xu nổi hay bất cứ thứ gì khác, một chút khác với thế giới thực.

Nếu bạn có thể làm tất cả bốn trong số đó, bạn sẽ có thể thực hiện khá nhiều trò chơi 2D mà bạn muốn; tất cả các công cụ đều ở đó Nếu bạn muốn tạo trò chơi 3D ... trước tiên hãy học 2D vì nó dễ hơn nhiều và bạn không cần phải hiểu toán học chuyên sâu và dù sao bạn cũng cần hiểu nội dung 2D ... và sau đó khi bạn thoải mái với điều đó, bắt đầu làm việc với một số công cụ 3D cơ bản (có thể là các thư viện như Torque hoặc Unity hoặc các trò chơi nguồn mở như Doom và Quake gốc).

Chúc may mắn!


39

Bây giờ đây là một câu hỏi thực sự tốt. Tôi không biết bạn đang ở đâu, vì vậy tôi sẽ bay lên trời và cho rằng bạn chưa bao giờ viết một dòng mã nào trong đời. Cắt bỏ bất cứ phần nào của mũi xúc phạm bạn, để lạm dụng một cụm từ.

Tôi nghĩ rằng tôi thực sự sẽ trả lời một câu hỏi hơi khác so với những gì bạn đã hỏi, và tôi sẽ đưa ra ví dụ để đáp ứng câu hỏi bạn đã hỏi tại chỗ. Lý do tôi làm theo cách đó là một chút nhưng tôi tin rằng sự khác biệt đáng kể trong quan điểm: đó không phải là những trò chơi cụ thể quan trọng, nhiều như những suy nghĩ mà những trò chơi mang đến cho một nhà thiết kế.

Bạn có biết mọi người nói về việc bạn phải học nhiều ngôn ngữ lập trình như thế nào, để ăn suy nghĩ và trái tim và gan của họ, và nhờ đó có được sức mạnh to lớn của họ không? Có một sự thật thực sự - sau ngôn ngữ lập trình thuần túy hoặc gần như thuần túy đầu tiên của bạn, ngay cả trong các ngôn ngữ bắt buộc, bạn sẽ kết thúc việc viết các hàm miễn phí phần lớn vì chúng được định nghĩa tốt hơn nhiều và mọi thứ bạn viết ngay cả trong các ngôn ngữ không phải là hình thức đó sẽ tốt hơn cho nó. Nó không đặc biệt quan trọng đó là ngôn ngữ nào - haskell, ml / ocaml / smlnj, công thức, mẫu c ++, bất cứ điều gì - bạn vẫn sẽ học cách thực hiện nhiều lớp công việc mà không cần dựa vào trạng thái hiệu ứng phụ. Lần đầu tiên bạn học một ngôn ngữ lập trình gần máy, chắc chắn, bạn ' sẽ tìm hiểu về trừu tượng loại kích thước. Lần đầu tiên bạn học một ngôn ngữ khai báo hoặc ràng buộc, bạn sẽ tìm hiểu về ràng buộc như một công cụ tùy ý. Lần đầu tiên bạn học một ngôn ngữ tìm kiếm quay lại, bạn sẽ học cách cầu nguyện Ia! Ia! C'thulhu F'tagn Nagn!, Và sau đó chúng tôi trở lại ăn trái tim và gan, và vòng tròn cuộc sống được hoàn thành.

Thiết kế game cũng không khác. Bạn không nhất thiết phải học bất kỳ trò chơi cụ thể nào, song song với một ngôn ngữ cụ thể, mà là để học một số trò chơi đại diện tiêu biểu xử lý suy nghĩ đó, như các gia đình đặc trưng ngôn ngữ. Ngoài ra, có rất nhiều gan và trái tim ăn. Lấy một cái bánh quy tiêu.

Điều đáng nói ở đây (như tôi thấy ít nhất) là bạn muốn bao quát một danh sách lớn các chủ đề. Nó giống như đánh dấu sự thành thạo trên bảng ký tự - bạn đang tạo sẵn cho mình nhiều cơ chế hơn để xử lý một tình huống nhất định. Đúng, họ có thể lên cấp, nhưng có một hoặc hai điểm trong số nhiều thứ bạn có thể có trên bảng có nghĩa là khi đến lúc sử dụng một, bạn sẽ không bắt đầu từ đầu, và bạn biết chiến thuật nào có sẵn để bạn mở rộng quy mô

Vì vậy, nhìn.

Đầu tiên bạn muốn cắt răng của bạn. Điều này cũng hữu ích khi bạn đang học cách nhắm mục tiêu một nền tảng mới hoặc khi bạn đang hồi phục chứng mất trí nhớ. Đây là có nghĩa là nhanh chóng, không tuyệt vời.

Theo thứ tự:

  1. Điều khiển màn hình. Bluescreening là tuyệt vời cho điều này, bởi vì sau đó bạn có lý do thuyết phục để tin rằng bạn đang trên đường trở thành Microsoft.
  2. Xác nhận đầu vào. Fooscreen, trong đó foo có màu xanh để tăng, màu đỏ cho xuống, v.v. Kiểm tra tất cả các phím của bạn; có quá nhiều màu sắc, hoặc bạn có thể lập bản đồ bốn màu nếu bạn thực sự cần lưu màu đỏ thẫm cho những thứ quan trọng hơn.
  3. Kết xuất văn bản và sprite. Vì bạn cũng có xác nhận đầu vào, một trò chơi bộ nhớ gạch không phải là một ý tưởng tồi.
  4. Đồng hồ bấm giờ. Thời gian cho một bản sao Mario hoặc Arkanoid.
  5. Âm thanh và âm nhạc. Cải thiện bản sao mario. Mặc dù không nhiều.

Khi bạn đã hạ được chúng, bạn đã sẵn sàng nhắm mục tiêu vào một nền tảng và việc học có thể bắt đầu.

Đây là những không theo thứ tự đặc biệt. Bạn có thể sắp xếp lại chúng khi bạn thấy phù hợp. Tôi sẽ đưa ra một số ví dụ với mỗi ví dụ, nhưng chúng không quy tắc; nếu một trò chơi khác mang lại cho bạn trải nghiệm giống nhau và đủ nhỏ để trở thành một phần của chuỗi bài học, hãy thoải mái trao đổi nó. Vì lý do thực tế, thật tốt khi thành thạo hiển thị màn hình và nhập liệu tương đối nhanh; bạn sẽ sử dụng chúng rất nhiều Đợi một vài trò chơi trước khi cố gắng viết các lớp trừu tượng; bạn không muốn bị cuốn vào một sự trừu tượng ngây thơ.

  • Hoạt hình. Hầu như bất cứ điều gì bạn làm có thể gọi cho các họa tiết hoạt hình. Có được một công cụ hoạt hình độc lập dưới vành đai của bạn, ngay cả khi đó là nghệ thuật lập trình. Làm một trò chơi giải đố đơn giản mà gạch đập là đủ.
  • Ghi điểm phức tạp. Có được tất cả năm kẻ thù trong một cánh? Thêm. Ba cú đấm liên tiếp? Thêm. Làm cho nó thông qua toàn bộ cấp độ mà không bỏ lỡ một viên đạn? Tiền thưởng rất lớn.
  • Tìm đường. Rất nhiều trò chơi cần điều này, nhưng một trò chơi phòng thủ tháp là về đơn giản nhất. Bạn có thể bắt đầu với chiều rộng trước và chiều sâu trước nếu bạn chưa từng làm điều đó trước đây, nhưng bạn chưa hoàn thành cho đến khi bạn thực hiện A * từ đầu (KHÔNG ĐƯỢC SAO CHÉP).
  • Hành vi của kẻ thù. Những hành vi tự động ngu ngốc sẽ được bảo vệ bởi mario của bạn, nhưng những hành vi phản ứng cũng rất quan trọng. Đây là một cái cớ tốt để xây dựng một trò chơi chiến thuật hoặc một roguelike. (Cảnh báo: bạn sẽ làm việc trên roguelike cho đến hết đời.)
  • Ánh sáng 2d năng động. Đây cũng là một lý do tốt để viết một roguelike. Shadowcasting dựa trên Arc là một cách quan trọng để xem xét dải và tách, điều này đến lượt nó rất quan trọng đối với toàn bộ rất nhiều cơ sở dữ liệu.
  • Vật lý 2d. Điều này bật lên trong rất nhiều trò chơi, ở rất nhiều cấp độ chi tiết. Hãy thử một platformer (mario-ish,) có thể siêu đơn giản; một trò chơi xe tăng (scorched-earth-ish,) có thể được đơn giản hóa như nhau; và cuối cùng, một trò chơi như N the Ninja, khiến bạn phải đối phó với việc chạy trên các góc, động lượng, et cetera (bạn có thể làm điều đó với hệ thống va chạm hộp giới hạn theo trục khá đơn giản.) Vật lý và va chạm có liên quan mật thiết với nhau.
  • Phát hiện va chạm. Có những trường hợp đơn giản đến nực cười, như bản sao Arkanoids và Mario, những trường hợp phức tạp vừa phải như N Ninja và những trường hợp phức tạp thực sự như trò chơi vật lý hộp cát (cỗ máy đáng kinh ngạc, những chiếc Arkanoids hiện đại như BreakQuest, et cetera.) Trong nhiều trường hợp bạn có thể mắc phải một cái gì đó giống như AABB , nhưng nếu bạn có khuynh hướng toán học, có thể thực sự hữu ích khi thực hiện một cái gì đó hoàn chỉnh. Tối thiểu, làm quen với một thư viện hoàn chỉnh, chẳng hạn như APE hoặc Box2D.
  • Mối quan hệ rủi ro / phần thưởng trong sự hài lòng chơi trò chơi. Các trò chơi súc sắc đơn giản (đi tìm kiếm một thứ gọi là "Skunk" từ những năm 50) và các trò chơi cờ rủi ro (cuộc sống, kẹo) là những ví dụ tuyệt vời về cách nhanh chóng đơn giản để học điều này bằng cách thực hiện.
  • Biến đổi biểu cảm trong cơ học. Đóng đinh vào một số quy tắc nhỏ, sau đó học cách lấy ra rất nhiều biến thể từ chúng. Trò chơi thẻ bài tùy chỉnh là một cách tuyệt vời để làm việc với điều này; hãy nhìn vào các sàn Dvorak và các trò chơi trong thế giới thực như Mille Bornes, Rage và Uno, sau đó tạo ra một vài thứ của riêng bạn. Họ không giống nhau.
  • Tạo nội dung. Các trò chơi chiến lược dựa trên bản đồ đơn giản, roguelike và một số loại trò chơi giải đố là những cách tuyệt vời để học cách làm điều này. Điểm thưởng nếu đó là một loại trò chơi thường không được biết đến vì đã tạo nội dung.
  • Phong cách. Đừng vít xung quanh: đây là một vấn đề lớn. Tạo một trò chơi, sau đó biến nó thành bốn trò chơi hoàn toàn khác nhau. Thực sự khác biệt. Một trò chơi trẻ em, thậm chí. (Hãy nghĩ về điều đó: Mega Man có ý nghĩa hoàn hảo như một thầy phù thủy phiêu lưu vào địa ngục, hoặc là Rogue từ X-Men, hoặc ...) Bây giờ, hãy để bốn nhóm người ghi một trong số các trò chơi của bạn. Sau đó, bảo họ ghi bàn tiếp theo, ngược chiều kim đồng hồ, vòng vòng, v.v. Lưu ý cách thay đổi hoàn toàn điểm số của họ dựa trên chủ đề và kỳ vọng trước đó.
  • Làm cho trình tự kế hoạch người chơi. Trò chơi giải đố là những cách sạch nhất để giải quyết vấn đề này.
  • Quản lý nguồn tài nguyên
  • Nâng cấp
  • Tăng áp lực thời gian

... Hở. Tôi đã chán.


11
Câu trả lời tuyệt vời. Thực sự đáng thất vọng kết thúc ở đó. Thật tuyệt vời nếu bạn có thể xem lại điều này và gắn nó lại với nhau bằng cách nào đó để cho nó một kết thúc mạch lạc.
Ricket

1
Đối với một đêm chung kết, làm thế nào về một số hướng dẫn nấu gan ? giantitp.com/comics/oots0738.html
Cyclops

4
Đây là một bài học cuộc sống được ngụy trang tuyệt vời như một bài viết về lập trình trò chơi.
sdasdadas

30

Tetris

Trò chơi rất phổ biến, rất nhiều bản sao mã nguồn mở ngoài kia để tách ra nếu bạn gặp khó khăn. Dạy những điều cơ bản về đồ họa 2D, xử lý đầu vào, ghi điểm, v.v.

Sau đó lấy ý tưởng ban đầu này và đưa nó vào một spin. Tôi đã học được những điều cơ bản về đồ họa 3D / opengl bằng cách viết một phiên bản 3D của Tetris cho lớp đồ họa máy tính của tôi ở trường đại học.


2
Hoặc "Cột" nếu bạn là một chàng trai Sega;)
Andrew Russell

Nhạc chủ đề Cue Tetris ...
Nick Bedford

3
qntm.org/hatetris (được thôi, nó thiếu nhạc chủ đề, nhưng tôi chỉ muốn liên kết nó ...)
user384918

1
@bloots wow, đó là xấu xa
Bryan Denny


25

GameDev.net có một bài viết hay khuyến nghị sự phát triển của các trò chơi để dần dần tìm hiểu về phát triển trò chơi. Lời khuyên yêu thích của tôi từ danh sách là thực sự đánh bóng những trò chơi này. Hoàn thành kết thúc, đến một trạng thái đáng tin cậy.

Danh sách này như sau (một số trong số này đã được đưa ra trong các câu trả lời khác):

  1. Tetris
  2. Đột phá
  3. Side Scroller / Platformer

Bạn đã bỏ lỡ Pac-Man, Galaga và Gauntlet từ bài viết mà bạn đã liên kết
Adam Harte

15

Tôi thích bắt đầu tất cả các chàng trai của tôi với Monopoly. Tôi thường sử dụng "mã kata" độc quyền của Brett Schuchert làm cơ sở của bài tập, nhưng tôi thêm rất nhiều vào nó. Có một số lý do tại sao tôi thực sự thích làm điều này.

  1. Tôi quan tâm sâu sắc về các thực hành mã hóa tốt (các mẫu thiết kế, TDD, RẮN, tích hợp liên tục, v.v.) và đặt ra nhiều ràng buộc cho các nhà phát triển của tôi khi họ thực hiện bài tập này.

  2. Khá nhiều người biết các quy tắc của Monopoly và toàn bộ trò chơi có thể được hoàn thành trong một ngày. Điều này mang lại cho các nhà phát triển mới một chiến thắng nhanh chóng và thực sự có được sự tham gia của họ.

  3. Các yêu cầu ban đầu bắt đầu với các điều khiển bàn phím, nhưng sau đó tôi thêm một yêu cầu cho điều khiển chuột sau này. Điều này khiến các nhà phát triển suy nghĩ về một số điều, làm thế nào để cấu trúc lại mã hiện có, lập trình thay đổi các phần của hệ thống thành các giao diện thay vì các lớp cụ thể, trừu tượng hóa tốt hơn / phù hợp hơn, kiểm tra đơn vị nào, không kiểm tra đơn vị, TẠI SAO để kiểm tra đơn vị và những gì làm cho các bài kiểm tra đơn vị TỐT.

Đôi khi chúng ta cắm vào AI tinh vi hơn, đôi khi chúng ta không. Đôi khi chúng tôi làm việc với các trò chơi khác với logic phức tạp hơn một chút như Chutes và Thang hoặc một cái gì đó. Đôi khi chúng tôi tách ra khỏi các trò chơi cờ hoàn toàn, và làm một trò chơi poker hoặc blackjack.

Đối với tôi, phần thực sự quan trọng là mọi người có được chiến thắng nhanh chóng và họ thấy bạn có thể tạo ra phần mềm linh hoạt như thế nào khi bạn tuân theo các tiêu chuẩn lập trình tốt. Những bài tập xây dựng sự tự tin rất nhanh. Đôi khi, các nhà phát triển có kinh nghiệm hơn muốn tự mình thực hiện những điều này, chỉ để nghỉ ngơi từ các dự án phức tạp hơn hoặc thực hành một kỹ thuật mới mà họ vừa học (luật của demeter?).


6
Làm thế nào để bạn thực hiện độc quyền trong một ngày? Có vẻ như một dự án lớn hơn nhiều.
Michael Kristofik

Nếu bạn có tài sản nghệ thuật sẵn sàng cho các nhà phát triển và bạn làm theo hướng dẫn mà tôi đã liên kết ở trên, điều đó khá dễ dàng. Nó không bao gồm nhiều chiến lược AI, hoặc một số khía cạnh phức tạp hơn của hoạt hình và âm nhạc, nhưng đây là một trò chơi hoàn toàn có thể chơi được và nó dễ dàng thực hiện trong một ngày. Nó thực sự là có thể làm được, và nó thực sự là rất nhiều niềm vui.
hokiecsgrad

# 3 cũng sẽ mang lại trải nghiệm thực tế cho những khách hàng thay đổi yêu cầu đối với bạn sau khi bạn đã bắt đầu.
Jarett Millard

Đáng buồn là liên kết độc quyền đã chết :(
Casey


15

Chọn-Phiêu lưu của bạn

Nhận được lời khuyên này từ một người bạn đã bắt đầu lập trình bằng cách tạo ra một trò chơi, gần giống với việc chọn một cuốn sách phiêu lưu của bạn . Về cơ bản, đây là một game phiêu lưu văn bản đơn giản với đầu ra như thế này:

You are standing in a forest clearing in the middle of the night. You hear
some wolves howl in the distance. Should you:
a) make camp for the night
b) go further north
> _

Làm một trò chơi như vậy sẽ dạy bạn tạo ra một gameloop, đầu vào giao diện điều khiển cơ bản và kịch bản cơ bản. Nó khá đơn giản để thực hiện và dễ dàng cho người mới bắt đầu nhảy vào vì bạn không cần một công cụ đồ họa để viết trò chơi. Những người mới bắt đầu có thể sẽ viết một công cụ viết kịch bản.


7
+1 nhưng CHỈ nếu bạn chỉ học lập trình. Nếu bạn đã biết lập trình, tôi sẽ không bắt đầu với điều này.
Jeff

1
@Jeff: Vâng, nếu bạn là người mới bắt đầu hoàn thành thì đây là một dự án tốt để bắt đầu. Nếu bạn đã lập trình được một lúc thì hãy tham gia các dự án khác được đề cập để bạn có thể chơi xung quanh với đồ họa và không có gì.
Spoike

8
Trên thực tế, đây là một cách thực sự tốt để tìm hiểu về kịch bản và phát triển dựa trên dữ liệu. Tạo "công cụ" cho việc này và viết phần còn lại bằng các tập lệnh.
Nick Bedford

1
@Jeff nah, nếu họ là những lập trình viên có kinh nghiệm, thì họ sẽ hoàn thành nó trong 2 giờ. Vì vậy, hãy để họ thêm một vài vật phẩm, cánh cửa, trận đấu trùm
bobobobo

13

Theo kinh nghiệm của tôi với các lập trình viên mới làm quen, sự tiến bộ thường dường như diễn ra như thế này:

  1. Pông
  2. Tetris
  3. 50 giờ chơi trò chơi 3D RPG tuyệt vời tuyệt vời (lưu ý: hầu hết mọi người từ bỏ lập trình một phần qua bước này)

4. MMORPG giả tưởng: P
Nick Bedford

12

Đột phá, Pông hoặc tiểu hành tinh.

Có một sự khác biệt rất lớn giữa một trò chơi và một nguyên mẫu trò chơi . Nếu bạn nghiêm túc về việc hoàn thành trò chơi mơ ước của mình, thì bạn nên hoàn thành trò chơi "cấp nhập cảnh" của mình trên đường đi. Tạo phần chơi trò chơi chỉ là một nửa trận chiến. Tất cả những thứ bổ sung như thực đơn và điểm số cao thường bị bỏ qua hoặc bỏ qua, nhưng chúng chiếm nhiều thời gian hơn bất kỳ ai mong đợi.


4
+1 để đề cập đến các chi tiết chiếm nhiều thời gian hơn bạn mong đợi.
mở

11

Có một số gợi ý tốt trong các câu trả lời khác, nhưng tôi chỉ muốn bỏ phiếu cho: Bắt đầu với một cái gì đó có vẻ quá - trừng phạt để giải quyết.

Pông là một ví dụ tốt.

Mục tiêu là: làm cho thiết kế trò chơi và thiết lập quy tắc trở nên cực kỳ hấp dẫn để bạn có thể tập trung toàn bộ sự chú ý vào việc học điều mới mà bạn đang học (ngôn ngữ, nền tảng, API) và không phải liên tục nghỉ giải lao để tìm ra cách trò chơi hoạt động.

Khi bạn bắt đầu đi, bạn sẽ thấy rằng pong thực sự phức tạp hơn một chút so với lúc đầu. (Tôi đang dạy một chàng trai lập trình và anh ta sử dụng pong làm dự án học tập của mình. Chúng tôi đã thêm một số tính năng, và giờ anh ta bị phân tâm khỏi việc học lập trình bằng cách học cách làm tất cả các tính năng thú vị này :)

Khi bạn đã hoàn thành ứng dụng # 1 cho đến khi nó sẵn sàng cung cấp / bán cho người khác, THÌ hãy thực hiện một điều gì đó phức tạp hơn một chút (Tetris, phiêu lưu hoặc bất cứ điều gì bạn thích), nhưng, để bắt đầu học một công nghệ mới, hãy thực hiện điều mà bạn lập trình não chết đơn giản.

Những ví dụ khác:

  • Đoán số (trong khoảng từ 1 đến 1000)
  • Mastermind (nâng cao đoán số.)
  • Đơn giản
  • Rắn / sâu / bất cứ điều gì bạn gọi nó.

Nhưng, một lần nữa - bắt đầu với một cái gì đó quá dễ dàng, để bạn thực sự có thể hoàn thành một cái gì đó và nhìn lại và xem những gì liên quan. Sự khác biệt giữa việc viết MỘT ứng dụng bằng ngôn ngữ / nền tảng / SDK / công cụ và có ứng dụng ZERO bằng văn bản là LỚN . Sự khác biệt giữa 1 & 2, hoặc 2 & 5, ít hơn nhiều, vì vậy bạn có thể thực hiện các bước lớn hơn, nhưng làm cho bước 0 đến 1 trở thành một bước nhỏ xíu; nó sẽ lớn hơn bạn nghĩ!


2
+1 cho "Bắt đầu với một thứ dường như quá khó xử" và cho "Sự khác biệt giữa việc viết MỘT ứng dụng ... và viết ứng dụng ZERO là LỚN"
Luc125

1
Cập nhật 2014: Một ứng dụng "học ngôn ngữ / công nghệ" tốt khác là một ứng dụng Flappy Birdtương tự. Là một lập trình viên chuyên nghiệp, đó là một công việc buổi chiều (tốt, một ngày cuối tuần để làm cho nó "tốt đẹp"), nhưng, trong khi dạy một người khác để lập trình, chúng tôi đã học được rằng nó thực sự có rất nhiều phức tạp. Một lần nữa, một trải nghiệm là nhiều hơn nhiều so với số không và, khi bạn có một, bạn sẽ có một ý tưởng tốt hơn nhiều về cách tiến về phía trước.
Olie

9

Kiểm tra trang web này: 12 ý tưởng dự án trò chơi khoa học máy tính

Một số trò chơi này bao gồm những gì người khác đã nói như:

  1. Pacman
  2. Tetris
  3. Pông

Nhưng nó cũng nói về một số trò chơi khác mà bạn có thể thử làm như:

  1. TIC Tac Toe
  2. Ai muốn trở thành một triệu phú?
  3. Và một bản sao Mario.

Ngoài ra, nó mang lại cảm giác về những gì bạn nên thử làm trước vì nó mang lại cảm giác khó khăn cho mỗi trò chơi (và do đó là kế hoạch về cách bạn nên giải quyết các trò chơi):

  1. Người bắt đầu
  2. Trung gian
  3. Nâng cao
  4. Tốt

2
+1, Yêu liên kết đó. "RPG - nếu bạn ghét cuộc sống của mình (và một số rõ ràng là như vậy), thì nỗ lực rõ ràng cuối cùng trong năm nay về vinh quang lập trình trò chơi video có thể sẽ kết thúc tồi tệ. Bản thân công cụ trò chơi thường khá phổ biến (du lịch thế giới, du lịch thị trấn, cửa hàng, chiến đấu , v.v.) và đòi hỏi một nỗ lực vô duyên "
Cyclops

5

Rất nhiều người bắt đầu với Breakout vì tính năng này:

  • Đầu vào: di chuyển một mái chèo qua lại
  • Va chạm đơn giản: bóng nảy ra từ mái chèo, gạch và tường
  • Thay đổi "Trạng thái trò chơi:" Cập nhật điểm khi bóng chạm gạch và loại bỏ các viên gạch, giảm số lượng bóng khi bóng chạm đáy màn hình, mất trò chơi khi số lượng bóng == 0, v.v.
  • Đây cũng là một giới thiệu khá nhẹ nhàng về đồ họa vì tất cả đều là hình chữ nhật và hình tròn

5

Phần khó nhất khi viết một trò chơi - hoặc bất kỳ phần mềm nào - là tìm ra những việc cần làm. Bạn hoàn toàn cần một thông số kỹ thuật! Đó là phần thú vị về việc tạo một bản sao của một trò chơi hiện có: thông số kỹ thuật đã tồn tại. Thông số kỹ thuật của bạn là "Sản phẩm phải làm mọi thứ mà Sản phẩm khác làm" và nếu bạn có một bản sao của trò chơi khác, thì thật dễ dàng để xác minh điều đó.

Một khi bạn đã tìm ra những gì bạn cần làm, tìm ra cách để làm điều đó thực sự không khó nếu bạn là một lập trình viên có năng lực. Tôi không có nghĩa là một lập trình viên lành nghề hoặc có kinh nghiệm; điều đó có nghĩa là bạn đã biết cách thực hiện hầu hết những gì bạn đang cố gắng làm. Nhưng bạn cần hiểu cách suy nghĩ trừu tượng và có kỹ năng giải quyết vấn đề và tư duy logic là nền tảng cho lập trình. Nếu bạn có thể làm điều đó, thì bạn có thể làm bất cứ điều gì.

Phải nói rằng, tôi không đồng ý với những gì hầu hết mọi người nói về việc cố gắng học viết trò chơi bằng cách viết một cái gì đó thực sự đơn giản. Phần thưởng tỷ lệ thuận với công sức bạn bỏ ra. Nếu bạn học viết trò chơi bằng cách viết một trò chơi thực sự đơn giản, cuối cùng bạn sẽ biết cách viết những trò chơi thực sự đơn giản và điều đó sẽ không giúp bạn nhiều.

Mặt khác, nếu bạn bắt đầu với một cái gì đó quá sức, bạn sẽ không bao giờ hoàn thành nó. Vì vậy, hãy bắt đầu với một cái gì đó thử thách vừa phải sẽ khiến bạn đối phó với các vấn đề nghiêm trọng. Xây dựng một game nhập vai theo phong cách console 2D hoặc platformer cuộn bên là những cách rất tốt để tìm hiểu các khái niệm lập trình trò chơi thực sự.


5

Nó thực sự phụ thuộc vào năng lực hiện tại của bạn là gì. Nếu bạn tương đối mới với lập trình, thì hãy đến với một trong những trò chơi cụ thể mà mọi người đã đề xuất. Mặt khác, bạn nên nghĩ về loại trò chơi nào sẽ cho phép bạn sử dụng tốt trải nghiệm của mình.

Khi tôi bắt đầu trò chơi đầu tiên của mình, tôi không có kinh nghiệm phát triển trò chơi, nhưng tôi đã thực hiện phát triển ứng dụng doanh nghiệp / ngành kinh doanh trong một vài năm. Dự án trò chơi đầu tiên của tôi là một trò chơi chiến lược theo lượt, và về mặt kiến ​​trúc, nó không giống với ứng dụng doanh nghiệp. Nó đã sử dụng một hệ thống máy khách / máy chủ và giao tiếp đã xảy ra thông qua kênh dịch vụ WCF song công. Hầu hết các hoạt động của người chơi được xếp hàng dưới dạng "đơn đặt hàng" và được gửi đến máy chủ vào cuối lượt. Tất cả quá trình xử lý lần lượt diễn ra trên máy chủ, sau đó các bản cập nhật vũ trụ trò chơi được gửi đến từng khách hàng.

Dự án đầu tiên đó đã cho tôi bước vào phát triển trò chơi trong khi bắt đầu cho tôi ra khỏi lãnh thổ quen thuộc. Khi dự án phát triển, tôi học cách suy nghĩ giống một nhà phát triển trò chơi hơn và không giống như một nhà phát triển ứng dụng doanh nghiệp. Kết quả cuối cùng hoạt động khá tốt, và nó ấn tượng hơn một chút so với Battleship hoặc Tic-Tac-Toe :).


4

NibbleSpace Invaders

AI, Đồ họa, Trò chơi, Điều khiển tương đối đơn giản và chúng không phải có hiệu ứng âm thanh hoặc âm nhạc trừ khi bạn muốn thêm nó vào. Tôi bắt đầu với hai thứ này khi học cách lập trình trong QBasic cho MS-DOS và tôi nghĩ chúng là những trò chơi đầu tiên tuyệt vời. Pac-Man sẽ là lựa chọn khác của tôi.


Tôi chưa bao giờ nghe nói về Nibble trước đây, nhưng nhất định bỏ phiếu cho Kẻ xâm lược không gian.
jhocking

3

Các trò chơi theo phong cách Moonlander rất tuyệt vời (nơi bạn có một tên lửa bị ảnh hưởng bởi trọng lực, người chơi điều khiển hướng và lực đẩy, nhiên liệu hạn chế khi sử dụng lực đẩy). Có được kinh nghiệm thực hiện vật lý rất đơn giản và hệ thống va chạm có thể khá nguyên thủy. Không có AI phải lo lắng và quan trọng nhất là nó thú vị và gây nghiện :)


2
Các trò chơi theo phong cách đồng ý, Thrust / Lunar Lander là những dự án tuyệt vời ban đầu. Đối phó với xoay vòng, và vận tốc / gia tốc sẽ tiết lộ những bí ẩn của sin / cosine (đối với bất kỳ ai không giải quyết chúng trong một thời gian). Bạn có thể sử dụng bản đồ ô vuông tĩnh hoặc cuộn và có thể sử dụng phát hiện va chạm mà không cần phản hồi va chạm phức tạp (chạm vào thứ gì đó -> phát nổ). Đây cũng là một cách tốt để suy nghĩ về việc điều chỉnh hệ thống điều khiển - có được sự cân bằng tốt về lực đẩy, trọng lực và tốc độ quay để làm cho nó cảm thấy đúng
bluescrn

@bluscrn thực sự đó là một nhận xét tuyệt vời. Sau khi khiến mọi người chơi thử phiên bản flash của tôi, tôi nhận thấy mọi người có ý kiến ​​khác nhau về cảm giác của nó. Một số điều này được quy cho các trò chơi trước đó được trải nghiệm bởi người dùng. Đó không phải là điều tôi đặc biệt nghĩ đến trước khi phát triển nó.
Allan

2

Một game bắn súng không gian từ trên xuống như Galaga khá dễ dàng và dạy phát hiện va chạm khá tốt! Nó cũng có thể khác nhau về độ khó, từ cấp độ với kẻ thù đứng yên, đến nhiều cấp độ nâng cấp vũ khí và kẻ thù di chuyển theo mô hình đặc biệt.


1

Một cái gì đó giống như Gauntlet, bởi vì bạn cần một hệ thống thực thể, AI của kẻ thù, xe bán tải, bản đồ xếp hình, phát hiện va chạm, ghi bàn, v.v ... Đó là tất cả, nhưng không phải là một cách quá sức.


Tôi có thể nói rằng AI của kẻ thù và phát hiện va chạm với bố cục gạch tùy ý IS áp đảo nếu bạn có ít hoặc không có kinh nghiệm, đặc biệt là xem xét vật lý bạn cũng phải làm - ma sát giữa người chơi và mặt đất, v.v ... Đây có thể là một điều tốt Tuy nhiên, thử thách sau một vài trò chơi
Sean James

Đồng ý, một chút áp đảo cho những người chỉ mới bắt đầu. Quá nhiều khái niệm cùng một lúc. Bắt đầu với một cái gì đó chỉ là ghi điểm và đầu vào. Sau đó tạo một trò chơi thực hiện 1 hoặc 2 điều mới, như phát hiện va chạm và kẻ thù. Tiếp tục chọn các trò chơi dựa trên các khái niệm bạn biết nhưng giới thiệu những thứ bạn không biết; nếu bạn không biết gì, bạn không nên thử. Giữ cho nó đơn giản.
dùng384918

Tôi thành thật nghĩ rằng có quá nhiều thứ đang diễn ra trong một bản sao của Gauntlet để được coi là một trò chơi "nhập cảnh".
PhillC

Tôi thành thật nghĩ rằng việc mã hóa Gauntlet dễ dàng hơn Tetris, vì tìm ra cách các khối xếp chồng lên nhau, cho dù một dòng đã hoàn thành và cách loại bỏ các dòng, là những vấn đề trừu tượng khá khó khăn. Gauntlet có thể được mã hóa dưới 1000 dòng trong bất kỳ nền tảng 2D hiện đại nào và nếu nó không thể trong nền tảng bạn đang sử dụng, tôi khuyên bạn nên tìm một nền tảng khác. Dù sao, tôi đề nghị nó chính xác bởi vì nó đòi hỏi phải học tất cả các phần tạo nên một trò chơi hiện đại.
Iain

Bạn nhận được thêm điểm khi thực hiện giọng nói chính xác: "Elf bắn thức ăn!" "Pháp sư sắp chết!" hoặc yêu thích của tôi: "Bạn đã tìm thấy con gà trống chắc chắn TRAY của tôi!"
rtperson

1

Một bản sao Zelda mini là tốt và thực hiện một số kỹ năng chưa được đề cập nhiều ở đây. Cuộn một bản đồ lớn của gạch và điều khiển chuyển động 8 chiều đơn giản là điều nên biết. Điểm thưởng nếu bạn có thể làm kẻ thù, nhưng tôi sẽ không lo lắng quá nhiều về điều đó.


1

Tôi đã thực hiện nhiều hơn một vài bản sao Tetris. Mỗi lần tôi làm điều đó tôi làm nó hơi khác một chút. Ngày nay, tôi thường làm cho một số loại tiểu hành tinh nhân bản mặc dù. Tôi cũng đã thực hiện nhiều hơn một vài spinoff Lệnh Tên lửa.

Tôi đã bắt đầu với trò chơi cơ bản và hơn là chuyển sang thêm nhiều thứ, tăng sức mạnh, v.v. vào nó.


1

Tôi luôn luôn bắt đầu với trò chơi Tanks / Gorillas / Worms. Nó giúp bạn tập thể dục trong màn hình đồ họa đơn giản và đọc thông tin người dùng, cộng với vòng lặp trò chơi áp dụng lực hấp dẫn vào đường đạn và thử nghiệm để phát hiện va chạm.

Sau đó sẽ xuất hiện một trò chơi như một platformer rất đơn giản hoặc bắn súng trong đó bạn cần đọc thông tin người dùng trong thời gian thực, thay vì các câu lệnh INPUT hoạt động cho Gorillas :)


1

Solitaire (hoặc thực sự là bất kỳ trò chơi bài nào) là một trò chơi hay để làm bẩn tay bạn với hệ thống UI mới, vì nó thực hiện rất nhiều widget và cơ chế phản hồi tương tác của bộ điều khiển bạn cần sử dụng. Cộng với logic cho nó là đơn giản và không mơ hồ, vì vậy bạn có thể tập trung vào việc học và không quá nhiều thiết kế trò chơi.

Đối với các trò chơi mô phỏng thời gian thực, tôi luôn khuyên dùng Pong như một điểm khởi đầu đơn giản tốt, một lần nữa bởi vì thiết kế đơn giản, cũng như giao diện của bộ điều khiển, do đó bạn có thể tìm hiểu kỹ về hệ thống - mô phỏng vật lý.


1

Tôi đã luôn khẳng định rằng nếu bạn là một lập trình viên trò chơi, bạn sẽ có thể tạo ra một số dạng Kẻ xâm lược không gian . Heck, trò chơi đủ đơn giản để bạn có thể tự làm đồ họa.

Có một lựa chọn các trò chơi nhỏ trong danh mục đầu tư của bạn vì lợi ích bổ sung của nó khá hữu ích, ví dụ, nếu tôi đang học một ngôn ngữ hoặc khung lập trình mới, tôi sẽ thường xuyên chuyển một trong những trò chơi đơn giản của mình để xem cách thức mới làm những điều phù hợp với cách viết ban đầu.


1

Nó thực sự phụ thuộc vào những kỹ năng như một lập trình viên thông thường mà bạn đã có. Toán học của bạn có cần làm việc không? Kiến thức đồ họa của bạn? Bạn có cả hai dưới kết thúc tốt đẹp?

Mặc dù nói chung tôi nghĩ Tetris và Breakout cũng là hai người khởi đầu của tôi. Bất cứ điều gì dễ dàng hơn mà không cung cấp đủ kích thích. Tetris là một bài kiểm tra tốt trong cách bố trí dữ liệu của bạn một thuật toán, đột phá là một ví dụ toán học nhẹ. Tôi luôn nói với mọi người là nhắm cao, mục tiêu là bị mắc kẹt và đưa ra giải pháp.

Sau đó, bầu trời là giới hạn. Một lần nữa, nhắm cao. Hãy thử một platformer với địa hình dốc, parralax và bạn đã có một túi công nghệ 2d tiện dụng. Thêm một pinball (chuẩn bị để được nản lòng) và toán học của bạn sẽ cải thiện.

Từ đó đi đến chiều thứ ba, học các kỹ năng cốt lõi (hoạt hình, kết xuất) và bạn nên được trang bị tương đối tốt để đối phó với nhiều trò chơi hay.


0

Tôi muốn nói rằng một loại trò chơi Tower Defense là nơi tốt nhất để bắt đầu. Bạn cũng có thể bắt đầu bằng cách sửa đổi các trò chơi / công cụ đã có (WarCraft III / HalfLife2 SDK / v.v.) để hiểu logic tổng thể cần thiết, sau đó chuyển sang sử dụng cơ sở mã của riêng bạn.


0

Trò chơi đầu tiên của tôi là một thứ gì đó giống như Super Mario.

Di chuyển xung quanh, tránh chướng ngại vật, nhảy. Và tất cả những nhiệm vụ đó có thể dễ dàng được thực hiện mà không cần bất kỳ tính toán vật lý nào.

Thật lý tưởng để thực hiện một điều 2D đơn giản, vì bạn sẽ không phụ thuộc nhiều vào một triển khai / khung / công cụ cụ thể.

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.