Sẽ nhận được một mức độ trong toán học giúp phát triển trò chơi? [đóng cửa]


11

Tôi còn hai tháng nữa mới lấy được bằng kỹ sư hệ thống, nghĩa là tôi đã học được cách viết mã và viết mã tốt bằng các ngôn ngữ được quản lý.

Lý do duy nhất tôi có được trong sự nghiệp này là vì tôi muốn tạo ra các trò chơi video. Bây giờ tôi biết rằng với bộ kỹ năng hiện tại của mình, tôi sẽ không thể tạo ra một số thứ tôi có trong đầu.

Có được một mức độ thứ hai trong toán học thuần túy sẽ giúp tôi với mục tiêu này?


Nó sẽ giúp cuối cùng? Đúng. Có thực sự cần thiết? Không. Đây có phải là yếu tố hữu ích nhất để đạt được điều đó? Không. Phát triển sẽ giúp bạn phát triển. Toán học sẽ giúp bạn dễ dàng hiểu những gì cần thiết cho phát triển trò chơi và các khái niệm đằng sau nhiều khía cạnh của phát triển trò chơi. Bạn có thể thực hiện rất tốt một trò chơi khá hay với sự hiểu biết về toán học đằng sau nó. Tuy nhiên, bạn không thể phát triển một trò chơi mà không hiểu cách progam. Tôi sẽ không nói rằng bạn cần bắt đầu một khóa học cấp bằng khác để nhảy vào nhóm nghề nghiệp bây giờ.
haylem

Câu trả lời:


14

Không có loại bằng cấp sẽ giúp bạn là một lập trình viên nhiều hơn lập trình.

Kinh nghiệm trumps học tập. Nếu bạn muốn trở thành một lập trình viên giỏi thì hãy bắt đầu lập trình . Tôi không có bằng cấp nhưng tôi đã lập trình cho nhiều dự án khác nhau để giải trí kể từ khi tôi khoảng 15-16; Không cần phải nói rằng tôi rất nhẹ trước những người bạn đã học ngành khoa học máy tính tại một trường đại học và hỏi tôi những câu hỏi như "tốt hơn là kiểm tra đặc quyền quản trị viên cho trang web của tôi thông qua tùy chọn PHP GRANT?".


2
Mặt khác, ai đó biết toán học của họ có thể xây dựng mã hiệu quả hơn nhiều. Ví dụ đơn giản: cộng các số từ 1 đến x. Một số lập trình viên không biết về cách làm O (1), nhưng bất kỳ chuyên ngành toán học nào cũng nên như vậy.
cHao

10
@cHao - Bạn không cần bằng cấp để tìm ra điều đó.
ChaosPandion

3
Đã đồng ý. Đó chỉ là một ví dụ đơn giản. Có nhiều người tham gia hơn, như ... nói ... xoay quanh các điểm trung tâm, hoặc tìm ra trọng tâm. Mỗi trong số đó có thể tìm thấy sử dụng trong một trò chơi, với điều điểm khá phổ biến. Vâng, bạn có thể tìm thấy một số công thức trên internet để làm một số thứ đó. Nhưng trừ khi bạn hiểu lý do tại sao công thức hoạt động, bạn sẽ thấy mình bị mắc kẹt lần đầu tiên khi bạn gặp vấn đề về cắt-dán không thể giải quyết.
cHao

3
@cHao: google sẽ không chỉ cung cấp công thức, nó cũng sẽ cung cấp một mô tả chuyên sâu về cách thức hoạt động và các nguyên tắc dựa trên, bạn có thể nghiên cứu lần đầu tiên khi cần. Điều này hiệu quả hơn nhiều so với việc nghiên cứu mọi thứ trước khi "chỉ trong trường hợp" bạn cần nó.
Thomas Bonini

2
Đã bao giờ cố gắng để hiểu những mô tả chuyên sâu? Vì vậy, nhiều người trong số họ đọc như nhiễu dòng, và sẽ yêu cầu một số kiến ​​thức toán học có sẵn để thậm chí giải mã chúng.
cHao

11

Tôi có một nền tảng toán học, (B.Sc. với gấp đôi chuyên ngành toán học thuần túy và ứng dụng, tiếp theo là tiến sĩ về toán học ứng dụng). Tuy nhiên, tôi đã làm việc như một nhà phát triển trong 6 năm qua. Bằng cấp toán học của tôi đã cho tôi công việc phát triển đầu tiên của tôi (Trong ngành công nghiệp phim vfx - vì vậy đồ họa nặng). Nhưng toán học thực tế tôi sử dụng từ bằng cấp trong công việc của tôi là tối thiểu.

