십대 게임 프로그래머를위한 좋은 시작 플랫폼은 무엇입니까? [닫은]


32

제 아들 (15)은 게임 프로그래머로서 경력을 쌓기를 원했습니다. 나는 그가 간단한 게임으로 시작해야한다고 말했다. 그는 아직 프로그래밍 경험이 없지만 프로그래밍 (게임이 아닌 비즈니스 앱)이므로 프로그래밍을 가르 칠 수는 있지만 시작하기에 좋은 플랫폼은 무엇입니까? 처음에 나는 그의 열정을 유지하기 위해 빠른 결과를 제공 할 수있는 것을 찾고 있습니다.

무엇을 제안 하시겠습니까?


13
닫은? 당신은 농담을해야합니다! 나는 지난해이 질문을했다. 적어도 19 개의 공감대를 가지고 있고, 그 공표 된 답변은 적어도 86 개의 공감대를 가졌으며, 5 명이 그것을 좋아하는 것으로 표시했다. 그리고 답변에는 사실, 참조 또는 특정 전문 지식이 포함됩니다. 마지막으로, 그것은 나에게 매우 유용했고, 다른 사람들에게도 제안 할 것입니다. 이 결정에 항소하려면 어떻게해야합니까?
gkrogers 2012 년

1
당신이 정말로 원한다면 메타에 관한 게시물을 만들 수 있습니다. meta.gamedev.stackexchange.com
Tetrad

답변:


30

XNA 는 상당히 자신감있는 프로그래머에게 좋은 솔루션입니다. 미래를 목표로 삼는 것이 좋은 목표가 될 것입니다.

언리얼 개발 키트는 훨씬 더 빠르고 쉽게 결과를 얻을 수있는 방법이며, 시작하기에 좋은 장소가 될 수 있습니다. 의견에 따르면 UDK는 실제로 매우 나쁜 대안이므로 권장하지 않습니다.

Unity 는 대안이며 UDK가 할 수없는 전화에서 실행됩니다 (아는 한). 만약 그가 전화 프로그래밍 게임을하고 있다면, 통일성이 더 좋을까요?


4
동의합니다. Unity는 UDK의 대안이지만, 이해하기가 조금 더 어렵다고 생각합니다. UnrealScript (Unreal Development Kit의 스크립팅 언어)를 엉망으로 만들 수 있는지 확인하십시오. XNA는 그가 사용해야 할 최초의 진정한 스크래치 게임 프로그래밍 언어입니다. 그것은 가장 쉬운 (상대적으로 말하면; 절대 초보자가 아닌) 화면에서 그림을 빨리 시작할 수 있기 때문에 프로토 타이핑을 좋아합니다.
Ricket

2
XNA 제안의 경우 +1 그가 잘 배우려고 노력하고 좋은 아이디어를 가지고 있다면 Zune / WP7 / XBOX 360을위한 게임을 팔아 돈을 벌 수 있습니다.

2
Unity는 iPhone과 브라우저에서 작동하므로 사람들이 테스트 할 수 있도록 게임을 배포하고 초기에 화염에 익숙해지는 좋은 방법입니다.
Chris S

4
UDK를 피하십시오. 그것은 매우 강력 할 수 있지만 또한 큰 고통입니다. "정지"와 문서화되지 않은 제한으로 가득합니다.
피터 Ølsted

4
나도 15 살이고 10 번에 먼저 파스칼을 배운 다음 C에이어서 C ++를 배웠다. C ++ 및 allegro에서 12 +-로 일부 게임을 프로그래밍하려고 시도했지만 많은 성공을 거두지 못했지만 많은 일을 할 수는 있었지만 전체 게임을 만드는 방법을 생각할 수 없었습니다. 그것은 나를 유지했다. XNA를 사용하면 작업이 훨씬 쉬워졌으며 디버그 시간에 표시되는 C # 예외를 쉽게 처리 할 수있어 문제가있는 위치를 파악하는 데 도움이됩니다. 물론 다른 언어도 있지만 Visual C #에는 최고의 디버그 도구가 있다고 생각합니다.
구스타보 메이 엘

20

나도 15 살인데 도움이 될 것 같아? :피

