Lời khuyên cho một năm đầu tiên CS chính [đóng cửa]


17

Tôi sắp kết thúc năm đầu tiên của CS, chủ yếu là khóa học dựa trên Java. Tôi muốn làm ướt chân với một số phát triển trò chơi nhưng tôi không biết bắt đầu từ đâu.

Một số người đề nghị tôi bắt đầu với nhà sản xuất trò chơi có ngôn ngữ kịch bản theo kiểu chữ C (rất dễ nhận) vì nó có thể đơn giản nhất và cho phép tôi tập trung chủ yếu vào thiết kế trò chơi và cách toàn bộ trò chơi khớp với nhau.

Tôi thấy rất nhiều người khuyên dùng XNA, vì nó có sự trừu tượng hóa tốt về opengl và directX thông qua các API của nó. Tôi cũng nghe thấy C # rất giống với Java.

Tôi cũng đã xem xét lập trình trò chơi trong Java vì tôi khá thoải mái với nó và đã đọc thêm về các API đồ họa đa luồng và 2d.

Cuối cùng, một người bạn gần đây đã cho tôi xem pygame nghe cũng rất hay mặc dù tôi không biết nhiều về nó.

Tôi không biết liệu C ++ có phải là điểm khởi đầu tốt hay không, rất nhiều bài đăng tôi đã xem cho các nhà phát triển trò chơi mới bắt đầu không đề xuất nó cho một dự án trò chơi đầu tiên.

Tôi đánh giá cao bất kỳ đầu vào nào, đặc biệt là từ những người tham gia trò chơi phát triển từ nền Java


5
C ++ thì khó, chết tiệt, nhưng về lâu dài sẽ dễ hơn nếu bạn cố gắng và tập trung suy nghĩ trước khi Java thực sự thiết lập nó. Việc học C ++ từ nền Java chắc chắn khó hơn học Java từ nền C ++. joelonsoftware.com/articles/ThePerilsofJavaSchools.html
David Young

1
Tôi đã chết khi cố gắng học C ++ sau khi bắt đầu với Java, tôi bắt đầu với C ++ kiểu cũ và sau đó học Java. Nếu bạn lo lắng về việc chuyển sang con trỏ, tôi khuyên bạn chỉ nên học lập trình C và Unix. Nó đặt bạn vào một tư duy hoàn toàn mới để bạn ít có khả năng áp dụng các khái niệm Java không thể áp dụng.
michael.bartnett

Câu trả lời:


14

Có rất nhiều sự lựa chọn tốt. (Tôi dạy CS1 và CS2, cũng như lập trình trò chơi.) Đầu tiên, tất nhiên, học cách suy nghĩ như một nhà khoa học máy tính. Đừng quá bó buộc trong ngôn ngữ, bởi vì các khái niệm thực sự là phổ quát.

Java là một ngôn ngữ khá tốt, nhưng việc xây dựng một trò chơi bằng Java thì hơi tẻ nhạt. Có một số công cụ thú vị ngoài kia làm cho quá trình dễ dàng hơn một chút. Thật không may, việc gắn một công cụ trò chơi vào công cụ chỉnh sửa của bạn có thể gây đau đớn.

Tôi thích công cụ FANG (đáng buồn là tôi chưa thể đăng siêu liên kết, vì vậy hãy tìm nó trên Google.) Một phần thú vị của dự án này là trình chỉnh sửa trực tuyến. Điều này có nghĩa là bạn có thể bắt đầu ngay lập tức mà không phải gặp rắc rối với cài đặt nhật thực.

Tôi thực sự không phải là một fan hâm mộ của Game Maker. GUI phù hợp với những người không muốn học cách lập trình và đó là một công cụ tạo mẫu tốt (nhưng không tuyệt vời). Tuy nhiên, có hai điều tôi không thích. Đầu tiên, đó là thương mại. Đó không phải là một điều xấu, nhưng nếu có những lựa chọn thay thế nguồn mở miễn phí cũng tốt như vậy (và có), có lẽ bạn nên xem xét chúng trước. Vấn đề lớn hơn với Game Maker là ngôn ngữ kịch bản. Cuối cùng, bạn sẽ vượt xa GUI và bạn thực sự muốn bắt đầu viết mã. Ngôn ngữ Scripting trong GM khá suy nghĩ ngược. Vì bạn là chuyên viên CS, nên bạn (tôi hy vọng) quan tâm đến việc sử dụng lại mã, sự thanh lịch, rõ ràng, hiệu quả và mô đun hóa. Ngôn ngữ GM sẽ làm bạn thất vọng.

