게임이 만들어지는 방식. 프로젝트 "Game Maker를 사용하여 컴퓨터 게임 만들기"

랩톱이든 모바일 장치이든 상관없이 평생 한 번 이상 컴퓨터 게임을 한 번 이상 하지 않은 사람은 거의 없습니다. 글쎄, 우리 블로그 독자 여러분, 자신의 게임을 만드는 것을 꿈꾸지 않았으며 귀하의 프로젝트 덕분에 백만장자가되지 않았다면 적어도 친구들 사이에서 유명해 졌습니까?

그러나 특별한 지식과 프로그래밍의 기초도 모른 채 처음부터 Android 게임을 만드는 방법은 무엇입니까? 게임 개발자로서 자신을 시험하는 것은 그렇게 어려운 일이 아니라는 것이 밝혀졌습니다. 이것이 오늘 자료의 주제가 될 것입니다.

  1. 아이디어 또는 시나리오.
  2. 욕망과 인내.
  3. 게임 생성자.

그리고 성공의 처음 두 가지 구성 요소가 다소 명확하다면 세 번째 구성 요소에 대해 더 자세히 논의해야 합니다.

게임 빌더란?

우리는 게임 개발을 크게 단순화하여 프로그래밍 기술이 없는 사람들이 접근할 수 있도록 하는 프로그램에 대해 이야기하고 있습니다. Game Builder는 IDE, 게임 엔진 및 시각적 편집기처럼 작동하는 레벨 편집기( 위지위그- 영어. "What You See Is What You Get"의 약어).

일부 생성자는 장르(예: RPG, 아케이드, 퀘스트)에 따라 제한될 수 있습니다. 기타 다양한 장르의 게임을 설계할 수 있는 기능을 제공하는 동시에 초보 개발자의 상상력을 2D 게임으로 제한합니다.

이미 작성된 내용 만 읽은 후에도 OS Android를 포함한 모든 운영 체제 용 게임을 작성하기로 결정한 초보 개발자에게는 미래 프로젝트의 운명이 달려 있기 때문에 적합한 생성자를 선택하는 것이 주요 작업이라는 것이 분명해집니다. 이 도구의 기능 및 기능에 대해.

올바른 디자이너를 선택하는 방법

프로그래밍 분야에서 자신의 지식 수준을 평가하는 것부터 시작해야 합니다. 0이 되는 경향이 있거나 전혀 없는 경우 가장 간단한 옵션을 시도하는 것이 좋습니다. 필요한 영어 지식이 없더라도 자신에게 맞는 프로그램을 찾을 수 있습니다.

그리고 디자이너를 선택할 때 두 번째로 중요한 점은 기능입니다. 여기에서 프로젝트의 시나리오를 매우 정확하게 분석해야 합니다. 게임이 복잡할수록 게임을 만드는 데 각각 더 다양한 도구가 필요하고 디자이너에게는 더 강력한 도구가 필요하기 때문입니다.

선택을 돕기 위해 아래에서 최고의 프로그램 생성자에 대해 귀하의 관심을 끌 것입니다. 일반적으로 포럼이나 전문 사이트를 철저히 뒤져 본 귀하가 다른 것을 선택할 것이라는 사실을 배제하지 않습니다. 이 프로그램 범위는 상당히 넓습니다.

최고의 게임 빌더 탑 5

구성 2

이 응용 프로그램은 게임 디자이너 등급의 첫 번째 줄을 지속적으로 차지합니다. Construct 2를 사용하면 Android를 포함한 다양한 플랫폼을 위한 거의 모든 장르의 2D 게임은 물론 HTML5를 지원하는 브라우저용 애니메이션 게임을 만들 수 있습니다.

엄청난 수의 보조 도구가 주어지면 초보 사용자도 프로그램을 마스터할 수 있습니다.

Construct 2 작업을 마스터하기 위해 라이선스를 구입할 필요가 없습니다. 무료 무료 버전은 충분한 도구와 완성된 프로젝트를 일부 플랫폼으로 내보낼 수 있는 기능을 제공합니다. 그러나 완성된 제품을 모바일 플랫폼에 코딩하고 전체 기능에 액세스하면 129달러에 개인 라이선스가 제공됩니다. 게임 제작 기술이 절정에 이르렀고 이미 프로젝트에서 $5,000 이상의 수입을 받기 시작했다면 비용이 $429인 비즈니스 옵션을 선택해야 합니다.

이제 Construct 2를 사용하여 게임 응용 프로그램을 만드는 방법에 대한 몇 가지 실용적인 비디오 자습서를 시청하십시오.

클릭팀 퓨전

Clickteam Fusion은 초보자도 본격적인 게임을 만들 수 있도록 도와주는 훌륭한 본격적인 게임 빌더의 또 다른 예입니다. 이 프로그램은 생성된 애플리케이션을 완전히 무료로 HTML5 형식으로 내보낼 수 있는 기능을 제공합니다. 즉, 브라우저 게임을 게시하고 Google Play와 같은 다양한 모바일 시장에 게시하기 위해 변환할 수 있습니다.

주요 특징 중 인터페이스의 단순성, 셰이더 효과 및 하드웨어 가속 지원, 본격적인 이벤트 편집기의 존재, Android를 포함한 다양한 플랫폼과 호환되는 형식으로 프로젝트 저장에 주목할 수 있습니다.

이 프로그램의 유료 개발자 버전은 러시아 연방 거주자가 사용할 수 없지만 라이선스 디스크는 동일한 Amazon에서 주문할 수 있으므로 개인 예산을 평균 100달러 절감할 수 있습니다. 타사 Russifier를 통해 메뉴를 Russify할 수 있습니다.

응용 프로그램 작업 방법, 특별 비디오 과정 시청:

스텐실

Stencyl은 코드에 대한 특별한 지식 없이도 간단한 2D 컴퓨터 게임을 개발할 수 있게 해주는 또 다른 훌륭한 도구이며 모든 인기 있는 플랫폼을 위한 프로그래밍 언어입니다. 여기에서 블록 형태로 제공되는 스크립트 및 다이어그램으로 작업해야 하며 마우스로 개체 또는 특성을 끌 수 있어 매우 편리합니다.

프로그램 개발자는 또한 자신의 코드를 블록에 작성할 수 있는 기회를 제공하지만 이것은 물론 프로그래밍 분야에 대한 지식이 필요합니다.

뛰어난 그래픽 편집기 Scene Designer를 통해 사용자는 상상력을 발휘하여 게임 세계를 그릴 수 있습니다.

최적의 기능 세트는 다양한 장르의 고품질 게임을 만드는 데 도움이 되지만 가장 타일링된 Stencyl 그래픽은 슈팅 게임이나 RPG 게임과 관련이 있습니다.

이 프로그램은 무료로 배포되지만 데스크톱 형식으로 내보내려면 연간 $99의 구독료가 필요하며 모바일 게임 라이센스는 연간 $199입니다.

Stencyl 작업에 대한 특강 보기:

게임 메이커

이 프로그램은 유료 및 무료 버전으로 존재합니다. 예산 옵션을 사용하면 데스크톱용 견고한 2차원 게임을 만들 수 있습니다. 유료 버전을 사용하면 Windows, iOS 및 Android용 "멋진" 3D 장난감을 작성할 수 있습니다. 우리는 여전히 게임 산업에서 자신을 실현하는 방법을 배울 수 있는 무료 기회에 관심이 있으며 Game Maker는 장르 선택에 제한 없이 자신의 시나리오로 게임을 만들 수 있는 바로 그 옵션입니다.

이 프로그램은 미리 만들어진 위치 템플릿, 개체, 문자, 사운드 및 배경을 선택하여 제공합니다. 따라서 모든 창의적인 작업은 선택한 요소를 작업 영역으로 드래그하고 다른 개체와의 위치 및 상호 작용과 같은 조건을 선택하는 것으로 귀결됩니다. 프로그래밍 언어에 대한 지식이 필요하지는 않지만 "알고 있는" 사용자는 JS 및 C++와 유사한 GML을 사용할 수 있습니다.

게임메이커는 영어로 배포되기 때문에 잘 모르시는 분들은 크랙파일을 다운받으셔야 합니다.