Có hai cách để nghĩ về một mức độ toán học. Đầu tiên là bạn đang học về toán học phức tạp trong các môn luận. Điều đó (hầu hết) vô dụng. Thứ hai là bạn đang rèn luyện trí não của mình để hiểu các hệ thống phức tạp, tìm ra các mô hình phức tạp và tìm giải pháp cho các vấn đề phức tạp. Đó là cốt lõi để phát triển phần mềm nghiêm trọng.

IMHO một số người có sở trường về cách giải quyết vấn đề đó (tôi chắc chắn đã làm), nhưng họ vẫn sẽ cải thiện với một số cách học chính thức (tôi chắc chắn đã làm lại). Loại đào tạo đó có thể thiếu rất nhiều từ một số bằng Kỹ sư CS.

Tôi muốn nói rằng hãy học toán nhiều nhất có thể, bạn sẽ không hối tiếc. Nó không có tuổi như ngôn ngữ lập trình. (FORTRAN đã hết hạn chỉ sau 30 năm. C # có thể sẽ đi theo cùng một cách. Nhưng tính toán, hình học, lý thuyết nhóm sẽ có mặt ở đây trong vài trăm năm nữa).


5

Nói chung, một chuyên ngành kép về toán học và khoa học máy tính có thể được đền đáp. Nói từ kinh nghiệm, nó đã giúp tôi rất nhiều. Tôi đã làm việc trong ngành hàng không vũ trụ / quốc phòng và tài chính; cả hai có thể khá nặng với toán học. Tôi không làm toán hàng ngày. Tuy nhiên, bằng cấp toán học đã cho tôi các kỹ năng để hiểu kiến ​​thức về miền tốt hơn nhiều so với một số đồng nghiệp của tôi. Google có thể cung cấp cho bạn các công thức, nhưng nó sẽ không giúp bạn hiểu chúng.

Trong trường hợp của bạn, tôi sẽ học thêm một hoặc hai lớp toán. Một số gợi ý là đại số tuyến tính, phương trình diff, mô hình hóa hoặc hình học. Một tấm bằng toán sẽ mất thêm 1-2 năm nữa; nó không dễ hơn bằng khoa học máy tính. Với một đứa trẻ khác trên đường đi, tiền từ một công việc sẽ hữu ích.


Tôi đã sử dụng các phương trình vi phân và một số khái niệm chắc chắn sẽ hữu ích.
ChaosPandion

4

Nếu niềm đam mê của bạn chỉ đơn giản là trở thành một lập trình viên thì tôi sẽ nói toán học là không cần thiết. Tuy nhiên, vì bạn đã chỉ định ngành dọc mà bạn muốn áp dụng các kỹ năng của mình, tôi sẽ nói rằng việc biết về ngành dọc đó chỉ có thể giúp ích.

Do đó, toán học là hoàn toàn cần thiết để lập trình trò chơi tốt . Bây giờ, thật đáng tranh luận liệu bạn có cần theo đuổi một văn bằng thứ hai đầy đủ trong môn học hay không. Bạn có thể có thể có được bằng cách tự học nhỏ hoặc thậm chí có động lực. Đối với lập trình trò chơi, tôi rất muốn giới thiệu bất cứ điều gì đại số tuyến tính dựa trên các hạt và bu lông của 3D.


2

Toán học là một cách tuyệt vời để học cách suy nghĩ về các hệ thống chính thức, và có rất nhiều điều hữu ích để học hỏi từ nó.

Nếu đôi khi bạn nghĩ đến việc đi học, bạn có thể muốn học toán nặng. Điều đó có khả năng làm cho bạn nổi bật, một phần vì nói chung là dễ dàng trở thành một chuyên ngành khoa học máy tính hơn là một chuyên ngành toán học, và một phần vì đó là nền tảng tốt để học nhiều thứ lý thuyết hơn.

Có những phần toán học bạn chắc chắn muốn biết, nhưng phần lớn trong số đó có thể sẽ được dạy trong một chương trình giảng dạy Khoa học Máy tính. Tôi hy vọng bạn có ít nhiều lớp toán được ngụy trang trong đó, dạy những thứ như lý thuyết phức tạp và lý thuyết đồ thị.

Đối với trò chơi điện tử, bạn chắc chắn muốn có thêm toán học. Bạn cần phải rất giỏi về đại số tuyến tính, và cần biết tính toán. Bạn cần biết hình học, lượng giác và đại số, nhưng những thứ này (ít nhất là trong các hình thức này) không phải là các lớp đại học. Phương trình vi phân có thể hoặc không hữu ích. Bạn không cần bằng cấp để thể hiện điều đó (mặc dù trẻ vị thành niên toán học sẽ hữu ích nếu bạn muốn làm việc với người khác), nhưng bạn cần biết điều đó và tôi không biết cách học tốt hơn hơn các khóa học đại học.


2

Giá trị toàn bộ môn toán có lẽ sẽ là quá mức cần thiết. Mặc dù biết một số môn toán sẽ giúp bạn rất nhiều (đặc biệt là trong bất kỳ nỗ lực nghiêm túc nào về lập trình 3D), tôi có cảm giác rằng bạn sẽ không thể áp dụng nhiều thứ bạn học với bằng toán thuần túy. Tuy nhiên, tôi vẫn khuyên bạn nên học ít nhất một vài lớp.

Đối với lập luận "trải nghiệm học tập", một số lượng học tập có thể giúp bạn không phải học nhiều thông qua thử và sai. Tôi biết rằng tôi muốn nói trước nhiều hơn cho dù điều đó tôi đang cố gắng làm là cách tốt nhất để làm điều đó (hoặc thậm chí sẽ làm việc). Đám đông thử và sai thường không biết câu trả lời cho đến khi họ lãng phí một khoảng thời gian tốt.


Tôi đồng ý rằng toàn bộ bằng cấp về toán học sẽ là quá mức cần thiết. Một trẻ vị thành niên trong toán học có thể sẽ hữu ích mặc dù. Tôi có một môn toán nhỏ và không hối tiếc khi tham gia các khóa học thêm.
sange

Vâng, nếu tôi từng đi học, có lẽ tôi sẽ học môn toán bất kể bằng cấp nào khác. Có vẻ như rất hữu ích trong một số lĩnh vực, không ít trong số đó là lập trình.
cHao

Chỉ cần có một mức độ toán học - nó không quá mức cần thiết. Mục đích của một mức độ toán học (và sử dụng nó trong lập trình) không phải là bạn sẽ sử dụng các kỹ năng từ mọi lớp bạn học ("anh bạn, tôi rất vui vì tôi đã học được tích hợp Lebesgue, bây giờ tôi hiểu sự kế thừa!"), Mà là suy nghĩ rằng một toán học chính buộc bạn phải thích nghi. Tôi ước tôi có thể nói như vậy về CS (tôi đã làm hai độ), và trong khi nhiều lớp học trong chuyên ngành đó giúp hình thành một tâm trí giải quyết vấn đề tốt, thì nó lại không làm điều đó giống như bằng cấp toán học. Bây giờ tôi nhìn vấn đề theo một cách hoàn toàn khác, theo một cách rất tốt.
galois

1

Tôi nghĩ rằng toán học là quan trọng, luôn luôn. Nhưng tìm hiểu thêm về công cụ lập trình sẽ giúp bạn nhiều hơn trong trường hợp này. Hầu hết các thuật toán phức tạp được gói gọn và nếu bạn biết các khái niệm cơ bản, như hình học, lượng giác và đại số tuyến tính, bạn có thể có được điều này một cách dễ dàng.

Nhân tiện, học toán rất tuyệt và giúp bạn nhiều hơn bạn nghĩ nếu bạn có động lực khác hơn là vượt qua bài kiểm tra trình độ. : O)


