답변:
나는 루비 (또는 파이썬)를 선호하지 않으며, 나는 자바 사람이다. 그러나 Ruby가 어떻게 "실제로는 게임이 아니고"파이썬에 대한 UnknownDevice의 대답은 나를 실망 시켰습니다. 나는 그가 명확히하기를 바랍니다.
Pygame이 존재하고 주변에 있다는 것을 알고 Python이 Ruby보다 더 큰 사용자 기반을 가지고 있음을 알고 있습니다. 그러나 솔직히 말해서 그들 중 어느 것도 "게임을위한"언어처럼 보이지 않습니다. Java도 마찬가지입니다. 이것이 제가 선택한 게임 프로그래밍 언어입니다. (그리고 "선택"이라고 말할 때, 선택 은 학교에서 가르치는 것이거나 내가 "알고있는"것이 아니기 때문에 선택을 의미 합니다 . 그리고 정말로, "게임을위한"언어는 무엇입니까? 음, 속도는 중요한 요소이며, 그래픽 및 기타 게임 시스템 (오디오, 입력 등)을위한 라이브러리가 있어야합니다.
속도가 빠르면 루비와 파이썬이 던지는 것 같습니다. 몇 가지 검색을 수행하면 스펙트럼의 양쪽에 대한 벤치 마크와 인수 및 다양한 구성을 앞뒤로 빠르게 찾을 수 있습니다. "Psycho"라고 불리는 파이썬은 루비에 비해 인기있는 속도 악마이지만, 일반적인 파이썬은 루비보다 약간 느린 것 같습니다. 결국, 그러한 고급 언어를 선택한다면 어쨌든 기본 속도에 관심이 없습니다. 가장 잘 아는 언어로 가십시오. 그리고 분명히 당신은 루비를 가장 잘 알고 있으므로 권장합니다!
다른 요소는 기술이 게임을 만들기 위해 존재하는지 여부입니다. 화면에 그리기 및 입력 및 오디오 재생을 지원할 수 있는지 여부 루비는이 모든 것을 할 수 있습니다. 실제로 이와 관련하여 많은 옵션이 있습니다. 있다 루비 - OpenGL을 (또는이 기본적으로 포함 할 수 있는가?) 루비의 OpenGL 지원을 제공합니다 루비 포지에서 패키지. 또한 Chingu 는 "초고속 OpenGL 가속 2D 그래픽!" 홈페이지에 따르면; 그것은 진구가 당신을 위해 너무 많은 경우 사용할 수있는 Gosu 위에 추가 기능을 빌드 합니다. 또는 3D 그래픽의 경우 루비 -opengl 을 사용하지 않으려면 "고급 OpenGL 기능을위한 매우 깨끗한 래퍼 클래스 세트"인 G3DRuby를 사용해보십시오 . 그곳에'Rubygame 은 많은 정보를 찾을 수 없지만 "크로스 플랫폼 멀티미디어 라이브러리"라고 주장하고 이름이 주어지면 게임 개발에 중점을 두어야합니다. 널리 사용 되는 C ++ 용 SDL 라이브러리에 익숙한 경우 Ruby / SDL 또는 RUDL이 있으며 둘 다 SDL의 Ruby 래퍼입니다. 또는 더 새로운 객체 지향 SFML 을 선호하는 경우 Ruby에서도 사용할 수 있습니다!
Ruby가 Python보다 게임 프로그래밍 언어보다 적어야 할 이유는 없습니다. 하나 있다면, 나는 그것을 듣고 싶어서 그것을 반대 할 수 있습니다. Ruby에서 가장 편안한 프로그래밍을 느끼고 다른 인기있는 언어에 비해 장단점을 알고 있다면 반드시 Ruby에서 게임을 개발할 수 있습니다!
http://gafferongames.com/2009/01/11/ruby-is-not-at-all-suitable-for-game-development/
URL은 아마도 스포일러 일 것입니다.
tl; dr : 순진 가비지 수집기는 실제 문제입니다.
Enterbrain은 Ruby를 둘러싼 많은 세부 작업에 익숙하지 않지만 Ruby 기반 게임 스크립트를 사용하는 게임 제작 프로그램 RPG Maker VX 및 RPG Maker XP를 만들었습니다. http://www.rpgmakerweb.com/
이것은 실제로 언어에 대한 첫 다이빙이었습니다. 대부분의 사람들이 말했듯이 아마도 다른 언어의 고성능을 얻지 못할 수도 있지만 2D RPG (또는 다른 2D 게임)를 시작하려는 경우 아마도 가장 정교한 게임 편집자 중 하나 일 것입니다 도움.
루비는 좋은 언어이지만 실제로 게임이 정직하지는 않습니다. C ++을 사용하고 싶지 않지만 Ruby와 같은 것을 원한다면 Python을 확인하십시오. 좋은 파이썬 프레임 워크를 위해서는 www.cocos2d.org/와 같은 것을 확인해야합니다.
어떤 종류의 게임에 관심이 있는지에 달려 있습니다. 나는 루비를 사용하여 Diplomacy , poker 및 Lost Cities를 포함한 여러 게임에 AI 클라이언트를 작성했습니다 . 다른 개념을 빠르게 실험하기에 매우 친절한 언어라는 것을 알았습니다. 반면에, 실시간 슈팅 게임을 작성하는 데 사용하고 싶지는 않습니다. 필요한 성능이 없습니다.
귀하의 질문은 너무 일반적입니다. 컴퓨터 게임을 취미 프로젝트로 작성하고 싶습니까? 아니면 인디 / 프로 게임 개발에 참여하고 싶습니까? 그래픽이 있습니까? 어떤 플랫폼에서 실행됩니까?
일반적으로 Ruby는 취미 프로젝트 (BTW가 가장 좋아하는 Ruby 게임은 Ruby Warrior ) 및 Farmville과 같은 웹 기반 게임 개발에 적합합니다. 그런 프로그래머들에게는 특정한 요구가 있습니다. "루비 프로그래머 소셜 게임"과 같은 구글을 시도하십시오.
반면에 그래픽이있는 데스크탑 또는 모바일 기반 게임을 개발하려면 Ruby가 최선의 선택이 아닙니다. 치다:
Ruby로 성능이 뛰어나고 전문적이고 상업적인 3D 게임을 작성할 것으로 기대하지는 않지만 Ruby는 게임 개발 개념을 배울 때 사용할 수있는 훌륭한 언어입니다.
Gosu 는 Ruby에서 2D 게임을 작성하는 데 가장 널리 사용되는 라이브러리입니다. 여기에는 성능을 향상시키고 OpenGL과 같은 기본 디스플레이 렌더링 라이브러리와 상호 작용하는 데 사용되는 기본 C ++ 라이브러리가 있습니다.
성능이 향상되는 한 "기본"Ruby 구현 (MRI)은 제대로 작동하지만 (최상의 성능을 위해 최신 Ruby 2.0을 제안합니다) 기본 스레드와 Rubinius, JRuby 등과 같은 대체 가비지 수집 알고리즘이있는 대체 구현이 있습니다. 스레드를 사용하는 경우 Rubinius를 사용해보십시오. 그렇지 않으면 MRI Ruby가 정상적으로 작동합니다.
파이썬은 게임 개발을위한 프레임 워크 / 라이브러리와 관련하여 더 큰 사용자 기반과 더 많은 선택을 가지고 있기 때문에 말했다. 이 사람은 게임 개발 경험이 없기 때문에 가능한 한 루비와 같은 것을 사용하는 것이 좋습니다.
게임을 할 때 Lua와 함께 C ++을 사용하는데, 미디어를 지원한다는 이유로 Visual Basic으로 게임을 쓰지 않습니다. 나는 여기에있는 모든 사람이 누군가가 특정 직업을위한 특정 도구를 사용한다고 들었습니다. 구두로 못을 망치는 것은 확실하지만 망치를 사용할 수있는 이유는 무엇입니까?