이 프로그램에 관심이 있는 분들은 다음 교육 비디오를 시청하시기 바랍니다.

유니티 3D

Unity 3D는 아마도 고품질 3D 프로젝트를 만들기 위해 제공할 수 있는 가장 좋은 것일 것입니다. 완전히 완성된 모델은 텍스처와 스크립트뿐만 아니라 프로그램에 통합됩니다. 또한 사운드, 이미지 및 비디오와 같은 자신만의 콘텐츠를 추가할 수 있습니다.

Unity로 만든 게임은 iOS 또는 Android 모바일 장치에서 SMART TV 수신기에 이르는 모든 인기 플랫폼과 호환됩니다.

이 프로그램은 높은 컴파일 속도, 사용하기 쉬운 인터페이스, 유연하고 다기능적인 편집기가 특징입니다.

모든 게임 동작과 캐릭터의 동작은 PhysX의 건전한 물리적 코어를 기반으로 합니다. 이 게임 생성자에서 생성된 각 개체는 개발자가 직접 제어하는 ​​이벤트와 스크립트의 특정 조합입니다.

이 프로그램은 초보자를 위해 설계된 게임 디자이너로 자리 잡았지만 이 응용 프로그램을 사용하려면 일정 수준의 지식이 여전히 필요하다는 점을 이해하는 것이 중요합니다. 음, 3D 그래픽으로 작업하려면 하드웨어 비디오 카드가 장착된 최신 컴퓨터가 필요합니다.

Unity 3D로 게임을 만드는 방법에 대한 일련의 강의:

그래서 당신은 자신만의 독특한 게임을 만들고자 하는 꿈을 이루기로 결정했습니다. 이에 도움이 될 수 있는 정보를 제공하고자 노력하였습니다. 제시된 자료를 주의 깊게 읽고 각 프로그램에 대한 비디오 자습서를 최소한 간략하게 본다면 각 게임 디자이너와 작업하는 것이 동일한 원칙에 기반한다는 것을 알았을 것입니다. 따라서 귀하의 필요에 더 적합한 것을 선택할 수 있습니다. 적어도 이 단계에서 Android에서 게임을 만드는 방법에 대한 질문이 해결되길 바랍니다. 행운을 빌어요!

미래의 게임 개발자는 무엇을 고려해야 합니까? 배우기 시작하는 언어는 무엇입니까? 무엇을 위해 노력해야 할까요? 누구를 존경해야 합니까? 그리고 가장 먼저 해야 할 일은 무엇입니까?

대부분의 록 음악 애호가들은 조만간 기타를 잡습니다. 스포츠 팬들은 축구장, 농구 코트 또는 테니스 코트에 들어가는 것을 열정적으로 꿈꿉니다. 글쎄, GTA에서 수백 건의 하이재킹을 저질렀거나 컴퓨터 클럽에서 Counter-Strike를 플레이하며 수십 시간을 보냈거나 MMORPG에서 상당한 성공을 거둔 사람들은 아마도 게임 개발자로서의 경력에 ​​대해 생각하고 있을 것입니다.

문제는 이런 방향을 몇몇 교육기관에서 가르친다는 점이다. 따라서 대부분의 게임 개발자는 한때 커리큘럼을 직접 편집한 독학입니다. 그러나 그들은 어떤 뉘앙스를 고려 했습니까? 어디서 시작했고 무엇을 위해 노력했습니까? 처음에 어떤 언어를 배웠나요? 우리는 이러한 질문과 기타 관련 질문에 답하려고 노력했습니다.

무엇을 위해 노력해야 할까요?

가게에 가기 전에 쇼핑 목록을 작성합니다(적어도 머리 속으로). 도시의 다른 쪽 끝으로 여행하기 전에 - 경로를 배치하십시오. 음, 게임 개발 방법을 배우기 전에 스스로에게 물어보는 것이 좋습니다. 정확히 무엇을 하고 싶습니까? 모바일 앱이나 브라우저 게임을 만드시겠습니까? 큰 회사에서 일하세요 아니면 작은 회사에서 일하세요? 전문적으로 게임을 개발하고 싶습니까, 아니면 여가 시간을 여기에 바치고 싶습니까? 그리고 전자라면 인터페이스 생성, 게임 플레이 다듬기 또는 스크립트 작성 중 무엇이 더 흥미로울까요?

올바른 목표 설정을 하면 많은 시간과 노력을 절약할 수 있습니다. 또한 최단 경로로 최종 목적지에 도달할 수 있습니다. 길을 벗어나거나 늪에 빠질 위험이 없습니다.

어떤 언어를 배울까요?

또한 불타는 질문에 대한 대답은 목표에 따라 다릅니다. 어떤 프로그래밍 언어로 시작해야 합니까?

따라서 Minecraft 및 Android 모바일 애플리케이션과 같은 게임의 미래 개발자는 Java에 세심한 주의를 기울여야 합니다. 우선, 특히 무료이기 때문에 집중적으로 진행하는 것이 좋습니다. iOS를 지향하는 사람들을 위해 - Objective-C에서. 브라우저 게임의 경우 때때로 Ruby-On-Rails에 대한 지식으로도 충분합니다. 아주 작고 단순한 시간에는 HTML이면 충분합니다. 플래시 게임 제작은 ActionScript를 사용하며 복잡한 스크립트를 작성하려면 JavaScript 또는 일반적이지 않은 Lua가 필요합니다. 작은 콘솔 게임을 만들려면 C#에 대한 지식이 필요합니다.

가장 큰 예산 게임 (소위 AAA 클래스)의 경우 대부분 자체적으로 장착되거나 동료 "엔진"에서 빌립니다. 그러나 종종 전체 "엔진" 또는 대부분이 C++로 작성됩니다. Doom 3 및 Call Of Duty에서 FIFA 및 The Sims에 이르기까지 많은 유명한 "장난감"을 만드는 데 사용된 것은 바로 이 언어였습니다. 반면 Quake와 같은 고전은 C로 작성되었습니다.

그러나 C++ 마스터링에는 과도한 복잡성이라는 문제가 있습니다. 다른 언어를 모르고 C++를 배우는 것은 수학 공부를 선형 방정식으로 시작하는 것과 같다고 말하는 것도 당연합니다.

하나의 언어로 충분합니까?

프로그래밍의 아름다움 중 하나는 끊임없는 자기 개발의 가능성입니다. 게임 (특히 대형 게임) 개발에서 가능한 한 많은 언어 학습을 포함한 자기 개선은 변덕이 아니라 필수입니다. 따라서 게임 산업의 거대 기업을 위해 일하는 숙련된 개발자는 종종 7-8개 언어로 번갈아 작성해야 할 필요성에 직면합니다. 동시에 위의 언어 외에도 예를 들어 Python 또는 SQL(이해하듯이 데이터베이스 생성)을 배워야 합니다.

따라서 자신의 운명을 대형 게임 제작에 묶기로 결정했다면 "다국어"가 될 준비를 하십시오. 또한 더 많은 언어를 마스터할수록 더 흥미롭고 다양한 작업에 직면하게 됩니다. 물론 꿈의 직업을 얻을 가능성이 크게 높아질 것입니다.

어디서부터 시작해야 할까요?

세계 일주를 하기 전에 걷는 법을 배워야 합니다. 글쎄요, 진지한 게임 프로젝트를 시작하기 전에 덜 중요한 것을 시도해야 합니다.

레 갈리아와 재능에 관계없이 거의 모든 숙련 된 개발자는 보드 게임, 유명한 "장난감"의 변형, 간단한 "플래시 드라이브"와 같은 작은 응용 프로그램으로 시작했습니다. 그리고 그들은 E3와 같은 주요 전시회에 대해 생각하지 않고 귀중한 경험을 축적했습니다. 그들의 모범을 따르지 않는 이유는 무엇입니까? 이 경우 복잡한 코드를 작성할 필요가 없습니다. 데뷔의 경우 게임 제작을 위한 특수 프로그램(예: Game Maker)을 사용하는 것으로 충분합니다. 결국 간단한 툴킷으로도 삶을 크게 촉진시킬 것입니다. 첫째, 거의 모든 게임 애플리케이션의 논리와 구조를 미니어처로 이해할 수 있습니다. 둘째, 심각한 프로젝트로 전환하는 동안 치유될 충돌을 채울 것입니다. 마지막으로 셋째, 포트폴리오를 풍부하게 합니다. 결국 단순한 "장난감"이라도 개념을 제시하고 코드를 작성하고 버그를 수정하려면 많은 시간과 인내, 창의성이 필요합니다. 또한 건식 이론뿐만 아니라 게임 제작에 익숙하다는 것을 보여줍니다.