1

có một nền tảng về toán học là điều tuyệt vời ... tôi nghĩ rằng nó chắc chắn sẽ mở ra một số cánh cửa cho lập trình khoa học và thậm chí lập trình đồ họa - hai lĩnh vực đó đặc biệt chuyên sâu hơn về toán học ... hy vọng điều này sẽ giúp ích.


0

Nó giúp cho lập trình đồ họa. Nhưng điều đó có liên quan nhiều đến lập trình công cụ trò chơi hơn là lập trình trò chơi (nghĩ nhiều hơn về ngôi nhà cho lập trình trò chơi). Lập trình động cơ có thể thú vị như lập trình trò chơi nếu bạn thực sự thích nó. Nó là tùy thuộc vào cá nhân mặc dù.

Nhưng nếu mục tiêu của bạn là lập trình / phát triển trò chơi, hãy lấy bằng thiết kế trò chơi thay thế. Bạn sẽ kết thúc việc học những thứ có thể không giúp ích gì cho thiết kế trò chơi nếu bạn có bằng cấp về toán học (toán học là một môn học thực sự lớn). Một số toán học có ích với thiết kế trò chơi bảng (như toán học rời rạc và toán tổ hợp).

Tuy nhiên, bạn sẽ cần phải biết một số đại số và lượng giác để tính toán. Nhưng, với internet bây giờ, không khó để học toán cơ bản trực tuyến nếu bạn thực sự cần nó để lập trình trò chơi.

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.