Tôi yêu Python và Pygame. (Trên thực tế, tôi đã viết một cuốn sách về chúng. Xem tất cả các ghi chú và video trực tuyến của tôi trên trang web của tôi nếu bạn muốn. Bạn hoan nghênh những tài nguyên đó cho dù bạn có cuốn sách hay không.) Python là một ngôn ngữ thanh lịch tốt đẹp không phải là ' quá khó để học (đặc biệt là nếu bạn đã biết cách lập trình.) Pygame là một trình bao bọc trên công cụ SDL 2D phổ biến. Trên thực tế, tôi đã thêm một trình bao bọc thứ hai vào pygame để làm cho nó dễ sử dụng như Flash.

Nói về Flash, tôi không nghĩ nó đáng giá. (Tôi biết bạn đã không hỏi) Đó là một nền tảng tốt, nhưng chi phí và sự không chắc chắn về cách nó sẽ có giá trên các thiết bị di động có nghĩa là nó có thể không phải là một công cụ học tập tuyệt vời. (Tôi cũng đã viết một cuốn sách về nhà phát triển trò chơi trong Flash, nhưng tôi không dạy Flash nữa.)

Đây là một số điều tuyệt vời khác để thử. Nhận một bản sao đầu từ MIT: scratch.mit.edu Nó được tạo ra cho trẻ em, nhưng đừng để điều đó làm bạn thất vọng. Nó là một công cụ trò chơi và hoạt hình hoàn toàn đáng kinh ngạc. Chương trình sử dụng gạch, vì vậy thật dễ dàng để bắt đầu. Bạn sẽ hoàn toàn ngạc nhiên về những gì bạn có thể làm với nó.

Bạn cũng có thể dùng thử Alice từ Carnegie Melon www.alice.org Phiên bản mới nhất (thứ 3) thực sự là một phần mở rộng cho Java, sử dụng Mô hình Sims2.

Cả Scratch và Alice đều miễn phí.

Một công cụ tuyệt vời khác để xem xét là Blender www.blender.org

Đây là một công cụ mô hình 3D, nhưng nhiều người không biết đây cũng là một công cụ trò chơi hoàn chỉnh với giao diện lập trình kéo và thả. Khi bạn đã vượt qua các ô, nó có hỗ trợ Python tích hợp.

Bây giờ tôi khá hứng thú với HTML5 (hầu như không có HTML - Đó thực sự là HTML, CSS và JavaScript.) Nó không hoàn toàn ở đó như một môi trường phát triển trò chơi, nhưng tôi tin rằng nó sẽ là một người chơi lớn. Cuốn sách tiếp theo của tôi sẽ là về phát triển trò chơi trong HTML5.

Chúc may mắn cho bạn, và cho tôi biết nếu bạn có thêm câu hỏi.


Cảm ơn cho đầu vào của bạn, tôi đang kiểm tra trang web của bạn khi chúng tôi nói chuyện. Tôi chắc chắn rằng sẽ có giá trị khi có ai đó có kinh nghiệm của bạn đóng góp ở đây
avatarX

