문제

저는 Python에 대한 공정한 이해를 가진 애호가 프로그래머이며 현재 C를 배우고 있습니다. 최근에 프로그램을 배우고 싶어하는 동료와 이야기하고있었습니다. 그의 경우, 그는 DirectX를 사용하여 Windows 게임 프로그래밍의 경로로 C ++를 배우고 싶어합니다. 개인적으로, 나는 당신의 첫 번째 언어가 약간 크기 때문에 C ++로 곧바로 다이빙하는 느낌이 듭니다. 더 쉬운 언어로 동기를 부여하는 것만으로는 어렵고, 다른 언어를 배우는 것이 더 낫다고 생각합니다. C ++와 같은 것.

Linux/Unix 플랫폼의 네트워크 및 웹 프로그래밍에 더 관심이 있기 때문에 Python은 모국어로 잘 작동했지만 Windows 게임 프로그래밍에 주로 관심이있는 사람에게는 C#이 Visual을 사용하여 배울 수 있기 때문에 더 나은 선택이라고 생각했습니다. C# Express Edition 및 XNA, C ++ 학습을 시작할 준비가되었을 때 Visual C ++로 전환하여 이미 친숙한 환경에 있습니다. 나는 메모리 관리가 많이 받아야한다고 생각하며, C#은 적어도 C ++ 학습을 시작할 때까지 그것을 해제 할 수 있습니다.

다른 사람들은 C ++를 이러한 종류의 응용 프로그램의 첫 번째 프로그래밍 언어로 생각하는 것은 무엇입니까? 대신 C#에 가야합니까?

도움이 되었습니까?

해결책

C ++는 괜찮을 것입니다. 나는 그가 프로그램이 어떻게 더 잘 작동하는지 이해하기 때문에 C#까지 점프하기 전에 메모리 관리, 포인터 등에 대해 배우는 것이 가장 좋다고 생각합니다. 그렇지 않으면, 그는 기억을 마법으로 보게 될 것이며 쓰레기 수집가는 진정한 의미가 없을 것입니다. 최상의 코드를 생성하기 위해 기본 언어 (C, C ++, 어셈블리 등)를 확실하게 이해하는 것이 항상 좋습니다.

다른 팁

C ++는 대부분의 "심각한"게임 타이틀에 사용되는 주요 언어입니다. 주요 게임 스튜디오를위한 프로그래밍이라면 더러운 C ++의 더러운 비트를 알아야합니다.

C ++로 시작하는 것은 완전한 초보자에게는 약간 많을 수 있습니다. 좋은 출발점으로 C를 추천합니다. C ++의 복잡성을 추가하기 전에 메모리 관리 개념과 다른 낮은 레벨 항목에 익숙해집니다.

C#은 관리되는 코드이므로 저수준 메모리 관리에 대한 통찰력을 얻지 못할 것입니다. 그것은 C ++를 다룰 때 그를 잘 섬기지 않을 것입니다. 이 경우 금속에 가까워지면 장기적으로 도움이됩니다.

C ++ 게임 프로그래밍은 훌륭합니다. 그러나 프로그램을 배우는 동안 전체 통증이 마음에 들지 않는 한 XNA로 시작하는 것을 볼 수 있습니다. 이를 통해 엔진 코드와 싸우는 대신 게임 컨텐츠 및 논리에서 작업 할 수 있습니다.

이제 통증이 마음에 들면 Directx 및 C ++ 경로를 시작합니다.

C ++를 복용하기 전에 Java 또는 C#과 같은 언어를 철저히 배우는 것이 낫다고 생각합니다. 내가 말하는 이유는 C ++의 세부 사항과 복잡성에서 쉽게 멍청 할 수 있기 때문입니다.

나는 몇 년 동안 C ++ 켜기와 끄기 (취미)로 어려움을 겪었고, Uni에서 나는 Java를 가르치고, C ++를 중단하고, 몇 년 동안 Java를하는 일을 한 다음 C ++ Dev로 옮겼습니다. 나는 내가 어떤 패턴과 개념을 적용하고 싶은지 이미 알고 있었기 때문에 모든 것을 매우 빨리 선택했으며 구문과 이상함을 배우고 다시 포인터에 익숙해지는 문제 일뿐입니다. 나는 그 이유가 아닌 방법을 배워야했다. 첫 번째 주요 언어로 C ++를 취하는 것은 동시에 방법과 이유를 배우는 것이며 매우 혼란 스러울 수 있습니다!

XNA는 좋은 제안입니다.