무엇을 지침으로 삼을 것인가?

작가를 꿈꾸는 사람이라면 누구나 한 단어를 쓰기 전에 수백 권의 책을 읽을 것입니다. 피아노 마스터는 Strauss, Chopin 및 Beethoven의 최고의 작품을 마음으로 알고 있습니다. 잘 알려진 예술가들은 주요 전시 전에 미술사를 암기했습니다.

게임 개발에도 동일한 원칙이 적용됩니다. 진공 상태에서는 개발할 수 없습니다. 따라서 플레이하고 마스터에게 영감을 받고 스펀지처럼 최고의 것을 흡수하십시오. 동시에 "게이머"의 눈이 아니라 개발자의 눈을 통해 응용 프로그램을 보도록 노력하십시오. 즉, 게임을 바꾸십시오. 이 시점에서 "봇"이 뒤로가 아니라 왼쪽으로 실행된 이유를 생각해 보십시오. 스포츠 시뮬레이터에서 스트라이크의 강도와 정확도를 변경하는 요인은 무엇입니까? 캐릭터가 오랫동안 달릴 때 "피로 효과"를 만드는 방법은 무엇입니까? 비가 내리는 동안 플레이어가 돼지 비명 소리가 아닌 방울 소리를 듣도록 만드는 방법은 무엇입니까? 기본적으로 요점을 파악하십시오. 게임 중에 만나는 알고리즘을 머릿속에서 다시 만들어보십시오. 저를 믿으세요. 그러한 건설적인 접근 방식은 미래에 게임 개발자로서 어렵지만 흥미진진한 경력을 쌓는 데 도움이 될 것입니다.

자율교육기관

고등 전문 교육

“Leningrad State University는 A.S. 푸쉬킨"

복시토고르스크 연구소(지점)

대학

프로젝트 대상:

« 컴퓨터 게임»

완성자: 학생 3 그리고 여러 떼

스페셜티 230701

응용 정보학

산업별 /__________/ N.A. Gladyshev

확인:

모듈 교사

오후 04. 디자인 보장

활동 /___________/ I.V. Dobryakova

복시토고르스크, 2015콘텐츠

단계

주제 선정 및 문제 제기

1단계. 주제 선택

II단계

개체 분석

III단계

시나리오 개발 및 모델 합성

IV단계

기술 및 정보 제공 형식

V단계

컴퓨터 모델의 합성

2단계. 멀티미디어 제품 제작

VI단계

프로젝트 작업

애플리케이션

단계. 주제 선정 및 문제 제기

1단계. 주제 선택

오늘날의 컴퓨터화 속도는 다른 모든 산업의 발전 속도를 능가합니다. 오늘날 대기업은 말할 것도없고 단일 중견 기업도 컴퓨터와 컴퓨터 네트워크 없이는 할 수 없습니다. 현대인은 직장, 집, 자동차, 심지어 비행기에서도 끊임없이 컴퓨터와 상호 작용합니다. 컴퓨터는 빠르게 인간의 삶에 뿌리를 내리고 우리의 마음 속에 자리 잡고 있습니다. 컴퓨터의 출현과 함께 컴퓨터 게임이 등장하여 즉시 많은 팬을 찾았습니다. 이 게임은 어린 시절부터 젊은 세대를 동반하여 한편으로는 발달 속도가 느려지고 근골격계와 근육이 위축되며 다른 한편으로는 사람의 지능, 논리적 사고 및 상상력이 빠르게 발전합니다. . 컴퓨터 플레이어는 한 가상 세계에서 다른 가상 세계로 이동하는 데 익숙해지고 익숙하지 않은 상황을 빠르게 인식하고 적응합니다. 급변하는 21세기 사회에서 발전된 지적 유연성은 새롭고 예상치 못한 현실에 적응할 수 있도록 보장할 것입니다. 따라서 컴퓨터 게임은 탈산업사회에서 청소년 사회화의 기능을 수행한다.

현재까지 훌륭한 그래픽과 사운드 디자인으로 거의 완전히 삶을 모방하는 놀랍도록 믿을 수 있는 게임이 있습니다. 매우 다양한 성격의 점점 더 많은 게임을 제공하는 수많은 회사가 있으며 지속적으로 등장하고 있습니다. 그들의 분류를 이해하는 것은 매우 어렵고 현대 게임 가격 정책에서는 더욱 그렇습니다. 이로 인해이 프로젝트 개발을 시작하게되었습니다.

내 프로젝트의 목표:

    컴퓨터 게임의 기원에 대한 역사를 공부합니다.

    컴퓨터 게임 분류에 대해 알아보십시오.

    "전략"장르의 게임에 대해 알아보십시오.

2단계. 문제 진술

앱으로마이크로소프트사무실"컴퓨터 게임" 주제로 멀티미디어 프로젝트를 개발합니다. 이 프로젝트에서는 컴퓨터 게임의 출현 역사와 분류를 소개하고 "전략"장르의 게임에 대해 자세히 설명하는 프레젠테이션을 만들어야합니다. 화면 보호기에서 데이터베이스를 호출하면 다양한 장르의 컴퓨터 게임에 대한 가격 정책이 표시됩니다. 이 프로젝트에는 컴퓨터 게임 개발의 정의, 분류 및 역사가 포함된 소책자가 포함될 것입니다.

II 단계. 개체 분석

작업에 따라 네 가지 개체를 구분할 수 있습니다.마이크로 소프트 파워 포인트, 프레젠테이션마이크로 소프트 파워 포인트, MicrosoftPublisher의 소책자 및 데이터베이스의 데이터베이스입장. 이러한 개체는 서로 관련이 있어야 합니다. 직접 애플리케이션 호출을 우회하기 위해 애플리케이션에 프로젝트를 설치합니다.마이크로 소프트 파워 포인트 .

프레젠테이션이 MicrosoftPowerPoint에서 호출되는 링크로 M의 소책자마이크로소프트게시자 및 데이터베이스입장화면 보호기 개체를 선택합니다. 여기서 프로젝트가 시작됩니다.

선택한 개체를 특징 짓는 속성을 고려하십시오.

화면 보호기

문서

프레젠테이션

작은 책자

데이터 베이스

그림 1. 프로젝트 "컴퓨터 게임"의 모델 계획

표 1. "컴퓨터 게임" 프로젝트의 개체.

화면 보호기 개체

데이터베이스 객체

프리젠테이션 객체

개체 소책자

텍스트 문서 개체

1. 프로젝트에 대한 일반적인 정보를 포함합니다.

2. 프레젠테이션을 불러옵니다.

3. 데이터베이스를 호출합니다.

4. 소책자.

5. 텍스트 문서.

1. 정보 불러오기: 게임 장르, 연령대별 인기도,

컴퓨터 게임의 가격.

1. 컴퓨터 게임의 분류를 소개합니다.

2. "전략" 장르의 게임을 자세히 보여줍니다.

1. 컴퓨터 게임에 대한 완전한 정보가 담긴 소책자를 제공합니다.

1.멀티미디어 프로젝트의 6단계를 소개합니다.

시작 화면은 다른 개체로 이동하는 간단한 개체입니다.

개체 구성표 프레젠테이션은 그림 2에 나와 있습니다. 이 구성표에서 선택한 개체의 속성은 표 2에 나와 있습니다.

컴퓨터 게임


"컴퓨터 게임"의 개념


전략


카드 전략

턴 전략

실시간 전략

신 시뮬레이터

글로벌 전략

전쟁 게임

고전적인 전략


서지


그림 2. 프로젝트 "컴퓨터 게임"의 개체 프레젠테이션 계획.

표 2. "컴퓨터 게임" 프로젝트 프레젠테이션의 대상.

컴퓨터 게임

컴퓨터 게임의 분류

전략

1. "컴퓨터 게임"의 개념으로 전환합니다.