Xử lý con trỏ không phổ biến = (nguyền rủa Java của tôi mang lại.
David Young

Tôi muốn biết lý do tại sao bạn nghĩ rằng việc xây dựng một trò chơi trong Java là tẻ nhạt. Ngoài ra, có vẻ như bạn đang đề xuất Python ít tẻ nhạt hơn. Với rất nhiều khung công tác và thư viện trung tâm trò chơi Java tuyệt vời, có vẻ như đây là một tuyên bố rất táo bạo.
zfedoran

1
Đối với một lập trình viên mới bắt đầu, mọi thứ trong Java có thể tẻ nhạt hơn. So sánh một cái gì đó như printf. Trong python, đó là một phần của câu lệnh in: in "% s, điểm của bạn là% d"% (học sinh, điểm). Trong php, bạn phải truyền tất cả các nguyên hàm vào các lớp bao bọc, truyền chúng cho các đối tượng và xây dựng một mảng đối tượng ẩn danh. Tôi thích Java. (Tôi đã dạy nó trong nhiều năm và đã viết một cuốn sách về nó.) Tuy nhiên, nếu mục tiêu là đưa ai đó đi lập trình trò chơi, tôi muốn có một ngôn ngữ tránh xa nhất có thể.
Hai pi

Cảm ơn bạn vì đã dành thời gian đóng góp ý kiến. Nó đã giúp tôi hiểu bạn đến từ đâu. Tuy nhiên, tôi chưa hoàn toàn bán python là ngôn ngữ tốt hơn cho sinh viên, tương tự như cách giảng viên tại trường đại học của tôi đã đặt câu hỏi về sự thay đổi gần đây của họ đối với Python đối với sinh viên năm thứ nhất. Có lẽ, các sinh viên chỉ đơn giản là bị mắc kẹt trong các vấn đề mới. Nó từng là sinh viên làm cho mọi thứ "công khai tĩnh", bây giờ họ có một thời gian khó hiểu sự khác biệt giữa các loại.
zfedoran

5

Nó phụ thuộc vào mục tiêu của bạn là gì và phần nào trong quá trình phát triển trò chơi mà bạn muốn tham gia.

Bạn có quan tâm nhiều hơn đến các loại hạt và bu lông thực tế về cách các công cụ trò chơi hoạt động và xây dựng một cái gì đó từ đầu hoặc bạn muốn tham gia vào các phần phát triển trò chơi càng nhanh càng tốt.

Các loại hạt và bu lông: XNA là một cách hay để nhúng các ngón chân của bạn vào đấu trường đó. Khung làm việc rất nhiều cho bạn, nhưng bạn có thể từ từ thay thế từng phần bằng mã của riêng bạn khi bạn trở nên thoải mái hơn với C #. Học C # tốt cho các vị trí phát triển trò chơi trong tương lai vì các công cụ thường được xây dựng với C #.

Lập trình trò chơi: Unity là một lựa chọn tốt ở đây. Miễn phí và cho phép bạn viết mã bằng nhiều ngôn ngữ bao gồm JavaScript và C #. Bạn sẽ có thể có được mọi thứ và chạy nhanh chóng, đó là một động lực thúc đẩy tốt đẹp. Ngoài ra, bạn có thể chuyển sang ngôn ngữ khác và thậm chí trộn lẫn các ngôn ngữ để giúp bạn thực hành mở rộng hiểu biết của mình.

Một điều tuyệt vời là cả hai đều miễn phí để chơi xung quanh và có thể được kết nối với nhiều loại phần cứng với chi phí khá tối thiểu.


4

Luôn có thể thực hiện một số trò chơi dựa trên java, không có gì sai với những trò chơi đó (http://zetcode.com/tutorials/javagamestutorial/)

XNA và AS3 rất gần nhau và có thể tạo ra các trò chơi phức tạp hoặc đơn giản như mong muốn. (mặc dù cũng đúng với java)

Một điều cần nhớ là luôn luôn thực hành, và chỉ chơi xung quanh với mã.


3

Động cơ khỉ Java

Nếu bạn cảm thấy thoải mái nhất với Java, bạn có thể sử dụng Java Monkey Engine cho một khung công tác để sử dụng trong khi tạo trò chơi. Nó cũng có một lượng tài liệu / hướng dẫn phong phú bao gồm các hướng dẫn để tích hợp với Netbeans và Eclipse.


Tôi phải nói rằng JMonkeyEngine trông rất tuyệt. Tôi chắc chắn sẽ kiểm tra nó. Cảm ơn bạn đã nhập
avatarX

2

Đoàn kết

Tôi sẽ nói hãy thử Unity . Họ có phiên bản miễn phí và bạn có thể bị ướt chân sau vài giờ để có được ý tưởng cơ bản bằng cách làm theo hai hướng dẫn do Unity cung cấp:

Một điều thú vị khác về sự thống nhất là bạn có thể sử dụng JavaScript làm ngôn ngữ kịch bản và bạn có thể xuất bản trò chơi của mình trên Windows, MacOS, Web, iPhone và bây giờ với phiên bản 3 trên thiết bị Android.

Ngoài ra, họ đang sử dụng công cụ StackExchange cho Câu trả lời của Unity và họ có cộng đồng tuyệt vời cho tất cả các câu hỏi liên quan đến Unity của bạn.


1

Bất kỳ ai trong số đó sẽ là một khởi đầu tốt, nói như một nhà phát triển có giáo dục CS ban đầu bằng Java.

C # rất gần với Java (đôi khi tôi nói đùa rằng đó là Java nền tảng giới hạn với các thư viện tốt hơn), vì vậy XNA có thể là một lựa chọn tốt. Minecraft được phát triển bằng Java với thư viện trò chơi lwjgl, vì vậy nếu bạn muốn gắn bó với Java, đó là một phương pháp tốt. Tất nhiên, phát triển 3D là loại phức tạp; tùy thuộc vào kiến ​​thức, kinh nghiệm và sự kiên trì của bạn, bạn có thể muốn đợi 3D (hoặc thậm chí 2D trong hệ thống dựa trên 3D) cho đến khi bạn được giáo dục nhiều hơn.

Đối với các giải pháp 2D: Game Maker rất đơn giản và đã được sử dụng để tạo ra một số trò chơi tuyệt vời. Bạn có thể chọn ngôn ngữ kịch bản của nó khá dễ dàng, nhưng nó có thể quá đơn giản đối với người có một năm kinh nghiệm Java. Tôi phát triển Flash bằng AS3 thuần túy ( hướng dẫn ), gần với Java để các kỹ năng của bạn dễ dàng dịch.


1

Tôi thực sự khuyên bạn nên đi với XNA. Đây là một nền tảng khá có khả năng và được hỗ trợ tốt với cộng đồng đang phát triển. XNA đang thực sự bắt đầu tìm thấy "vị trí" của mình trong hệ sinh thái khi khung này đang được vận chuyển trên nhiều nền tảng hơn bao giờ hết (bao gồm cả Windows Phone 7). Tuy nhiên, quan trọng hơn, sử dụng XNA sẽ buộc bạn phải học C # và phát triển .NET chung. Nó sẽ cho phép bạn có được kinh nghiệm với nền tảng này bất kể bạn có quyết định phát triển trò chơi hay không, vì sự phát triển .NET đang phát triển và có một thị trường việc làm rất lành mạnh. Java, mặt khác, đã dần chết đi trong một thời gian và các sự kiện gần đây chỉ phục vụ để đẩy nhanh sự sụp đổ của nó. Nếu chương trình CS của bạn, giống như chương trình tôi đã hoàn thành, tập trung nhiều vào Java, thì nó sẽ phục vụ tốt cho bạn để học C # /. NET vào thời gian của bạn.

Ngay cả khi Java vẫn tồn tại và bạn quyết định theo đuổi sự nghiệp phát triển Java, cuối cùng bạn vẫn có khả năng phải tích hợp với các hệ thống .NET. Vì vậy, tuy nhiên mọi thứ hóa ra, trải nghiệm sẽ chỉ giúp bạn về lâu dài.


thật.com / jobtrends? q = java & l =thật.com / jobtrends? q =.net & l = là đại diện đẹp của nhu cầu thị trường cho cả hai. Có vẻ như Java là một trong những thực sự phát triển.
David Young

Tôi đã không nghĩ rằng dòng phát triển Java được tạo ra bởi sự thành công của nền tảng Android. Điều đó có thể ảnh hưởng rất nhiều đến bước nhảy vọt trong các cơ hội việc làm liên quan vào cuối năm 2008 và đầu năm 2009. Thật thú vị khi thấy WP7 và sự sẵn có của MonoTouch cho iOS và MonoDroid cho Android ảnh hưởng đến sự hiện diện trên thiết bị di động của Java.
Mike Strobel

1

Nếu bạn quan tâm đến thiết kế trò chơi , tại sao không bắt đầu với việc tạo ra một trò chơi bài, hoặc một cái gì đó không cần lập trình gì cả? Điều đó sẽ cho phép bạn tập trung vào thiết kế và cơ chế của trò chơi thay vì chiến đấu theo cách của bạn thông qua API, ngôn ngữ và khung mà bạn không quen thuộc.


1

Bạn cũng có thể thích sử dụng http://Processing.org . Đó là một môi trường tuyệt vời để học lập trình đồ họa. Mặc dù không hoàn toàn là một công cụ phát triển trò chơi, nó có rất nhiều thứ để cung cấp. Ngôn ngữ của nó là một phần mở rộng / đơn giản hóa java và nó sẽ nhanh chóng được học.


0

Một lời khuyên không liên quan đến lập trình từ tôi:

Tạo một dự án gọn gàng và thể hiện nó với các giáo sư của bạn.

Đó là cách tôi có được công việc mùa hè với tư cách là một lập trình viên sau năm thứ nhất và thứ hai ở trường.


Điều này có thể hữu ích, nhưng nó không thực sự giải quyết được khủng hoảng ngôn ngữ / API mà OP sắp xảy ra.
Vịt Cộng sản

0

Nếu bạn chỉ đang tìm kiếm sự phát triển trò chơi, tại sao phải học một ngôn ngữ khác cùng một lúc? Tôi sẽ gắn bó với Java, trừ khi bạn muốn học một ngôn ngữ mới.

Các tùy chọn chính cho Java mà tôi biết là jMonkeyEngine, đây là một công cụ đồ họa 3D và thường được coi là khá tốt.

Và có jOGL, đó là một trình bao bọc Java trên OpenGL. Đây tự nhiên là cấp thấp hơn rất nhiều.

Nếu bạn chỉ mới bắt đầu và muốn làm việc với logic nhiều hơn là xử lý các bộ đệm và liên kết shader và tương tự, hãy đi với jMonkeyEngine. Nếu bạn muốn vào sâu để bắt đầu, hãy đi với jOGL.

Nếu bạn muốn học một ngôn ngữ mới, ngoài C # và Python tôi có thể sẽ nói C #. Cú pháp rất giống với Java và XNA và SlimDX rất tốt cho đồ họa. XNA ở cấp độ cao hơn và đã làm một số điều cho bạn. Tuy nhiên, điều này đi kèm với một hạn chế chỉ dành cho Windows, không có Mono.

Python là một ngôn ngữ rất dễ kiếm (mất tối đa một tuần với một chút chú ý từ một cuốn sách, đến từ một năm của C ++). Pygame là một trình bao bọc xung quanh các thư viện SDL từ C, vì vậy có lẽ không có cùng chức năng như XNA.


0

Một phiếu bầu khác cho Unity . Bạn sẽ có nhiều thời gian trong vài năm học CS tiếp theo để tham gia C ++ và các ngôn ngữ khác. Nếu mục tiêu của bạn là phát triển một trò chơi, việc gắn chặt vào những gì thực chất là công việc phát triển một công cụ sẽ mất quá nhiều thời gian. Nếu bạn muốn trở thành một nhà thiết kế động cơ, chắc chắn quay lại và thử thực hiện cấp thấp hơn.

Công cụ Unity sẽ cho phép bạn trừu tượng hóa hầu hết các chi tiết để bạn có thể tập trung vào lập trình chơi trò chơi. Cộng đồng trên các diễn đànCâu trả lời Unity dựa trên Stack Exchange rất hữu ích. Bạn có thể lập trình bằng Javascript hoặc C #. Đến từ Java, tôi bắt đầu với Javascript vì rất nhiều hướng dẫn đã được viết cho nó, nhưng đã chuyển sang C # (đây là một công tắc khá dễ dàng).

Tôi nghĩ XNA và Pygame cũng có thể tốt (vì họ trừu tượng hóa một số thứ tẻ nhạt hơn), nhưng tôi không có kinh nghiệm với họ.

Cuối cùng, đừng nhắm quá lớn vào trò chơi đầu tiên của bạn. Có thể rất dễ dàng để đánh giá thấp mức độ tốn thời gian để triển khai các tính năng vào trò chơi. Bắt đầu với một cơ chế trò chơi cốt lõi cho phép bạn nhanh chóng đưa trò chơi vào trạng thái có thể chơi được. Sau đó, bạn có thể bắt đầu thêm các yếu tố khác.

Chúc vui vẻ!


0

XNA là một giải pháp tuyệt vời nếu bạn ra khỏi Java. C # sẽ xem và đọc gần như IDENTICALLY cho java, vì vậy bạn sẽ có thể nhảy vào rất nhanh mà không cần học cú pháp mới. Khung XNA cung cấp hàng tấn API tốt để làm việc và có rất nhiều mã mở "microsoft permissive" miễn phí để giúp bạn bắt đầu một số dự án.

Tôi không khuyên bạn nên sử dụng Java, hầu hết các API đồ họa đều rất tệ, không có nhiều hỗ trợ 3d và nói chung Java chỉ chạy chậm; không phải là một vấn đề lớn đối với hầu hết các ứng dụng java, nhưng các trò chơi điện tử cần rất nhiều hiệu năng.

C ++ là cách để tạo ra các trò chơi điện tử, thời gian khá nhiều. Tuy nhiên, đi từ java -> C ++ sẽ khá chói tai. Chưa kể rằng hầu hết các chương trình đồ họa Hardcore cấp thấp thực sự là phong cách C, không phải C ++, vì vậy bạn sẽ thực hiện một loạt các số học con trỏ để cố gắng đạt được hiệu suất cao hơn. Nó có thể thú vị, nhưng tốn thời gian. Nó cũng có thể mất rất nhiều để giúp bạn bắt đầu.

Có rất nhiều công cụ trò chơi tốt như Ogre, nhưng sau đó bạn phải dành hàng tấn thời gian để học cách làm mọi thứ với nó trước tiên, nó có thể cảm thấy quá phức tạp.

Hãy cẩn thận, tuyệt vời như nhiều ý tưởng chơi game của bạn, hãy nhớ rằng các trò chơi video rất tốn kém, mất nhiều thời gian phát triển và có các nhóm phát triển lớn.

Nếu bạn muốn tạo một trò chơi và là người duy nhất làm việc với nó, bạn gần như sẽ phải biến nó thành một trò chơi 2D (mặc dù bạn nên bắt đầu với mọi cách 2D) và bạn sẽ phải bắt đầu THỰC SỰ, THẬT SỰ đơn giản.

Hầu như bất cứ điều gì bạn có thể tưởng tượng đó sẽ là niềm vui có thể là quá tham vọng cho ngay bây giờ.

Lời khuyên của tôi: Nhận phòng thu trực quan miễn phí 2010 nếu bạn không có nó. Tải xuống studio trò chơi XNA và khung .net 4. Tải xuống bản demo XNA. Chạy bản demo, sau đó xem qua mã và xem những gì làm những gì. Hãy thử đọc một số tài liệu về cách XNA thực hiện các trò chơi 2D.

THEN, Chọn trò chơi yêu thích của bạn, trường học cũ, siêu dễ dàng. Pac-man? Pông? Tiểu hành tinh? Kẻ xâm lược không gian? Mario? Chọn một cái gì đó STUPID, STUPID dễ dàng. Sau đó, chỉ cần làm lại trò chơi chính xác như nó đã được. Bạn đã có đủ lo lắng về lập trình và học một API mới mà bạn KHÔNG cần bận tâm với thiết kế trò chơi; nó sẽ chỉ làm bạn mất tập trung

Sau đó, khi bạn đã có được bản sao mario của mình hoặc bất cứ thứ gì bạn tạo ra, bạn có thể bắt đầu thử nghiệm với trò chơi và thử thêm những thứ mới.

Bắt đầu những bước nhỏ, bé, và nó sẽ vui hơn nhiều và bạn sẽ học được nhiều hơn nữa.

Hãy thử sửa đổi mã nguồn Quake3 trong C ++ để tạo trò chơi và bạn sẽ thực sự thất vọng, và ngay cả khi bạn làm cho nó hoạt động, bạn sẽ không học được nhiều từ việc làm nó.

CHỈ CÓ niềm vui: D


0

Tốc biến

Flash của AS3 là một ngôn ngữ tuyệt vời để quấn lấy đầu bạn xung quanh các khái niệm OOP quan trọng mà không phải lo lắng về việc quản lý bộ nhớ và ghi các tệp tiêu đề. Đây cũng là một công cụ trò chơi 2D hoàn chỉnh, với cây hiển thị, hệ thống sự kiện và tất cả các loại tính năng tiện dụng khác.

Có một cộng đồng HUGE gồm các nhà phát triển trò chơi Flash ngoài kia, và trái với niềm tin phổ biến, bạn có thể phát triển các trò chơi Flash bằng các công cụ nguồn mở. Nếu bạn đang dùng Windows, tôi khuyên dùng FlashDevelop .

Tôi sẽ lập luận rằng Flash thậm chí còn thân thiện với nhiều nền tảng hơn Java hoặc thực sự là bất kỳ công nghệ nào khác ngoại trừ Unity. 99% mọi người có thể xem nội dung Flash trong trình duyệt máy tính để bàn của họ, vì vậy thật dễ dàng để chia sẻ sáng tạo của bạn với mọi người. Hầu hết các điện thoại thông minh đang dần nhận được hỗ trợ Flash và đối với iOS, một nền tảng không hỗ trợ Flash trên trình duyệt, bạn có thể tạo các ứng dụng với Flash CS5 (mặc dù điều đó có chi phí).

Tôi nghĩ sẽ thật xấu hổ khi bạn phải vật lộn với thứ gì đó phức tạp hơn như C ++ hay thậm chí là C # khi bạn có thể bắt đầu học những điều cơ bản về tạo trò chơi ngay bây giờ với AS3. Khi bạn hiểu AS3, bạn sẽ dễ dàng chuyển sang các ngôn ngữ khác sau này. Trong trường hợp của riêng tôi, tôi là một nhà phát triển Flash, nhưng tôi đã học cách lập trình với Objective-C và quản lý để tạo ra một trò chơi iPhone đình đám. Tự mình làm và truy cập http://www.flashgamedojo.com/ - Tôi không nghĩ bạn sẽ thất vọng!

Đoàn kết

Unity có rất nhiều lợi ích giống như Flash, nhưng ở chế độ 3D.

Với Unity, bạn có thể lập trình bằng C # hoặc UnityScript (là javascript-y). Nó không phải là nguồn mở, nhưng nó là miễn phí. Nó được hỗ trợ rất tốt và có một cộng đồng tuyệt vời. Vấn đề với việc phát triển trò chơi 3D là đối với hầu hết các trò chơi, bạn sẽ cần rất nhiều nghệ thuật và tài sản. Đây cũng có thể là một vấn đề với các trò chơi 2D, nhưng nhìn chung, nghệ thuật 3D mất nhiều thời gian hơn và việc tạo ra "nghệ thuật lập trình" khó hơn rất nhiều.

Một lưu ý về nguồn mở

Không có gì sai khi sử dụng phần mềm nguồn mở, nhưng bạn đang tự trao đổi nếu bạn chỉ sử dụng phần mềm này đó là nguồn mở. Chọn ngôn ngữ và công cụ tốt nhất sẽ giúp bạn học nhanh nhất với ít ma sát nhất. Dọc theo cùng một dòng, tâm lý "học điều khó nhất trước tiên" (tức là C ++) là điên rồ. Những gì bạn thực sự nên học là logic, không phải cú pháp, vì vậy hãy học bất kỳ ngôn ngữ nào có ít hành lý và rào cản nhất để nhập cảnh. Theo tôi, đó là AS3.

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.