나는 최근에 파이썬을 배우기 시작했으며 (1 년 정도 C ++을하고 있었음) C ++보다 배우기가 훨씬 쉽다는 것을 알게되었습니다. 함정이 훨씬 적으며 화면에 무언가를 얻기 위해 코드가 거의 필요하지 않습니다.

그리고 그래픽 측면을 위해 Pygame 및 Pyglet over SDL / OpenGL과 같은 래퍼가 있습니다.

간단한 게임을 시작하기 전에 적어도 몇 달 동안 언어를 배우는 것이 좋습니다. (물론, 숫자 추측과 교수형 집행과 같은 텍스트 기반 게임은이 기간 동안 좋은 연습입니다)


9
Python과 Pygame은 수년간 C로 게임을 작성한 후 나에게 신선한 공기를 불어 넣었습니다. 모든 것에 대한 높은 수준의 측면 때문에 파이썬에서 약 10 %의 시간에 동일한 일을 할 수 있다고 생각했습니다.
dash-tom-bang

나는 같은 느낌입니다 (그리고 1 년 동안 C ++를 해왔습니다).
공산주의 오리

+1. 파이썬에 대해 조금만 알고 있지만 프로그래머를 처음 추천하는 것이 좋습니다. 이제 우리는 파이썬 로봇이 필요합니다! 교수형 집행 인에 대한 좋은 제안. =)
leander

야 당신은 .net 언어를 배우어야한다 잘못된 (매우 좋은 일입니다. C ++은 그 이상을 수행해야합니다.) 호출 스택, 시계 변수, 중단 점 (파이썬 IDE에서 중단 점이 작동한다고 가정)을 사용하는 방법을 배울 수 있으며 빠르게 디버깅 할 수 있습니다 불안정한 초보자 코드를 작성할 때

13

약간 정통적인 답변은 여기에 있습니다.

스타 크래프트 II 갤럭시 에디터.

스타 크래프트 2 내에서 거의 모든 게임을 만들 수 있습니다.

또한 GUI 중심의 방식으로 루프 및 if 문과 같은 대부분의 프로그래밍 구문을 교육합니다.

그가 기본에 확신을 가지면 스크립트를 작성할 수 있습니다.

그가 능숙하고이 흥미로운 것을 발견하면, 적절한 게임 프로그래밍을 좋아할 것입니다.


3
나는 워크래프트 III를 제안하려고했다. 간단한 스크립팅 언어로 시작하는 것이 정말 좋은 방법입니다. 워크래프트 III와 스타 크래프트 II에는 편안하게 사용할 수있는 GUI와 코드를 원시 스크립트로보고 내부 작업을 볼 수있는 기능이 있습니다.
William Mariager

2
올바른 길 . 모든 레벨 편집기로 시작하는 것이 가장 좋은 방법입니다. 그는 모든 발판과 어려움을 건너 뛸 수 있으며 시나리오를 짜고 레벨을 디자인하는 흥미로운 부분으로 바로 갈 수 있습니다.
bobobobo

이 유형의 질문에 대해 내가 본 최고의 답변 중 하나까지, 하이퍼 링크를 통해 MS 파워 포인트가 거의 없었을 때 게임을 시작하고 "로봇 클럽"이라는 게임을 시작했습니다. 게임 플레이에서 giantbomb.com/the-robot-club/3030-29776
Jim Jones

10

게임 개발 도구를 크게 세 가지 범주로 나눌 것입니다.

  1. 배우고 사용하기 쉽지만 제한적입니다. 게임 메이커, 게임 샐러드, 롤 플레잉 메이커, 어드벤처 게임 스튜디오가이 범주에 속합니다.
  2. 강력하지만 학습 곡선이 가파 릅니다. C ++ 및 기타 "하드 코어"프로그래밍 언어가 여기에 적합합니다.
  3. 일반적으로 Lua, Python 및 ActionScript와 같은 스크립팅 언어 인 중간 언어는 실제로 일부 코드를 작성해야하지만 메모리 관리와 같이 더 모호한 세부 사항을 처리하여 차이점을 분리합니다.

프로그래밍 경험이없는 사람들을 위해 나는 보통 뭔가를 시작하기 위해 첫 번째 카테고리에서 시작하는 것이 좋습니다. 주어진 저작 도구에 익숙하다고 느끼지만 한계가 이점을 능가하는 것처럼 느껴지면 다음 범주에서 무언가를 배울 때입니다.