2. 인간의 삶에서 게임의 역할을 드러냅니다.

1. 다양한 장르의 컴퓨터 게임에 대한 정보를 보여줍니다.

2. 게임 장르 "전략"으로 전환

1. 다양한 유형의 전략에 대한 간략한 정보 시연을 수행합니다.

2. 콘텐츠로 돌아갑니다.

데이터 베이스


게임 세계

계략

매상

그림 3. 개체 체계 "컴퓨터 게임" 프로젝트의 데이터베이스.

표 3. 개체"컴퓨터 게임" 프로젝트의 데이터베이스.

게임 세계

계략

매상

1. 다양한 장르의 게임에 대한 가격 정책을 공개합니다.

2. 판매 통계를 호출합니다.

1. 게임에 대한 정보를 봅니다.

2.인기 장르 보기

1. 판매 통계를 봅니다.

작은 책자


컴퓨터 게임


도박 중독의 단계


사람에게 미치는 영향


개념

장르

그림 4. "컴퓨터 게임" 프로젝트 소책자의 개체 구성표.

표 4. 소책자 "컴퓨터 게임"의 대상.

개념

장르

사람에게 미치는 영향

도박 중독의 단계

컴퓨터 게임의 이점과 해악

1. "컴퓨터 게임"의 개념 확장

1. 다양한 게임 장르 소개

1. 롤 플레잉 컴퓨터 게임에 대한 사람의 심리적 의존성을 드러냅니다.

1. 컴퓨터 중독 발전의 역학을 밝힙니다.

1. 컴퓨터 게임의 모든 장단점을 설명합니다.

III 단계 . 시나리오 개발 및 모델 합성

고려 대상의 분석을 기반으로 멀티미디어 프로젝트에 대해 다음과 같은 시나리오를 제안할 수 있습니다. 컴퓨터 게임 프로젝트 작업은 주제에 대한 간략한 정보가 포함된 시작 화면으로 시작됩니다. 스플래시 화면에는 4개의 종료가 있어야 합니다. 하나는 프레젠테이션 보기, 두 번째는 데이터베이스, 세 번째는 소책자, 네 번째는 이 문서입니다. 데이터베이스에는 관심 있는 청중을 알 수 있는 정보가 포함되어야 합니다.다양한 장르의 컴퓨터 게임 판매 분야의 가격 정책. 프레젠테이션에는 컴퓨터 게임에 대한 기본 정보가 포함되어야 합니다. 소책자는 컴퓨터 게임이 다양한 연령대의 사람들에게 미치는 영향에 대한 정보를 포함해야 합니다.

화면 보호기

문서

프레젠테이션

작은 책자

데이터 베이스

컴퓨터 게임

도박 중독의 단계

개념

계략

게임 세계


장르

컴퓨터의 이익과 해악계략

사람에게 미치는 영향

매상


컴퓨터 게임


인간의 삶에서 컴퓨터 게임의 역할

"컴퓨터 게임"의 개념


컴퓨터 게임의 분류

전략


고전적인 전략

신 시뮬레이터

글로벌 전략

전쟁 게임

카드 전략

턴 전략

실시간 전략


서지

그림 5. 프로젝트 "컴퓨터 게임"의 모델 계획.

IV 단계. 기술 및 정보 제공 형식

이 프로젝트에서 정보는 이 주제의 개체에 대한 정보가 있는 슬라이드인 정보 콘텐츠의 형태로 가장 잘 표현됩니다. 프레젠테이션은 단추를 사용하여 대화식으로 수행하는 것이 가장 좋습니다. 음악 반주와 함께 발표 과정을 정리하는 것이 바람직합니다. 프로젝트 개발에 필요한 소프트웨어 제품으로 PowerPoint를 사용하여 프레젠테이션을 만드는 것이 가장 좋습니다.

V 단계. 컴퓨터 모델의 합성

1 단계. 작업 재료 준비

제안 된 디스크에는 모든 그래픽 및 텍스트 정보가 포함되어 있으므로 사용 가능한 경우 준비 프로세스를 사운드 반주 작업으로 줄일 수 있습니다.

반주를 준비하려면 Wind의 표준 축음기를 사용할 수 있습니다.영형ws 95. PowerPoint 응용 프로그램에서 SoundTrack을 사용할 수 있는 경우 PowerPoint 응용 프로그램 자체에서 주어진 주제에 대한 음악 반주를 만들 수 있습니다.

2단계. 멀티미디어 제품 제작

데이터베이스 생성

프로젝트의 이 부분에 대한 다이어그램은 위의 그림 3을 참조하십시오.

데이터베이스를 만들 때 다음 섹션을 만드는 데 필요한 생성자를 사용할 수 있습니다.

    테이블;

    요청;

    양식;

    보고합니다.

이 섹션은 필수 정보로 작성해야 합니다. 편집 후 데이터베이스를 악용할 수 있습니다.

프레젠테이션 만들기

이 단계에서 프레젠테이션을 구현하고 PowerPoint 응용 프로그램을 기반으로 하는 프로젝트 부분의 체계가 고려됩니다. 이 부분의 작업 순서는 중요하지 않습니다. 프레젠테이션의 모든 부분으로 이동할 수 있는 버튼이 제공되기 때문입니다. 프로젝트의 이 부분에 있는 개체는 컴퓨터 그래픽 개발을 설명하는 슬라이드입니다.

시작 화면 만들기

PowerPoint 응용 프로그램을 기반으로 프로젝트의 시작 화면을 만듭니다. 스플래시 화면의 일반적인 모습은 그림에 나와 있습니다. 1. 시작 화면에는 프로젝트에 대한 간략한 정보가 포함되어 있으며 다음을 제공합니다.

    프리젠테이션 콜;

    데이터베이스로의 전환;

    소책자 호출;

    문서 통화.

VI 단계. 프로젝트 작업

이전 단계에서 "컴퓨터 게임"프로젝트 생성 작업이 완료되었습니다. 생성 된 프로젝트의 기회 및 작업 원칙. PowerPoint가 시작되면 시작 화면이 화면에 나타납니다. 화면 보호기에서 프레젠테이션을 호출하고 프레젠테이션에서 제공되는 자료를 볼 수 있으며 사운드트랙을 켤 수 있습니다. 프레젠테이션을 마친 후 스플래시 화면으로 이동하여 다양한 장르의 컴퓨터 게임에 대한 가격 정책 및 판매 통계를 소개하는 데이터베이스를 입력하십시오. 데이터베이스 작업을 마치면 시작 화면으로 이동하여 소책자를 볼 수 있습니다.

애플리케이션

작은 책자

프레젠테이션

데이터 베이스

화면 보호기

게임 개발이 진행 중이며 유망하고 인기를 얻고 있습니다. 게임 개발을 배우는 경로에 대한 자세한 인포그래픽을 준비했습니다.

게임 개발과 관련된 많은 영역이 있으며 각 학습 단계는 이전 단계를 기반으로 합니다. 예를 들어 게임 엔진으로 즉시 이동해서는 안 됩니다. 소프트웨어 개발로 시작하여 게임 프로그래밍을 위해 수학을 공부하고 나서야 게임 개발로 넘어갑니다. 제시된 각 단계는 책 및 기타 자료를 포함하는 단계별 가이드입니다.

0. 어린이용 게임 개발

많은 책들이 ScratchJr를 포함하여 아이들을 위한 전설적이고 직관적인 Scratch 개발 환경에 초점을 맞추고 있습니다. 기본 다음에는 Python Pygame에 대한 정보가 제공됩니다. 5세용 책도 있지만 대부분 8세 이상에게 적합한 책이다.

1. 컴퓨터 과학

이론적 단조는 필수 구성 요소이며 추가 연구가 의미가 없습니다. 이 교육 문헌 선택에는 컴퓨터 과학을 공부하는 맥락에서 알고리즘 및 수학에 대한 기초, 정보가 포함됩니다.

2. 프로그래밍 언어

