2009-08-11 3 views
9

저는 주로 웹 사이트를 개발하는 배경에서 왔고 간단한 양식 기반의 응용 프로그램을 사용하고 있습니다. MVC는 잘 작동하지만 게임에 어떻게 적용되는지는 잘 알지 못합니다. 그럼 어떻게 하죠?간단한 게임의 코드를 레이아웃하는 방법은 무엇입니까?

관련성이있는 경우 Qt와 OpenGL로 개발 중입니다. 나는 기본적으로 현재 중앙 허브로 사용하고있는 QGLWidget을 가지고있다. Player 객체에 입력을 전달하여 처리 할 수 ​​있도록하거나 플레이어를 직접 제어해야합니까? 객체가 스스로 그려야 하는가, 아니면 다른 핸들러가 있어야 하는가? 근본적으로, 어디로 간다? 누가 뭘 처리하니?

관련 기사에 대한 링크를 통해 이러한 질문, 팁 또는 파일 구조에 대한 답변을 모두 얻을 수 있습니다. 나는 그것을 프로그램하는 법, 멋지게 모듈화하는 법만 신경 쓰지 않는다.

감사합니다 :)

답변

6

봐는 :

http://ezide.com/games/writing-games.html

그것은 파이썬 용으로 작성하고 아주 좋은 게임 MVC에 대해 설명한다.

행운을 빌어 요!

+0

예! 고맙습니다! 이제는 주제와 관련성이 매우 높습니다. 내가 찾는 것에 훨씬 가깝다. – mpen

5

음, 게임 개발에 대한 진부한 출발점 gamedev 것 같다. 거기에서 시작할 것이다 자습서 그리고 기사의 숫자가, 거기있다. 또한 꽤 적극적인 포럼이 있습니다. 또한 "Programming Linux Games"라는 책이 있습니다. (Qt를 통해 리눅스를 사용한다고 가정합니다.)하지만 비용이 많이 든다고 생각합니다. 그러나 인터넷에서 많은 책을 찾을 수 있으며 그 중 하나 일 수 있습니다.

"게임 프로그래밍의 흑인 예술"도 있습니다. 위키는 정말 끔찍한 장 제목을 가지고 있습니다. 여기에 특히 관련 장에 대한 링크가 있습니다. 물론 모든 것을 볼 수는 있지만 Chapter 2입니다. (archive.org backup link)

희망이, 도움이 - Agor

+0

내가 뭔가 A에 대한 기대했다 : PushButtonEngine 신봉하고이 짧은 (오분) 비디오에 설명 된대로 플러그) 접근 "gamedev"보다 좀 더 구체적입니다. 게임 프로그래밍의 흑인 예술은 ... 아주 끔찍합니다. 대부분 게임이 최종 사용자에게 어떻게 나타나야하는지, 그리고 다소 엄격한 방식으로 (사운드와 물건이 많은 데스 애니메이션을 재생 한 다음, 높은 점수 화면을 표시하는 방법)을 설명합니다. 기본 이벤트 루프를 설명하지만 한 줄에 200 줄짜리 게임을 작성하는 것보다 조금 더 복잡한 것을 기대하고있었습니다. 내가 할 수있다. 나는 그 단순한 것을 의미하지는 않았다. 나는 그것이 "teh"행동을 시도하는 15 세, 또는 60 세의 PhD 교수에 의해 작성된 것인지 알 수 없다. – mpen

+0

나는 그곳에서 조금 벗어난 것으로 생각한다. 나는 그것을 조금 더 파헤쳐 보겠다. 나중에 보석이 있을지 모르지만 첫 번째 비트는별로 쓸모가 없다. 예, 저는이 특정 프로젝트를 위해 리눅스에서 프로그래밍 중입니다. 제대로 설치해야하는 라이브러리를 얻는 것이 훨씬 쉽습니다. 하지만 윈도우와 우분투 사이를왔다 갔다하지만 디자인 원칙은 OS 의존적 인 것이 아닙니다. 어쨌든 .. 고마워, 내가 좀 더 살펴볼거야. – mpen

+0