9

나는 이것이 다소 데이트를 할 것이라는 것을 알고 있지만 자라면서 나는 P-Robots을 정말로 즐겼습니다 . 정말 간단한 목표 (다른 로봇보다 뛰어남), 간단한 API, 코드 변경과 결과 확인 사이에 짧은 시간이 있습니다. AI, 디자인 패턴 및 더 큰 규모의 코드 구조로 분류됩니다 (이러한 로봇 중 일부는 상당히 커질 수 있으며 로봇간에 코드를 공유하는 것은 어떻습니까?). 비슷하지만 더 새로운 것을 찾을 수 있다면 "프로그래밍 시작하기"부분을 얻는 좋은 방법입니다. 제안 :

이 작업이 완료되면 정말 간단한 2D 스크롤 슈팅 게임, 플랫 포머 또는 이와 유사한 "아케이드 스타일"게임을 생각해보십시오. SDL 또는 XNA 또는 가장 친숙한 게임을 사용할 수 있습니다. 심지어 탁구 클론 위로를 받고 다음에 실행하는 것은 아니다 완전히 사소한. 이것은 "접지"무언가를 만드는 것과 같은 작은 반향을줍니다.

그런 다음 기존 3D 게임 (새로운 객체 또는 봇 등)을 개조하여 더 큰 엔진에 대한 통찰력을 얻으십시오.

내가 본 것의 열쇠는 다음과 같습니다.

  • 빠른 반복 : 결과를 빠르게 볼 수있는 기능
  • 프로토 타입 : 풍부한 경험과 자신감을 얻기위한 많은 소규모 실험 (알겠습니다. 대리석 게임은 어떻게합니까? 우주 침략자는 어떻습니까?)
  • 탐험 : 다른 사람들의 게임이 어떻게 만들어 지는지 조사하고 조정하는 것을 좋아하는 법을 배우는 법

2
마인드 스톰은 +1이지만 P-Robot 대신 ROBOCODE ( robocode.sourceforge.net )를 사용합니다.
Callum Rogers

@Callum : 브릴리언트, 답변을 업데이트합니다 =)
leander

NXC와 함께 LegoMindstorms를 사용합니다
Joe the Person

6

내 조언은 웹 기반 게임을 만드는 것입니다. 왜? 글쎄, 우선, JavaScript는 그에게 프로그래밍의 모든 기본 개념을 가르쳐주는 아름다운 언어이며 실제로는 훌륭하고 유능하며 크로스 플랫폼 게임을 만들 수 있습니다. 또한 게임을 만드는 것 외에 다른 많은 것들에 대해서도 자격을 갖추게 될 것입니다 ... 어떤 이유로 아들이 웹 ​​개발에 들어가기를 원하지 않는다면 PyGame이라는 모듈과 함께 Python을 사용하는 것이 좋습니다. 나도 그 경험이 있고 굉장합니다. 내가 제안 하지 않는 것은 C / C ++로 시작하는 것입니다. 그것이 내가 한 일이며 끔찍하며 프로그래밍에 전혀 동기를 부여하지 않을 수 있습니다.

또 다른 참고로, 당신은 아마도 멋진 아버지 일 것입니다. 축하합니다!


1
좋은 제안입니다. 즉, C로 시작했고 (그 당시에는 실제 대안이 없었습니다.) 그리 고통스럽지 않았습니다. 물론, 더 높은 수준의 언어가 있기 때문에 그것을 사용하는 이유는 아닙니다.
o0 '.

1
감사! 또한 나는 게임을 시작하지 않았으며, 요점은 더 높은 수준의 언어를 배우고 나면 일반적인 프로그래밍 개념을 더 잘 이해하고 동기가 고갈되지 않을 것이라는 점이었습니다. 그리고 물론-나는 조금 거기를 발굴했다;)
jcora

1
그 당시에는 내 창작물을 친구들과 쉽게 공유 할 수 있는 것이 동기 부여였습니다. 웹 게임은 더 쉽게 공유됩니다. URL을 Facebook에 게시하고 친구들에게 사용해 보라고 요청하십시오. 액션 스크립트 / 플래시 또는 자바 스크립트 / HTML5는 아마도 자바 나 유니티와 쉽게 공유 할 수있는 최선의 방법 일 것입니다.
amitp