컴퓨터 언어로 말하는 것은 쉽지 않지만 가능합니다. 그리고 그러한 방법이 많이 있습니다. 예를 들어 C 언어는 널리 사용되는 C#, C++ 및 Java와 구문을 공유함으로써 소프트웨어 산업에 상당한 영향을 미쳤습니다. C++는 효율적인 프로그램과 소프트웨어 패키지를 만들기 위한 강력한 언어입니다. 또한 많은 사람들이 C#으로 게임을 작성합니다. 이 언어는 똑똑하고 편리하며 개발을 더 빠르게 시작할 수 있습니다.

그러나 Lua는 C++에서 무언가를 채택했습니다. 스크립팅 언어는 게임 로직에 좋습니다. 이를 통해 레벨 초기화, 작업을 개체에 바인딩, 프로젝트를 다시 컴파일할 필요 없이 대화식으로 NPC 동작 변경 등을 더 쉽게 수행할 수 있습니다.

3. 애플리케이션 생성

그리고 컴퓨터 과학이 이론적 기반이라면 여기에 더 많은 실습이 있습니다. 게임 개발은 험난한 길이고 앱이 시작하기에 가장 좋은 곳입니다. 실용적인 작업이 포함된 책과 패턴 및 UML에 대한 정보는 무엇이 무엇인지 파악하는 데 도움이 됩니다.

4. 게임 개발을 위한 수학

아니오, 대수학과 기하학에 대한 학교 과정은 없을 것입니다. 선택은 게임 개발 분야의 수학의 기초와 고급 수준으로 나뉩니다.

5. 게임 프로그래밍

하드웨어 플랫폼, 운영 체제, API 세트, 알고리즘, 크로스 플랫폼 및 개발 중인 게임의 기반을 형성할 기타 중요한 측면. 이 책은 프로그래밍에 대한 유용한 정보가 포함된 여러 gamedev 기사로 보완됩니다.

6. 게임 엔진 개발

엔진은 기능과 필요한 도구를 "업로드"하는 게임의 핵심입니다. 첫 번째 책에서는 건축과 디자인을 소개합니다. 또한 "게임 엔진"은 기사 형태의 도구, 최적화, 스크립트 및 추가 자료로 나뉩니다. 아는 동안 패턴, 알고리즘 트릭, Unity의 최적화 및 기타 뉘앙스가 영향을 받습니다.

7. 컴퓨터 그래픽

예, 콘텐츠도 중요하지만 사용자가 보게 될 애플리케이션 인터페이스와 유사한 것은 컴퓨터 그래픽입니다. 따라서 특별한 주의를 기울여야 합니다.

이 섹션이 가장 큰 것은 당연합니다. 여기에는 Real-Time 3D, DirectX 및 OpenGL을 사용한 프로그래밍의 기본 사항이 포함됩니다. 모든 것은 렌더링 및 기술에 대한 정보로 보완됩니다. Direct3D 및 OpenGL은 선택에서 특별한 관심을 받았습니다.



8. 게임 오디오

게임 개발은 오디오에 관한 것이기도 합니다. NPC, 주인공, 현상 또는 사물, 음악이 내는 소리입니다. 오디오 프로그래밍은 책 두 권에 불과하지만 필요한 정보를 접근 가능한 방식으로 제공합니다.

9. 게임 물리 및 애니메이션

가장 어려운 단계 중 하나입니다. 소프트웨어 기반과 그림 외에도 이 모든 것이 상호 작용하는 법칙이 있어야 합니다. 게임 물리학 및 애니메이션 프로그래밍은 17권의 책에서 다룹니다. 액체의 모방에 의해 별도로 영향을 받습니다.

10. 게임 인공지능

컴퓨터 제어 캐릭터가 많이 있습니다. 폭도, 퀘스트 제공자, 심지어 일반 체스가 될 수 있습니다. 풍부한 책을 통해 AI의 원리를 이해할 수 있습니다. 아래는 주제별 유용한 기사 목록입니다.

11. 멀티플레이어 게임 프로그래밍

싱글 플레이어 게임 개발은 멀티플레이어 옵션과 매우 다릅니다. 여기에서 연결, 스레드 작업 및 기타 뉘앙스를 고려해야 합니다. 선택은 서버 프로그래밍, 네트워크 프로그래밍 및 네트워크 프로토콜에 대한 기사와 책으로 나누어졌습니다.

예산 없이 처음부터 일주일 만에 RPG 게임을 개발하는 방법. 1부

일주일만에 RPG? 기스로부터? 심지어 가능합니까?
나는 위험을 감수했고 해냈습니다.

인터넷은 소규모 독립(indi) 게임 개발자가 사용할 수 있는 정보 리소스로 가득 차 있습니다. 그런 공개 포럼에서 논쟁을 벌이던 중, 저는 경솔하게도 Windows가 새로 설치된 컴퓨터와 좋은 인터넷 연결이 있는 컴퓨터에 일주일의 시간이 주어진다면 비용을 들이지 않고 괜찮은 게임을 만들 수 있다고 불쑥 말했습니다. 그것에 한 푼. 아니요, 확실히 Halo 2 또는 이와 같은 수준의 무언가와 경쟁할 수는 없지만(이런 게임을 일주일 안에 만들 수 있다면 오래 전에 직장을 그만 두었을 것입니다) 흥미롭고 플레이 가능합니다.

월간 Game of the Day Game Reviews(www.gameinaday.com)의 저자인 Tom Bampton은 다음과 같이 말했습니다. 그런 다음 그는 추가 조건을 추가했습니다. 기존 게임 엔진을 사용하지 않고 이 작업을 수행해야 합니다. 핵심 라이브러리/API만 사용할 수 있습니다.

처음에 나는 이 생각을 포기했다. 현재 직장에서 진행 중인 게임 프로젝트의 개발을 일주일도 쉬기에는 시간이 너무 없었습니다. 하지만 저는 생각했습니다. 일주일이 무엇입니까? EA와 같은 일반적인 회사에서는 주당 근무 시간이 40시간입니다. 그렇다면 일주일이 아닌 40시간의 깨끗한 시간 안에 게임을 만드는 것은 어떨까요? 이미 더 현실적이지만 다른 Tetris나 Arkanoid를 만들고 싶지 않았습니다. 그리고 가장 어려운 게임 장르 중 하나인 롤플레잉 게임은 어떻습니까? 가능합니까?

나는 그것이 매우 어려울 것이라는 것을 알고 있었다. 그러나 나는 그 도전을 받아들였다.

또한 내가 무엇을 어떻게 하는지, 개발 진행 상황을 자세히 적어두었습니다. 나는 그것이 게임 개발자들에게 흥미로울 것이라고 생각했습니다. 아니면 적어도 내가 갑자기 실패하면 진흙탕에서 어떻게 얼굴을 땅에 떨어뜨렸는지에 대한 재미있는 기록을 얻을 수 있을 것입니다. 내가 생각해낸 것이라고는 시간당 활동에 대한 장황하고 장황한 기록뿐이었습니다. 독서가 지루함을 유발하지 않는 방식으로 바꾸려고 노력했습니다. 그것이 어떻게 일어 났는지 스스로 판단하십시오.

그래서 여기 제가 처음부터 일주일 만에 예산 없이 게임을 만든 방법이 있습니다. 읽기에 너무 게을러서 이야기의 끝으로 빠르게 이동하여 최종 제품이 어떻게 생겼는지 확인하고 모든 버그를 보려면 여기에서 게임의 Windows 버전을 다운로드할 수 있습니다. http://www .rampantgames.com/hackenslash.html

계획
표적
The Temple of Apshai, Ultima III, Telengard와 같은 하향식 보기가 포함된 80년대 초반의 오래된 게임 스타일로 구식 RPG를 만드세요. 플레이어는 "검과 마법"으로 다양한 몬스터와 싸우며 일반적인 던전의 방을 이동합니다. 점차적으로 그는 경험치 획득, 레벨 업, 마법 장비 획득을 통해 능력을 향상시킬 것입니다.

그러나 게임은 단순한 전투 그 이상으로 구성될 것입니다. 플레이어는 또한 몬스터를 몰래 지나갈 수도 있고 그들과 협상할 수도 있습니다. 잠긴 문과 상자, 예상치 못한 효과가 있는 독특한 던전 기능이 있습니다. 게임에는 긴 설명이나 대화가 없습니다. 대부분 일반적인 핵 앤 슬래시가 될 것입니다. 최종 보스를 상대할 수 있을 만큼 강해질 때까지 길을 따라가며 퀘스트를 완료하고 안전하게 집(시작 방)으로 돌아갑니다.