파이썬은 게임 프로그래밍에 능숙합니다. 보다 I-Want-to-Learn-Game-Development Whith-Language-Should-I-I-I-I-I-I-I-I-I-I-IS. 학습을 고려하십시오 피그 게임.

Pygame은 게임을 작성하도록 설계된 파이썬 모듈 세트입니다. Pygame은 우수한 SDL 라이브러리 위에 기능을 추가합니다. 이를 통해 Python 언어로 완전히 특집 게임 및 멀티미디어 프로그램을 만들 수 있습니다. Pygame은 휴대 성이 뛰어나며 거의 모든 플랫폼 및 운영 체제에서 실행됩니다. Pygame 자체는 수백만 번 다운로드되었으며 웹 사이트를 수백만 번 방문했습니다.

그가 업계에 들어가기를 원한다면 대부분의 게임 엔진이 C ++를 사용하기 때문에 C ++를 아는 것이 중요합니다. (나는 또한 개발자가 어떤 점에서 린 C 또는 C ++)
그러나 그가 게임을 쓰고 싶다면 (게임 쓰기를 마치는 것처럼) C ++는 갈 길이 아닐 수도 있습니다. 그것은 매우 복잡하고 개발하기에 느린 언어로 만드는 함정이 많습니다. 메모리 관리 일뿐 만 아니라 끔찍한 STL 관련 컴파일 오류 등과 같은 것들이 처음 시도 할 때 무엇이든하기가 매우 어렵습니다. 프로그램에.
C# 또는 Python과 같은 것을 보는 것은 훨씬 덜 복잡한 언어이며 각각은 모두 좋은 게임 라이브러리를 가지고 있기 때문에 더 나은 옵션이 될 것입니다.

그가 C ++가 올바른 방법이라고 결정하면 최소한 렌더링 라이브러리를 추천합니다. 같은 것 OGRE3D 아주 최소한. 그 이유는이 기사에서 다루어집니다 엔진이 아닌 게임을 작성하십시오. 기본 API의 엔진을 작성하거나 쓰려고하는 동안 좋은 경험이 될 것입니다. 게임이 끝나지 않을 것입니다.

고려해야 할 것은 기존 SDK입니다. 모든 것 당신 자신. 예를 들어, 자신에게 적합한 라이센스 유형이 다른 좋은 3D 엔진이 있습니다.

따라서 기존 라이브러리와 SDK와 동시에 함께 고집하고자하는 소수의 언어를 확인해야합니다. C ++ 또는 C#에 적응하는 것은 어렵지 않습니다. 전자는 더 엄격하고 까다로운 반면, 메모리에 대한 광범위한 제어를 제공하는 반면, 후자는 주요 개발 영역에 집중할 수 있지만 메모리 관리를 담당하는 경우 (대부분) 즉, 실시간 문제가있을 수 있습니다.

하루가 끝날 무렵, 응용 프로그램을 구축하는 데 도움이되는 어떤 도움으로 인해 어느 정도까지 해당 OO 언어 간의 작은 차이점을 항상 적용 할 수 있습니다.

게임 엔진이 많고 대부분은 나열됩니다. 이 페이지에서. 자유 세계에서 특히 관심이 있습니다.

비없는 패키지에는 포함됩니다 단일성, 다른 사람.

당신이한다면 ~ 아니다 그 엔진을 원한다면 여전히 아주 좋은 라이브러리가 있습니다. QT C ++의 경우 직접 파이썬은 아니지만 스크립팅을 허용하지만 C#을 위해 직접 포함시켜야하지만 목록은 상당히 길어질 수 있습니다.

일반적으로 사람들은 첫 경기를 완료하기 전에 증기가 부족합니다. 따라서 친구가 눈에 띄게 결정된 실적을 가지고 있지 않으면 가장 높은 수준의 옵션을 사용하는 것이 좋습니다. C ++와 C#중에서 선택하는 경우 C#입니다.

나는 빠르고 고통없는 소개를 위해 XNA와 C#을 선호합니다. C ++와 DirectX와 같은 라이브러리를 사용하여 주제에 대한 경험이있는 게임 프로그래밍에 가장 큰 게임이 C ++로 작성되었습니다.

당신의 목표가 재미 있고 실제로 게임 (또는 소규모 팀)이 비교적 작은 범위가 작은 게임을 마치는 것이라면 C#과 XNA라고 말합니다.

당신의 목표가 업계에서 일하는 것이라면, 거대한 팀과 함께 슈퍼 큰 예산 게임에서 ... C ++ ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top