5

Mindstorms Roboter는 정말 멋지다. 우리는 학교에서 NXT를 얻었고 지난주에는 라인을 따르는 것과 같은 것들과 그와 같은 프로그래밍을 시작했습니다. 쉽게 결과를 얻을 수 있습니다.

또한 얼마 전에 www.3dgamestudio.de을 발견했습니다. 나는 그것에 대해 더 많이 알지 못했지만 정말 재미있었습니다. 다음과 같은 lite-C로 프로그래밍 할 수 있습니다.

Lite-C는 C ++ 프로그래밍 언어의 일부 요소와 함께 C 프로그래밍 언어의 구문 서브 세트를 사용하여 멀티미디어 애플리케이션 및 컴퓨터 게임을위한 프로그래밍 언어입니다.

상기 http://tutorial.3dgamestudio.net/ 당신은 그것으로 얻을. 레벨, 모델 및 지형 편집기도 있습니다.

추신 : 저는 16 세이며 친구가 웹 사이트를 프로그래밍하고 프로그래밍 된 게임 서버를 사용자 정의했습니다. 그래서 이것은 그에게도 흥미로울 수 있습니다.


+1 매우 쉬운 문서화 방법, 실제로 다루기 매우 쉬운 것 같습니다.
Prix

4

나는 이것을 충분히 제안 할 수는 없지만, 자신이 좋아하는 게임을 위해 자신의 레벨을 구축합니다 .

해당 연령 / 기술 수준의 사용자는 선호하는 게임 엔진에서 수준을 구축하는 것으로 시작해야 합니다 .

많은 훌륭한 게임에는 많은 자유도를 허용하는 레벨 편집기가 있습니다.

롤 플레잉 : 옵 시디 언의 NWN 2 전자 툴셋 시리즈 , 엘더 스크롤

RTS : Warcraft III 의 레벨 에디터는 환상적인 RTS 에디터이며 심지어 자체 게임 ( 전설 영웅의 리그 )에서 분리되었습니다.

FPS :반감기 해머 2. 반격 은 원래 반감기 모드였습니다.

여기서 시작하십시오 . 좋아하는 게임의 건물 수준이 시작하기 가장 좋은 곳일 것입니다.



3

여기에있는 모든 정보가 도움이 되긴하지만 STEM Challenge (백악관과 ESA에서 추진하는 국가 게임 대회)에 플랫폼에 대한 제안이 있음을 언급하고 싶습니다 .

Gamestar Mechanic, Gamemaker, Kodu, Scratch, PBS KIDS 스트림을 배울 준비가되었습니다

STEM과 관련하여 이러한 플랫폼에 대한 커뮤니티 리소스가 있다고 생각합니다.

또한 (또한 온라인 책) 파이썬과 파이 게임에 대한이 우수한 자습서를 참조하십시오 http://inventwithpython.com/chapters/이 여기 파이 게임에 대해 특별히이 책의 속편의 PDF의 http://inventwithpython.com/blog/making -파이썬-파이 게임 /

다른 NYT 기사 http://www.nytimes.com/2011/11/10/technology/personaltech/computer-programming-for-children-minus-cryptic-syntax.html?_r=2&sq=mitchel+resnick&st=cse&adxnnl= 1 & scp = 1 & adxnnlx = 1322489239-tMp1Wjl9FUcI8rLaJ6cbOw

업데이트 : 여기 슬래시 닷 토론이 있습니다 http://ask.slashdot.org/story/11/12/27/152228/ask-slashdot-tools-for-teaching-high-school-kids-how-to-make-games


2

Game Maker는 프로그래밍 경험이없는 사람들에게 탁월한 선택입니다. 무료 버전과 비교적 저렴한 유료 버전이 있습니다. 끌어서 놓기 인터페이스를 사용하여 게임을 빠르게 만들 수 있지만 고급 스크립팅을 지원합니다.