개발 규칙

규칙 #1: 개발 시간은 1주일로 제한됩니다(40시간 포함).
게임 개발에 소요되는 시간은 총 40시간을 넘지 않아야 합니다. 여기에는 실제로 게임에서 작업하고 그것에 대해 생각하는 데 소요되는 시간이 포함됩니다. 10분을 초과하는 개발 휴식 시간은 계산되지 않습니다. 이것은 40시간의 고성능 시간으로 이루어진 "완벽한" 주간 근무일 것입니다.

완전한 기능을 갖춘 알파 버전은 40시간 안에 만들어질 것입니다. 게임의 최종 디버깅, 배포를 위한 설치 프로그램 생성과 같은 추가 마무리는 고려되지 않으며 이 단계에서 새로운 기능이 추가되지 않습니다. 개발 프로세스의 문서화도 고려되지 않습니다.

규칙 #2: 무료 도구만 사용
Windows 설치와 함께 제공되는 소프트웨어를 제외하고 가능한 오픈 소스인 무료 소프트웨어만 사용됩니다. 이것의 요점은 게임을 개발하는 데 값비싼(심지어 값싼) 도구가 필요하지 않다는 것을 보여주는 것입니다. 스캐너, 마이크, 디지털 카메라와 같은 장비는 이 규칙의 영향을 받지 않습니다. 장비가 없는 경우 다른 사람에게 빌릴 수 있다고 가정합니다.

규칙 #3: 엔진 없음, 표준 라이브러리/API만
게임은 기존 게임 엔진을 사용하지 않고 "처음부터" 만들어야 합니다. 게임 디자이너를 사용하거나 유사한 소프트웨어를 사용하여 부정 행위를 하거나 게임 또는 그 일부를 만들 수 없습니다.

도구
암호:

파이썬 2.3(http://www.python.org/)
파이썬 승리
파이게임(http://www.pygame.org/)
Py2exe - 배포용 실행 파일로 컴파일합니다. (http://starship.python.net/crew/theller/py2exe/)

김프 2.0(http://gimp-win.sourceforge.net/)
MS 그림판(Windows와 함께 제공되는 것) - PrintScreen 키로 캡처한 스크린샷 붙여넣기(GIMP는 어떤 이유로 이 작업을 거부함)
무료 텍스처는 (http://www.textureartist.net/textures/index.htm) 및 (http://www.mayang.com/textures/)에서 가져왔습니다.

Audacity(http://audacity.sourceforge.net/)와 내 마이크 또는 무료 마이크.

작업 일정(계획)
일정은 나중에 깨지도록 만들어지지만 진행 상황과 라인을 제어하고 필요에 따라 조정하는 데 여전히 필요합니다.

시간 1-10: 기본 아키텍처
엔진 설계 및 주요 구성 요소. 화면에 세상을 표시하십시오. 테스트 플레이어를 전 세계로 이동하고 사물을 살펴본 다음 발생한 일을 게임 편집기로 전환하는 기능을 구현해야 합니다.

11-20시간: 플레이어 옵션
플레이어를 위한 모든 주요 기능 구현 - 이동, 공격, 문 열기, 죽음, 물건 집기 및 인벤토리 사용. 플레이어가 세계와 상호 작용하는 능력을 테스트하기 위해 환경에 있는 모든 개체의 와이어프레임 표현을 만듭니다.

21-30시간: 세계 활성화
인공 지능, 게임 이벤트, 함정, 특수 효과를 추가합니다. 이 기간이 끝나면 게임의 모든 주요 기능을 포함하여 상당히 완전한 기술 데모가 있어야 합니다.

31-40시간: 콘텐츠 및 규칙 추가
테크노 데모에서 본격적인 게임을 즐기십시오. 모든 추가 콘텐츠를 추가합니다. 게임 메커니즘의 완성도와 균형을 달성합니다. 충분한 시간이 있는 모든 것을 다듬고 특수 효과, 애니메이션 등을 추가합니다.

40시간 후: 게임 테스트 및 출시
발견된 오류를 테스트하고 수정합니다(새로운 기능을 추가하지 않고!). 모든 것을 모아서 인터넷에 올립니다. 완전한 문서.

Hackenslash Dev Diary: 금주의 게임

1시간 - 와일드 디자인 및 기본 클래스
이 시간은 게임을 위한 몇 가지 기본 클래스를 만들고 추가 디자인에 사용하는 데 사용되었습니다. 세계는 포털로 연결된 일련의 방으로 표시됩니다. 옛날 어드벤처 게임이나 MUD에서처럼 세상의 모든 것은 방을 기반으로 합니다. 게임에 있는 대부분의 개체는 위치와 콘텐츠가 있는 "게임 개체"로 표시됩니다(다른 개체도 포함할 수 있음 - 지도에는 방이 포함될 수 있고 방에는 상자가 포함될 수 있으며 상자에는 검이 포함될 수 있음). . 그리고 나는 검이 여러 개의 방을 포함할 수 있다고 생각하지만, 우리는 이것을 하지 않을 것입니다.)

생물(생물)과 플레이어(플레이어) 개체를 생성합니다.
생물에 대한 일련의 속성을 생성하고 클래스에 주입하고 있습니다. 분명히 나는 ​​RPG 게임을 너무 많이 하는 괴짜입니다. 아직 게임 메커니즘이 어떻게 보이고 작동하는지 정확히 알지 못합니다.
GameObject에서 상속되는 방 개체를 만들고 있습니다. 방에는 너비, 높이 및 벽이 있으며 현재로서는 다른 것이 없습니다.

점차적으로 나는 모든 것이 어떻게 작동하는지 이해하기 시작하고 필요한 수정을 합니다. 나는 이 단계에서 PyGame을 사용하려고 시도조차 하지 않고 있으며 프로그램은 콘솔 외에는 아무것도 표시하지 않습니다. 그러나 나는 지금까지 이루어진 모든 것이 큰 발전이라고 생각합니다!

2시간 - 파이게임 101
이 시간의 목적은 PyGame을 초기화하고 화면에 적어도 무언가를 그리기 시작하는 것입니다. 사실 나는 PyGame이나 SDL에 대한 경험이 거의 또는 전혀 없기 때문에 거기에 무엇이 있고 어떻게 있는지 알아내려고 PyGame 문서를 읽는 데 대부분의 시간을 보냅니다.

이 시간은 검은색으로 채워진 빈 화면을 표시하는 프로그램으로 끝납니다. 인상적이지 않습니다. 사실, 이 창 뒤에는 많은 것이 있습니다. 게임 루프, 프레임 전환, 여러 클래스 호출 및 많은 유휴 스텁이 있습니다. 그러나 그것은 검은 화면을 더 이상 인상적으로 만들지 않습니다.

3시간 - 벽에 귀가 있다면 강하게 꾸짖겠습니다.
이 시간의 목적은 벽이 있는 방의 윤곽을 정의하고 이를 검은 화면에 표시하는 것입니다. 이렇게 하려면 공간이 필요하고 그래픽이 필요합니다. 인터넷에서 다운로드한 텍스처를 편집하여 적합한 타일로 바꾸려면 김프에서 많은 시간을 보내야 합니다. 텍스처 관리자 클래스를 만들고 있습니다. 그리고 샘플실 구조를 채웁니다. 또한 작업을 더 쉽게 만드는 데 사용할 수 있는 다른 것을 찾기 위해 PyGame 문서를 살펴보는 데 조금 더 시간을 보냈습니다.

시간이 지났습니다. 나는 여전히 같은 검은 화면을 가지고 있습니다. 벽도 없었고요.

4시간 - 호텔에 무료 객실이 있습니다.
몇 가지 구문 오류로 어려움을 겪은 후 마침내 벽이 화면에 나타나도록 할 수 있었습니다. 사실, 잘못 표시되고 표시된 위치에 없으며 세그먼트 사이에 슬롯이 있습니다. 끔찍하다. 하지만 약간의 조정과 편집을 통해 화면에 10 x 10 정사각형의 방처럼 보이는 것을 얻었습니다.

자세한 프로젝트 계획이 없으면 특정 작업을 완료했을 때 혼란스러워하고 "다음은 무엇입니까?"라고 궁금해하기 쉽습니다. 한 방을 그리는 것이 좋다면 두 방을 그리는 것이 두 배 더 좋다고 결정했습니다.

생성된 방을 저장하기 위해 "미니던전" 파일을 생성했습니다.
"포털"에 대한 논리를 추가하기 시작할 것입니다. 다른 방으로 갈 수 있는 벽의 개구부(및 인접한 방을 올바르게 표시하는 데 필요한 모든 오프셋 정보 제공).

5시간 - Hackenslash에 더 많은 방 확보

창 제목을 "Hackenslash!"로 변경했습니다. 멋지기 때문에.
방을 저장하는 개체 맵과 여러 맵이 포함된 MapMaster 클래스를 만들었습니다.
두 번째 방을 추가하고 포털을 통해 첫 번째 방에 연결했습니다.
인접한 방은 포털을 통해 현재 방과 연결되어 화면에 표시됩니다.
부분적으로 창 너머로 확장되는 벽이 올바르게 표시되도록 일부 클리핑 오류를 수정했습니다.

6시간 - 그림 실력을 향상시키는 시간

문 클래스를 추가하고 문 배치를 위한 맵도 설정했습니다(문은 두 개의 방에 대해 공통이어야 함). (편집: 안타깝지만 사용하지 않았습니다!)
3개의 벽 타일을 더 만들어 하나의 이미지로 결합했습니다.
벽의 그래픽 모양은 유형에 따라 다릅니다.
하향식 보기를 위한 간단한 그래픽을 만들고 있습니다.

시간 7-8 - 회전 및 감탄!

PyGame에서 비트맵을 회전하는 방법을 알아냈습니다.
테스트 플레이어의 부드러운 회전을 실현했습니다. 회전 각도를 수정하려면 많은 조정이 필요합니다.
나는 PyGame에서 글꼴을 사용하는 방법을 배웠고 텍스트를 표시하고 애니메이션화하기 위해 몇 가지 클래스를 만들고 있습니다.
이 기능은 앞으로 자주 사용될 것이기 때문에 자동 텍스트 처리를 위한 클래스를 추가했습니다.

시간 9-11 - 요소 - brrr!

그리고 여기서 다시 "다음은?"이라는 질문을 풀어야 합니다.

방에는 더 흥미로운 요소가 필요하므로 목록을 만들어야 합니다. 체계화하는 방법을 모르기 때문에 일반적인 것부터 시작하기로 결정했습니다. 일반적인 던전 방에서 볼 수 있는 세 가지 정적 요소인 카펫, 기둥(벽과 동일한 기능을 가진 블록), 사다리(새로운 위치로 이동할 수 있음)를 소개했습니다.

나는 요소가 하나 이상의 타일을 차지할 수 있고 어느 정도 회전할 수 있다고 결정했습니다. (편집: 돌이켜 보면 매우 멍청한 솔루션입니다. 구현하는 데 너무 많은 시간을 소비했지만 거의 쓸모가 없는 것으로 판명되었습니다.)

대체로 저는 그래픽 생성과 코드 작성 사이에서 갈등하면서 요소 작업에 약 3시간을 보냈습니다.

시간 12 - 13 - 전리품이 필요합니다!

나는 사물에 대한 그래픽과 코드를 만듭니다. 그리는 데 얼마나 오래 걸릴 수 있는지 놀랍습니다. 아무리 노력해도 닭이 발로 그림을 그리는 것처럼 보이는 이미지가 특히 짜증납니다.

비용, 크기, 장비 슬롯 등을 포함하여 항목에 많은 통계를 추가했습니다. 그들은 아직 상호 작용할 수 없지만 적어도 방의 올바른 위치에 나타납니다.

14시간 - 카펫

일정이 너무 늦어졌는데 어떻게 해야 하나요?
검은색 배경이 너무 못생겼기 때문에 방 안의 바닥을 카펫(타일 분리)으로 포장했습니다.

그 후 갑자기 플레이어와 사물의 스프라이트에 투명한 배경을 추가하는 것을 잊었다는 것이 밝혀졌습니다. 이 실수를 바로잡는 데 많은 시간을 할애해야 했습니다.

그러나 이제 수준이 멋져 보입니다. 글쎄, 적어도 검은 색보다 시원합니다.

시간 15-16 - 클릭! 딸깍 하는 소리!

마우스 제어 및 이벤트 처리로 바빴습니다.
마우스 컨트롤이 추가되었습니다. 움직임이 불안정한 동안 레벨의 부드러운 스크롤이 없습니다.
플레이어는 방 밖으로 이동할 수 있으며 충돌 확인은 없습니다.
몇 가지 버그를 수정했습니다.
김프를 고문하고 아름다운 계단을 만들었습니다.
.
벌써 개발시간이 거의 17시간 가까이 되어서 조금 긴장이 되기 시작하네요. 나는 게임을 만드는 방법의 2/5를 갔다 – 개발의 두 번째 "작업일"이 끝났습니다. 내가 이미 한 일은 인상적이지만 아직 할 일이 훨씬 더 많이 남아 있다는 것을 이해합니다. 핵심 플레이어 기능을 완료하고 일정에 맞추려면 4시간이 더 남았습니다. 어렵겠지만.. 그래도 그래픽 그리는데 시간을 들인거 후회는 안해요!

17시간 - 이마가 벽에 닿을 때까지 천천히 움직입니다.

대부분의 시간은 그래픽을 미세 조정하고 버그를 수정하는 데 사용됩니다.
플레이어가 움직일 때 충돌 감지 및 부드러운 스크롤을 추가했습니다.
이제 플레이어는 마우스 동작에 반응하여 여러 단계(턴)를 취할 수 있습니다.

18시간 - 문턱을 넘다

플레이어는 이제 포털을 통해 다른 방으로 이동할 수 있습니다.
이로 인해 인접한 방 사이에 벽과 바닥이 겹치는 외관상 버그가 발생합니다.
포털을 통과할 수 없게 만드는 회전과 관련된 많은 버그를 수정했습니다.

19시간 - Stairway to Heaven, Hell's Menu

내 동생은 게임을 위한 음악을 만들기 위해 자원했습니다. 그는 Void War의 음악을 만들었고 꽤 잘 작동했습니다. 이것은 소리(및 음악) 재생을 해야 한다는 것을 상기시켜 주었습니다. PyGame에서 이 작업을 수행하는 것은 매우 쉬운 것 같으므로 너무 오래 걸리지 않아야 합니다. (편집: 그럴 시간이 없었습니다. 안타깝게도 Hackenslash에서는 소리가 하나도 들리지 않습니다.)

내 다음 목표는 생물 및 개체와의 상호 작용을 처리하는 것입니다. 저는 The Sims와 Neverwinter Nights에서 수행되는 방식이 정말 마음에 듭니다. 게임 개체와 상호 작용하려고 할 때 상황에 맞는 메뉴가 나타납니다. 비슷한 것을 구현할 계획입니다.

플레이어를 새로운 방으로 이동하도록 계단을 가르칩니다.
저는 인터넷과 PyGame 문서를 약간 뒤져 PyGame에 비슷한 메뉴에 대한 오픈 소스 메뉴가 있는지 알아보았습니다. 그리고 아무것도 찾지 못했습니다.
나만의 메뉴를 만들기 시작했습니다.

시간 20 - 21 - 메뉴는 무엇입니까?

나는 메뉴에서 계속 일한다. 메뉴는 오브젝트에 쉽게 연결될 수 있으며, 보다 정확하게는 오브젝트가 메뉴를 생성하여 플레이어의 선택을 처리하기 위한 피드백을 쉽게 구현할 수 있습니다.
아이템 메뉴 작업을 시작했습니다. 이미 올바른 위치에 나타나며 일부 항목을 선택할 수 있지만 눌렀을 때 아직 아무 작업도 수행하지 않고 메뉴를 닫는 버튼만 작동합니다.

22시간 - 잠들기 진행 중

저는 계속해서 기능을 구현하고 상황에 맞는 정보를 추가하는 기능을 포함하여 메뉴 명령에 응답하도록 가르치려고 노력하고 있습니다. 이제 기능이 거의 없지만 여전히 작동하며 실행 중인 명령에 대한 정보를 표시합니다.
다양한 행동을 할 때 움직임 계산을 개선하여 기동성을 높였습니다.

나는 시간이 이미 늦었고 이 일에 할당된 시간을 훨씬 초과했음을 깨달았습니다. 총 개발 시간을 신경 쓰지 않았다면 아마도 아침까지 앉아있을 것입니다. 하지만 시간이 제한되어 있기 때문에 거의 낭비한 시간은 정말 나쁜 소식입니다. 시간이 충분하지 않을 때 우선순위가 어떻게 바뀌는지 흥미롭습니다. 일반적으로 나는 자러 간다.

23시간 - 전투 매개변수!

처음 1시간 동안 생성된 일부 클래스 속성을 수정하고 있습니다(실제로는 이제 막 시작했습니다).
오른쪽 상단 모서리에 플레이어 옵션을 표시할 패널을 만듭니다.
이 창을 폰트보다 빠르게 그리는 이미지로 바꿔서 최적화 했습니다. 이 이미지는 연결된 캐릭터 매개변수가 변경될 때만 업데이트됩니다.

24시간 - 플레이어 메뉴

옵션창 최적화를 완료했습니다.
플레이어가 캐릭터를 클릭하면 나타나는 팝업 메뉴를 만들었습니다.
물약 사용, 주문 시전 등을 위한 퀵 메뉴를 만들었습니다.
메뉴의 일부 버그를 수정했습니다.

25시간 - 바닥과 벽을 톱질하기 전(한 번)

오늘 아침에 나는 내 머리 속에 생각이 떠올랐다(내가 정말 그렇게 많은 아이디어를 수용할 수 있을 만큼 그렇게 큰 뇌를 가지고 있을까?) 인접한 방에서 벽이 겹치는 문제를 해결하는 방법(18시간 설명 참조). 벽의 절반만 칠하면 어떻게 되나요? 이렇게 하면 겹침이 전혀 없으며 겹침을 감지하고 수정하기 위해 복잡한 논리를 추가할 필요가 없습니다.

이 아이디어를 구현하기 시작했습니다. 불행하게도, 사실 발명된 단순화는 방(특히 바닥)을 그리는 것을 더욱 어렵게 만들고, 내가 바랐던 것만큼 빨리 구현되지 않을 수도 있습니다. 이 시스템을 만들고 디버깅하는 데 약 1시간이 걸렸습니다. 그렇지만 그만한 가치가 있었어.

코드를 디버깅하는 동안 룸 간 전환과 관련된 몇 가지 오류를 더 발견했습니다.

BREAK - 위기!

개발 시간의 3/5 이상이 지났고 게임을 완료하는 데 15시간도 채 남지 않았다는 것을 방금 깨달았습니다. 게임의 필수 기능 일정을 살펴보고 각 기능을 구현하는 데 평균 1시간이 소요될 것으로 예상한 후 모든 구현에 약 25시간이 걸린다는 것을 깨달았습니다. 10시간 전입니다. 이 프로젝트는 공식적으로 위험에 처해 있습니다.

시간 제한을 넘을 수 없습니다. 어시스턴트를 유치하거나 코드/리소스를 구매하는 것도 불가능합니다. 왜냐하면 제가 40시간 안에 게임을 직접 만들겠다는 조건이 있기 때문입니다. 훨씬 더 효율적으로 작업하는 방법을 찾아야 하지만 이미 최대 생산성으로 작업하고 있습니다. 다른 선택의 여지가 없는 것 같습니다. 기능을 다시 생각하고 게임에서 제외할 기능을 결정해야 합니다.

문: 컷! 나는 정말로 게임에서 문을 만들고 싶습니다. 이 기능과 헤어지는 것이 유감입니다. 특히 한동안 작업을 해왔기 때문입니다. 그러나 인공 지능과 같은 작업이 여전히 너무 많습니다. 그리고 그것들을 작동시키는 데 아마 2-3시간이 걸릴 것입니다.
인벤토리: 간단하게! 추가 인벤토리와 마음대로 무기를 변경할 수 있는 기능은 잊어버리세요. 주워 현재 장비가 되지 않는 모든 것은 즉시 돈으로 변환됩니다.
함정: 단순화하십시오! 활성화에 대한 흥미롭고 다양한 결과를 가진 많은 함정을 갖고 싶습니다. 그럴 의도가 아닙니다. 함정은 단순한 시각 효과를 가지며 피해를 주고 일시적으로 무작위 몬스터와 마주칠 확률을 높입니다.
활(소형 무기): 잘라! 게임에는 근접 무기만 있으며 원거리에서는 주문으로 공격할 수 있습니다.
게임 저장/불러오기: 단순화! 세계의 상태가 아니라 캐릭터만 저장할 수 있습니다. (편집: 나도 그렇게 하지 않았어!)
파티클 시스템: 연기하세요! 파티클 시스템 생성을 우선 순위 목록 맨 아래로 이동했습니다. 나는 그들이 할 필요가 있을지 의심 스럽다. 스펠 파티클이 포함된 인상적인 비주얼이 있으면 좋겠지만…
주문: 단순화! 나는 주문에 대한 진지한 개념을 가지고 있었습니다. 주문은 두루마리의 형태로 찾을 수 있었고 그 수는 12개 이상이었습니다. 슬프지만 몇 가지 주문만 있을 것입니다: 치유, 손상, 약화, 강화, 복원. 레벨을 올리면 플레이어가 마법 포인트 수를 늘려 주문을 강화할 수 있습니다.
몬스터와 플레이어의 애니메이션: 컷! 나는 그것을 충분히 빨리하기에는 가난한 예술가입니다.

내가 하지 않을 것(또는 나중으로 미룰 것)을 결정할 때 먼저 해야 할 일을 결정하는 것도 똑같이 중요합니다.

함정 찾기, 비밀 문(지금은 비밀 통로), 상자 열기 등 게임에는 제가 매우 중요하게 생각하는 많은 것들이 계획되어 있습니다. 하지만 여전히 게임의 기본은 전투입니다. 그래서 나는 그것에 집중하기로 결정했고, 그것을 최우선 순위로 삼았습니다. 나는 한 시간 반 안에 내 괴물이 살아나 죽임을 당할 것이라는 목표를 세웠습니다.

좋아, 우리는 우선 순위를 파악하고 계속 발전하고 있습니다.

26시간 - 주사위를 굴리자

저는 게임에 임의의 요소를 도입하는 메커니즘인 "주사위"의 메커니즘을 연구하고 있습니다. 실제 주사위 제약이 없기 때문에 원하는 범위에서 난수를 얻을 수 있습니다. 예를 들어, 1에서 33까지 또는 6에서 17까지. 그래서 주사위를 굴려 내 공격과 적의 방어로 떨어진 것을 비교할 수 있습니다. 굴린 숫자가 방어보다 높으면 공격이 성공합니다.

예를 들어 총 공격력이 15라고 가정해 보겠습니다. 방어력이 10인 몬스터를 공격하고 있습니다. 내 기회는 25 중 15(25 =15 +10) 또는 5 중 3입니다. 따라서 게임은 1에서 25 사이의 임의의 숫자를 생성하고 10보다 크면 내가 이길 것입니다.

피해량은 약간 다른 방식으로 계산됩니다. 방어자에게 "갑옷"을, 공격자에게 "손상"을 추가했습니다. 1에서 합계까지 임의의 숫자를 생성한 다음 갑옷을 뺍니다. 결과가 1보다 작으면 피해를 주지 않습니다. 그렇지 않으면 결과와 같습니다. 따라서 데미지가 10인 몬스터가 아머 포인트가 5인 플레이어를 공격하면 게임은 1에서 15까지의 숫자를 생성하고 이 숫자에서 5를 빼서 피해를 입힙니다.

이 설명과 설명은 구현보다 오래 걸렸습니다.

시간이 끝나면 던전 표시 영역의 크기를 줄였습니다. 이제 오른쪽 창의 일부가 사용자 인터페이스에 완전히 할당되어 성능이 약간 향상되었습니다. 또한 플레이어의 움직임이 프레임 속도에 의존하지 않는지 확인했습니다.