걱정할 필요가 없습니다. 더 자세한 수준을 찾고 있다면 게임의 종류 *에 대한 자세한 정보를 제공하는 것이 도움이 될 수 있습니다. 실시간 전략 게임은 일인칭 슈팅 게임이나 퍼즐 게임 등과는 완전히 다른 코드 구조를 가지고 있다고 생각합니다. 또 다른 제안으로는 (물론) 모든 장르의 오픈 소스 게임이 있기 때문에 지침으로 볼 수 있습니다. 개인적으로 나는 결코 소스 코드의 머리 부분이나 꼬리 부분을 만들 수는 없지만, 아마도 당신은 좀 더 숙련되어 있습니다. :) [그리고 네, "흑인 예술"에 당혹 스러웠지만, 그 당시에는 적절하다고 생각 했나요? :)] – agorenst

0

을 그것은 아마도 당신이 찾고있는 것보다 더 기본적인하지만 내가 파이 게임과 학습되었으며, 기본 gamedev 경우를 가르치는 그것에 대해 누르십시오의 책들이있다 다른 사람들은 관심이 있습니다. 이 튜토리얼에서

+0

사람들은 파이 게임 (pygame)을 계속 주장합니다 ... 저는 새로운 라이브러리를 바꾸거나 새로운 라이브러리를 배우는 것에별로 관심이 없습니다. *하지만 필자는 문서를 통해 구조화 된 것들을 살펴볼 것입니다. 그것이 정말로 위대하다면, 올바르게 설계되어야합니다. 감사. – mpen

+0

긁힘. 그것은 파이 게임이 어떤 구조를 제공하는 것처럼 보이지 않습니다 ... 그것은 단지 큰 유틸리티 라이브러리입니다. 전혀 호소하지 않습니다. – mpen

0

나는 거의 my question의 복제본을 외치고 싶지만 절름발이입니다. :)

어쨌든 그 해답을 살펴보십시오. 나는 당신이 게임 개발에 많은 경험이 없다면 그것에 뛰어 들어라. 계획 단계에 대해별로 생각하지 말고, 무언가를 화면에 표시하고, 작동하는 무언가를 얻고, 리팩토링하고 코드를 엉망으로 만든다. (출력을 변경하지 않고) 무엇이 가장 효과적인지 알아 본다.

나는 작동하는 무언가를 쓰고 나서 돌아와서 리팩토링에 열중하고있다. 그런 식으로 많은 것을 배울 수 있으며, 머리 속에서 물건을 파악하고 아무 일도하지 않으려 고 가상의 서클에가는 시간을 줄일 수 있습니다. (그리고 그것이 결국 당신이 끝낼 것이라고 말하는 것은 아닙니다. 아마도 당신은 훌륭한 플래너입니다. 그러나 저는 개인적으로 그렇게 많이했습니다.)

+2

그게 문제입니다. 나는 항상 뛰어 들다가 계획을 세우지 않는다. 그리고 나는 내 손에 거친 엉망으로 바람을 피운다. 그리고 나에게서 성가신자를 괴롭 히고 나는 다시 전체 프로그램을 "리펙토링 (refactor)"한다. 어떤 구조로 시작하는 것이 더 좋으므로 필자는 그것을 찢어 버릴 유혹을 느끼지 않는다. 나는 게임 경험이 거의 없지만 아무것도 경험하지 못했습니다. 나는 슈퍼 기본 마리오 클론과 다른 게임을 가지고있다. 그러나 더 많은 요소를 추가하려고 할 때 (메뉴 화면처럼) 모든 것이 떨어져 버린다. 플레이어가 입력을 처리하는 유일한 객체 인 것처럼 ... 그가 죽으면 어떻게됩니까? – mpen

+0

어쨌든, 당신 말이 맞아요. 그것은 당신의 질문과 매우 유사합니다. 고마워 :) – mpen

+0

http://dev.koonsolo.com/9/model-view-controller-for-games/ 그건 좋은거야. 나는 항상 "모델"을 "데이터베이스"와 컨트롤러로 생각했습니다 ... 나는 포스트 데이터를 다루는 것을 꿈꿉니 다. 모델로 보내고 뷰는 뷰입니다. 내가 이것을 게임에 어떻게 적용 할 수 있는지. 도움이된다 :) – mpen

관련 문제