5
나는 이것을 공감하지 않을 것이지만 GameMaker와 Visual Basic은 둘 다 나쁜 구문 (VB)을 가르치는 도구이며 GameMaker는 너무 크지 않습니다. 예를 들어, VS와 같은 멋진 IDE에 액세스 할 수 없으며 드래그 앤 드롭 게임 제작은 실제로 아무것도 가르치지 않습니다.
Joe the Person

1
VB를 왜 언급했는지 잘 모르겠습니다. 게임 메이커는 대략 C 기반입니다. 그럼에도 불구하고 Game Maker는 아무것도 모르는 것에서부터 게임 개발에 필요한 종류의 사고를 이해하는 데까지 발전하는 좋은 방법입니다. 그래픽 리소스와 코드 간의 관계를 사용하여 이벤트에 응답하고 게임 루프를 유지하며 프로젝트를 아이디어에서 출판으로 가져옵니다. 이것들은 드래그 앤 드롭 개발로 배울 수있는 모든 것입니다. 나는 GML이 제한적인 언어이지만 시스템 전체가 좋은 점이라고 동의합니다.
Gregory Avery-Weir

1
또 다른 끔찍한 프로그래밍 도구 인 DarkBASIC으로 인해 VisualBasic에 대해 언급하고 있습니다.
사람 조

게임 메이커는 결과 지향 교육을위한 좋은 방법입니다. 물리학이나 렌더링을 배울 필요가 없습니다. 내장 기능 만 사용하십시오. C ++ 로의 이동은 dll을 만들어 Game Maker에서 사용하고 나중에 Game Maker를 완전히 버리는 것으로 시작하기 때문에 쉽습니다.
William Mariager

11 세 이상인 사람에게 GameMaker를 제안하지 마십시오. 15 세인 경우 프로그래밍에 대해 머리를 감쌀 수도 있습니다.
jcora

2

Martin이 언급했듯이 UDK는 AI, 모델 및 풍부한 책과 같은 사전 제작 된 것들과 함께 제공되는 가장 빠른 방법 일 것입니다. 매우 훌륭한 맵 편집기가 있으며 언어는 Java 형식이며 ECMA 스크립트와 유사합니다.

대안은 Flash 또는 Silverlight에서 게임을 시도하는 것입니다. 간단한 2D 게임부터 시작하십시오. 그가 좋아하는 게임 장르가 무엇이든 툴킷이 결정됩니다.


1
아니! UDK가 아닙니다! 버그가 많고, 느리고, 오류가 발생하기 쉽고, 복잡합니다. 대신 Unity로 이동하십시오.
Joe the Person

@ firedude67 UDK 버기, 오류가 발생하기 쉬운가? 농담?
Quazi Irfan

내 경험상 엄청나게 지연되어 내가 만든 것이 BSOD를 제공했으며 유용한 문서를 찾을 수 없었습니다. 예제 프로젝트조차 실행되지 않았습니다.
사람 조

1
나는 UDK 버그를 발견하지 못했지만 게임 프로그래머에게는 권장하지 않습니다. 예술가, 예, 그러나 프로그래머는 아닙니다. '문서'는 농담이며, 서브 클래스로 어떤 클래스를 찾아야하는지 실제로 API 참조를 제공하지 않기로 결정한 부모 클래스를 열어야합니다. 또한 FPS 엔진을 중심으로 다양한 유형의 게임을 만드는 데 많은 노력이 필요합니다.
DMan

1

14 세부터이 조언은 유용 할 수 있습니다. 플랫폼을 선택하는 가장 좋은 방법은 목적에 가장 적합한 플랫폼이라는 것입니다. 이 게시물을 여러 번 만들었습니다.

에서 레딧 -

목적에 맞는 언어를 선택하십시오. 대부분의 게이머는 게임이 어떤 언어로 프로그래밍되어 있는지 상관하지 않습니다. 컴퓨터에서 빠르게 실행되는지 걱정합니다. 그들은 게임의 크기가 10GB가 아닌지 걱정합니다. 그들은 exe 또는 jar인지 상관하지 않습니다.

Minecraft와 같은 게임을보십시오. 게임 개발 산업에서 시장 점유율이 매우 작은 언어 인 Java로 작성되었는지 확인하십시오. 소비자는 관심이 있습니까? 아니요. 기능에 관심이 있습니다.

그러나 자녀가 프로그래밍 경험이 없기 때문에 Python과 같은 코드를 빨리 작성하거나 XNA와 같은 기존 플랫폼을 사용하는 언어를 배우는 것이 좋습니다. 개인적으로 Java와 함께 Slick2D를 좋아하지만 그게 내 취향이라고 생각합니다 ...


0

나는 어린 나이 (15 세 미만)에 프로그래밍을 시작했고 아빠는 VB (1.0)를 사용하기로 결정했습니다. 우리는 타이머 객체와 GDI 그리기를 사용하여 꼬인 버전의 퐁을 만들었습니다. 나는 우리가 빈 캔버스로 시작하여 무언가를 재미있게 만들면서 프로그래밍 구조의 기초를 배울 수 있었기 때문에 좋아했습니다.

오늘은 XNA를 선택하고 간단한 2D 게임을 선택한다고 생각합니다. C #과 XNA는 상당히 직설적이며 성장할 공간이 충분하며 무료입니다.


-4

게임을 만들고 싶다면 XNA, Unreal, Unity 등을 사용해야합니다. 게임 프로그래머가 되려면 C / C ++ 및 OpenGL / SDL 또는 D3D를 먼저 배워야합니다.

XNA, Unreal, Unity 등은 게임을 만드는 데는 좋지만 너무 많은 일을하는 것은 정말 나쁩니다. 나는 사람들이 이것에 대해 나에게 동의하지 않을 것이라고 확신하지만, 이것들은 기본적으로 당신을 게으른 프로그래머로 바꾸고 C ++의 포인트와 같은 것들을 배울 때가되면 더 쉬운 옵션을 먼저 사용했기 때문에 더 어려울 것입니다.

Peronally 난 당신이 게임 프로그래머가되고 싶다면 배우는 첫 번째 언어로 다른 C / C ++을 제안하지 않습니다. 주된 이유는 C # / XNA를 배우고 배우더라도 게임 개발자가되기를 진심으로 생각하면 어느 누구도 다른 사람을 고용하지 않기 때문에 어떤 단계에서 C 또는 C ++를 알아야한다는 것입니다. 그래서 그들이 직업에 대해 진지하다면, 당신은 당신에게서 기대되는 것을 배우는 것을 지연시키고 있습니다.


10
15 살짜리 전문가가 (8 년 후부터) 전문적으로 고용 될 준비가되었을 때, 나는 모든 사람이 C ++를 사용할 것이라고 생각할 이유가 없다. 8 년 전, C ++은 게임에 사용되기 시작했고 첫 번째로 실질적인 표준을 얻었으며, 대부분의 사람들은 C와 함께 선적했습니다. 8 년 전 C ++은 게임 개발에있어 끔찍하게 나쁜 상태에있었습니다. C와 asm이었습니다. 8 년 후, 대부분의 게임 프로그래밍은 아마도 현재 C ++ 03보다 XNA와 훨씬 더 유사 할 것입니다. (계속)

8
핵심 요소는 개별 언어와 무관 한 우수한 프로그래머가되는 것 입니다. 새로운 프로그래머에게는 C #이 더 빨리 동기를 부여 할 것입니다. 그들은 더 좋은 것을 원한다면 돌아가서 더 자세한 내용을 배울 것입니다. 그러나 당신은 그 단계에 도달하기에 충분히 오래 걸러야합니다.

5
게임 프로그래밍에서 중요한 세부 사항은 SSE가 아닌 SIMD입니다. C ++ 표준 레이아웃이 아닌 캐시 라인; std :가 아닌 해싱 :: unordered_map; 가상 함수가 아닌 다형성. 후자는 사소한 것이며 기본이 아닌 부수적입니다. 전자를 알면 후자는 사소하게 따르는 경향이 있습니다.

2
C ++로 시작하는 것은 일반적으로 나쁜 생각입니다. 어려운 언어이자 첫 번째 언어입니다.
공산주의 오리

4
나는 15 세에 C ++을 시작했고, 지금있는 것에 만족하지만, 쉬운 것부터 시작하면 훨씬 덜 고통 스러웠을 것입니다. 포인터와 segfault보다는 실제 게임 개발에 집중할 수있게되었습니다 ...
라일리 아담스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.