현재 위치 - 인적 자원 플랫폼망 - 미니프로그램 개발 - 애플릿에 대한 일반적인 오해는 다음과 같습니다
애플릿에 대한 일반적인 오해는 다음과 같습니다
프로그램

이것은 모든 게임 프로그래밍 FAQ 가 가지고 있는 문제이다. 이 문제는 게임 개발 포럼에서 일주일에 몇 번 물어 본다. 이것은 좋은 질문이지만, 아무도 간단한 답을 줄 수 없다. 일부 응용 프로그램에서는 항상 일부 컴퓨터 언어가 다른 언어보다 우월하다. 다음은 게임을 작성하는 데 사용되는 몇 가지 주요 프로그래밍 언어와 장단점에 대해 설명합니다. 이 문장 선생님이 당신이 결정을 내리는 데 도움이 되기를 바랍니다.

1, c 언어

만약 FORTRAN 과 COBOL 이 1 세대 고급 컴파일 언어라면 C 언어는 그들의 손주들이다. C 언어는 Dennis Ritchie 가 1970 년대에 창조한 것으로, 더욱 강력하며 COBOL 과 FORTRAN 구조의 상속자인 ALGOL 과 더욱 연속적인 상속성을 가지고 있다. C 언어는 선배보다 더 복잡하고 간단한 버전으로 설계되어 운영 체제와 같은 시스템 레벨 프로그램을 쓰기에 적합하다. 이전에는 운영 체제가 어셈블리 언어로 작성되었으며 이식성이 없었습니다. C 언어는 시스템 수준 코드를 가능한 프로그래밍 언어로 이식하는 최초의 언어입니다.

C 언어는 구조화된 프로그래밍을 지원합니다. 즉, C 의 프로그램은 단일 통합 블록 코드처럼 GOTO 문으로 프로세스를 제어하는 대신 위에서 아래로 실행되는 별도의 함수 호출 (call) 집합으로 작성됩니다. 그래서 C 프로그램은 통합된 FORTRAN 과 COBOL 의' 빈 파우더 코드' 보다 훨씬 간단하다. 사실 C 에는 여전히 GOTO 문이 있지만 기능이 제한되어 있어 구조화 방안이 매우 복잡한 경우에만 사용하는 것이 좋습니다.

그 시스템 프로그래밍의 근원으로 인해 C 와 어셈블리 언어를 결합하는 것은 상당히 쉽다. 함수 호출 인터페이스는 매우 간단하며 어셈블리 언어 명령어도 C 코드에 포함될 수 있으므로 별도의 어셈블리 모듈을 연결할 필요가 없습니다.

장점: 작고 빠른 프로그램 작성에 유리하다. 어셈블리 언어와 쉽게 결합할 수 있습니다. 매우 표준화되어 있으므로 다른 플랫폼의 버전은 매우 유사합니다.

단점: 객체 지향 기술을 지원하는 것은 쉽지 않습니다. 문법은 때때로 이해하기 어렵고 남용으로 이어질 수 있다.

이식성: C 언어와 ANSI 함수 호출의 핵심은 이식성이 있지만 프로세스 제어, 메모리 관리 및 간단한 파일 처리만 가능합니다. 나머지는 모두 플랫폼과 관련이 있다. 예를 들어, Windows 및 Mac 용 이식식 프로그램을 개발하려면 사용자 인터페이스에서 시스템 관련 함수 호출이 필요합니다. 즉, 일반적으로 사용자 인터페이스 코드를 두 번 작성해야 하지만 다행스럽게도 일부 라이브러리는 작업량을 줄일 수 있습니다.

C 언어로 쓰여진 게임: 아주 많이.

재료: c 언어의 고전은 c 프로그래밍 언어입니다. 여러 차례 수정을 거쳐 원래의 세 배 크기로 확장되었지만 여전히 C 를 소개하는 훌륭한 책이며, 훌륭한 자습서는 웨이트그룹의 C Primer Plus 입니다.

2, C++

C++ 언어는 C 언어의 상속자로 객체 지향 특징을 가지고 있습니다. OOP (객체 지향 프로그래밍) 는 구조화된 프로그래밍의 다음 단계입니다. OO 프로그램은 객체로 구성됩니다. 여기서 객체는 개별 데이터 세트와 함수입니다. 재고에서 사용할 수 있는 개체가 많기 때문에 프로그래밍이 일부 프로그램' 건축재' 를 쌓는 것처럼 간단해집니다 (적어도 이론적으로는). 예를 들어, 많은 GUI 및 데이터베이스 라이브러리가 객체 컬렉션으로 구현됩니다.

C++ 는 항상 논쟁의 주제였습니다. 특히 게임 개발 포럼에서는 더욱 그렇습니다. 허함수 등 몇 가지 C++ 함수는 함수 호출의 결정에 한 단계 더 추가했고, 비평가들은 C++ 프로그램이 같은 함수를 가진 C 프로그램보다 더 크고 느리게 변할 것이라고 재빨리 지적했다. C++ 의 지지자들은 C 로 가상 함수와 같은 코드를 쓰면 비용도 증가한다고 생각한다. 이것은 지속적인 논쟁이 될 것이며, 빨리 결론을 내릴 수 없을 것이다.

제 생각에는 C++ 의 추가 비용은 더 나은 언어를 사용하는 데 드는 작은 비용일 뿐입니다. 같은 논쟁이 1960 년대에 일어났는데, 당시 COBOL 이나 FORTRAN 과 같은 고급 프로그래밍 언어가 어셈블리 언어를 대체하여 선호 언어가 되기 시작했다. 비평가들은 고급 언어로 작성된 프로그램이 자연스럽게 필기 어셈블리 언어보다 느리다는 점을 정확하게 지적합니다. 고급 언어의 지지자들은 이렇게 작은 성능 손실은 가치가 있다고 생각한다. 왜냐하면 COBOL 과 FORTRAN 프로그램은 더 쉽게 작성하고 유지 관리할 수 있기 때문이다.

장점: 대형 프로그램을 구성하는 것이 c 언어보다 훨씬 좋습니다. 객체 지향 메커니즘에 대한 좋은 지원 체인 테이블 및 확장 가능한 배열로 구성된 라이브러리와 같은 일반적인 데이터 구조를 통해 기본 세부 사항을 처리하는 부담을 줄일 수 있습니다.

단점: 매우 크고 복잡합니다. C 언어와 마찬가지로 문법 남용 문제가 있다. C 보다 느리기 때문에 대부분의 컴파일러는 전체 언어를 제대로 구현하지 못했다.

이식성: C 언어보다 훨씬 좋지만 여전히 낙관적이지는 않습니다. C 언어와 같은 단점을 가지고 있기 때문에 이식할 수 있는 대부분의 사용자 인터페이스 라이브러리는 C++ 객체로 구현됩니다.

C++ 로 쓴 게임: 많이. 대부분의 비즈니스 게임은 c 또는 C++ 로 작성되었습니다.

정보: C++ 프로그래밍 언어의 최신 버전은 매우 좋습니다. 자습서로서, 두 개의 진영이 있는데, 하나는 네가 C 를 이해한다고 가정하고, 하나는 네가 이해하지 못한다고 가정한다. 지금까지 최고의 C++ 수업은' C++ 의 아프리카는 누구인가' 였다. 이미 C 언어에 익숙하다면 C++ 를 독학해 보세요.

C++ 를 배워야 합니까, 아니면 c 부터 배워야 합니까?

나는 이런 견해를 좋아하지 않지만, 이것은' 내가 어떤 언어를 사용해야 하는가' 다음에 가장 자주 묻는 질문이다. 애석하게도 표준 답안은 없다. 너는 C 를 독학하고 그것으로 프로그램을 쓸 수 있어 많은 시간을 절약할 수 있지만, 이 방법을 사용하면 두 가지 단점이 있다.

게임에서 데이터 모델링을 더욱 효율적으로 만들 수 있기 때문에 객체 지향 지식을 놓치게 됩니다.

1 인칭 슈팅 게임을 포함한 많은 가장 큰 비즈니스 게임은 C++ 를 사용하지 않습니다. 그러나 이러한 프로그램의 작성자가 기존 C 형식을 사용하더라도 일반적으로 객체 지향 프로그래밍 기술을 계속 사용합니다. C 만 배우고 싶다면 적어도 OO (객체 지향) 프로그래밍 기술을 독학해야 한다. 객체 지향은 시뮬레이션을 위한 완벽한 방법입니다. OO 를 배우지 않으면 노력해야 한다.

4. 어셈블리 언어

분명히 편집은 첫 번째 컴퓨터 언어입니다. 어셈블리 언어는 실제로 컴퓨터 프로세서가 실제로 실행하는 명령의 명령 형태입니다. 즉, 레지스터 및 스택과 같은 프로세서 하단을 처리합니다. 만약 당신이 영어와 같은 언어를 찾고 있고 관련 자기 묘사가 있다면, 이것은 당신이 원하는 것이 아닙니다.

정확히 말하자면, 다른 언어로 할 수 있는 일은 무엇이든 할 수 있지만, 그렇게 간단하지는 않습니다. 물론, 마치 차를 몰고 어딘가로 가거나 걸어서 갈 수 있다고 말하는 것과 같습니다. 하지만 이것은 단지 어려운 일일 뿐입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 스포츠명언) 그것은 사실이지만, 신기술은 일을 더 쉽게 사용할 수 있게 한다.

일반적으로 어셈블리 언어는 게임에서 단독으로 사용되지 않습니다. 게임용 편집은 주로 성능을 향상시킬 수 있는 단편적인 것을 사용한다. 예를 들어, 유린자호 전체는 C 로 쓰여져 있으며, 몇 개의 그림 프로그램을 편집한다. 이러한 프로그램은 초당 수천 번 호출되므로 가능한 간결하면 게임 성능을 향상시키는 데 도움이 됩니다. C 에서 어셈블리 작성을 호출하는 함수는 매우 간단하므로 두 언어를 동시에 사용하는 것은 문제가 되지 않습니다.

특별 참고 사항: 언어의 이름은 "편집" 입니다. 어셈블리 언어를 실제 기계 코드로 번역하는 도구를' 어셈블리 프로그램' 이라고 합니다. 이 언어를 "어셈블리 프로그램" 이라고 부르는 것은 매우 일반적이므로 이 언어의 정확한 이름으로 시작하십시오.

장점: 가장 작고 빠른 언어. 어셈블러는 다른 어떤 언어보다 프로그램 작성 속도가 빠르다. 프로세서의 최신 기능을 사용하는 첫 번째 사람이 될 것입니다. 직접 사용할 수 있기 때문입니다.

단점: 배우기 어렵고, 문법이 애매하고, 지속적인 효율성이 있어 추가 코드가 많아 심장이 약한 사람에게는 적합하지 않다.

휴대성: 0 에 가깝습니다. 이 언어는 단일 프로세서용으로 설계되었기 때문에 이식성이 전혀 없다. 전용 프로세서의 확장 기능을 사용하면 코드를 다른 동일 유형의 프로세서로 이식할 수 없습니다 (예: AMD 의 3DNow 명령은 다른 펜티엄 시리즈 프로세서로 이식할 수 없음).

편집으로 작성된 게임: 어떤 상업 게임이 완전히 편집으로 개발되었는지 모르겠습니다. 그러나 일부 게임은 어셈블리를 사용하여 대부분의 시간 핵심 부분을 완성합니다.

자료: 어셈블리 언어 문서를 찾는 경우 칩 문서를 주로 찾아야 합니다. 인터넷에는 인텔, AMD 및 모토로라와 같은 프로세서에 대한 정보가 있습니다. 책의 경우 어셈블리 언어: 단계적으로 배울 만하다.

파스칼 언어

Pascal 은 1970 년대 초 Nicolas Wirth 가 설계한 것이다. 왜냐하면 그는 FORTRAN 과 COBOL 이 학생 훈련 구조화 프로그래밍을 강요하지 않는 것에 실망했고,' 중공 파우더 코드' 가 정상화되었고, 당시 언어는 반대하지 않았기 때문이다. (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 예술명언) 파스칼은 구조화 된 프로그래밍을 수행하도록 설계되었습니다. Pascal 은 처음에는 엄격하게 교육을 위해 설계되었고, 결국 많은 지지자들이 그것을 상업 프로그래밍에 밀어 넣었다. Borland 가 IBM PC 에 Turbo Pascal 을 발표했을 때, Pascal 은 한때 휘황찬란했다. 통합 편집기, 번개처럼 빠른 컴파일러 및 저렴한 가격으로 거부할 수 없습니다. Pascal 은 MS-DOS 를 위한 애플릿 작성을 위한 선호 언어를 작성했습니다.

그러나 C 컴파일러는 짧은 시간 내에 더 빨라지고 우수한 내장 편집기와 디버거를 갖추고 있습니다. 파스칼은 1990 년 Windows 가 유행하기 시작했을 때 끝이 났다. Borland 는 Pascal 을 포기하고 Windows 작성기의 C++ 에 집중했습니다. 터빈 파스칼은 곧 잊혀졌다.

마지막으로, 1996 에서 Borland 는 "Visual Basic Black" 인 Delphi 를 발표했습니다. 이것은 화려한 사용자 인터페이스가 있는 빠른 파스칼 컴파일러입니다. 꾸준한 노력으로, 곧 많은 팬들을 얻었다.

기본적으로 파스칼은 C 보다 간단합니다. 문법은 비슷하지만 C 가 가지고 있는 간결한 연산자가 많이 부족합니다. 이것은 좋은 일이고 나쁜 일이다. 이해하기 어려운' 스마트' 코드를 쓰는 것은 어렵지만 비트와 같은 저급 작업도 어려워진다.

장점: 배우기 쉽고 플랫폼 관련 조작 (Dephi) 이 아주 좋습니다.

단점:' 세계추세' 의 객체 지향 파스칼 후임자 (Modula, Oberon) 는 아직 성공하지 못했다. 컴파일러 개발자는 언어 표준을 인정하지 않습니다. 특허권.

휴대성: 형편없습니다. 언어의 기능은 플랫폼마다 다르며 플랫폼 관련 기능을 처리하는 이식 가능한 툴킷이 없습니다.

파스칼로 쓴 게임: 몇 개. DirectX 의 델파이 구성 요소는 게임의 위치를 더 크게 만듭니다.

정보: 델파이와 관련된 정보를 찾으려면 inprise Delphi 페이지를 방문하십시오.

6, Visual Basic

하, 기초. 1980 년대 석기 시대로 돌아가면 초보자의 제 1 언어다. 초기의 기본 형식은 배우기 쉽지만 조직이 무섭게 조직되어 뒷등나무의' 빈 가루 코드' 를 주저하지 않고 사용했다. BASIC 의 줄 번호와 GOSUB 명령을 회상할 때 눈가의 눈물을 막을 수 있는 사람은 거의 없다.

1990 년대 초반으로 접어들면서 애플이 원하는 거물은 아니었지만, HyperCard 는 여전히 매력적인 소형 프로그래밍 환경으로 Windows 와 비교할 수 없었다. Windows 의 ToolBook 등 HyperCard 클론 버전은 느리고 멍청하고 비싸다. HyperCard 와 경쟁하기 위해 Microsoft 는 Thunderprogramming environment 라는 소규모 라이센스 권한을 획득하여 Visual Basci 1.0 으로 배포했습니다. 그 당시 사용자 인터페이스는 매우 혁신적이었습니다. 언어는 Basic (모두 대문자가 아님) 이라고도 하지만 더 구조화되어 줄 번호도 없어졌습니다. 사실 이 언어는 TRS-80, Apple II, Atari 가 만든 오래된 ROM BASIC 보다 기본 동사가 있는 Pascal 과 더 비슷하다.

여섯 가지 버전을 거쳐 Visual Basic 은 이미 매우 예뻐졌다. 사용자 인터페이스에는 많은 변경 사항이 있지만 "사용자 인터페이스와 코드 연관" 항목은 여전히 존재합니다. 실시간 컴파일과 결합할 때 이를 통해 신속한 프로토타입 개발을 위한 훌륭한 환경이 됩니다.

장점: 깨끗한 편집 환경. 배우기 쉽고 즉시 컴파일하면 간단하고 빠른 프로토타입 제작이 가능합니다. 사용 가능한 많은 플러그인. 타사 DirectX 플러그인이 있지만 DirectX 7 은 Visual Basic 에 대한 지원을 제공할 준비가 되어 있습니다.

단점: 프로그램이 매우 커서 런타임에는 몇 개의 거대한 런타임 동적 연결 라이브러리가 필요합니다. 양식과 대화 상자 프로그램은 쉽게 완성할 수 있지만 좋은 그래픽 프로그램을 쓰기가 어렵다. Windows 를 호출하는 API 프로그램은 매우 서툴다. VB 의 데이터 구조가 C 에 잘 매핑되지 않고 OO 함수가 있지만 완전히 객체를 향하지는 않기 때문이다. 특허권.

휴대성: 형편없습니다. Visual Basic 은 Microsoft 의 제품이기 때문에, 당신은 당연히 그들의 플랫폼으로 제한되어 있습니다. 즉, 당신이 얻을 수 있는 선택은 Windows, Windows 또는 Widnows 입니다. 물론 VB 프로그램을 Java 로 변환할 수 있는 도구도 있습니다.

Visual Basic 으로 작성된 게임: 일부. VB 로 쓴 * * * 게임이 많이 있고, 일부는 상업적입니다.

데이터: Microsoft 의 VB 페이지에는 몇 가지 정보가 있습니다.

7, 자바

Java 는 이식 가능한' 작은 C++' 로, 처음에는 Sun 이 임베디드 프로그램을 위해 설계되었다. 인터넷에서 작은 프로그램을 실행한다는 생각은 확실히 많은 사람들의 주의를 끌었고, 언어는 빠르게 부상했다. 자바 (Java) 는 웹 페이지에 애니메이션을 포함시키는 데 적합할 뿐만 아니라, 완전한 소프트웨어 프로그래밍에 있어서 우수한 소언어이다. "가상 시스템", 가비지 수집, 포인터 없는 메커니즘을 통해 쉽게 충돌하고 리소스를 유출하지 않는 신뢰할 수 있는 프로그램을 구현할 수 있습니다.

C++ 의 정식 속편은 아니지만 Java 는 C++ 의 많은 문법을 차용했다. C++ 의 많은 복잡한 함수를 버리고 간결하고 배우기 쉬운 언어를 형성합니다. C++ 와 달리 Java 는 객체 지향 프로그래밍을 적용합니다. Java 로 비객체 지향 프로그램을 쓰는 것은 파스칼로' 빈 파우더 코드' 를 쓰는 것만큼 어렵다.

장점: 이진 코드를 다른 플랫폼으로 마이그레이션할 수 있습니다. 이 프로그램은 웹 페이지에서 실행할 수 있습니다. 포함된 클래스 라이브러리는 매우 표준적이며 매우 강합니다. 프로그램에서 리소스 누출을 방지하기 위해 자동 할당 및 가비지 수집 인터넷상의 수많은 코드 루틴.

단점: "가상 시스템" 을 사용하여 네이티브 코드 대신 이식 가능한 바이트 코드를 실행하면 프로그램이 실제 컴파일러보다 느립니다. 많은 기술 (예: "인스턴트" 컴파일러) 이 Java 의 속도를 크게 높였으나, 속도는 기계 코드 구성보다 더 좋을 수 없었다. AWT 와 같은 초기 함수는 신중하게 고려하지 않았습니다. 정식으로 폐지되었지만 역호환성을 유지하기 위해 보존해야 했습니다. 기술이 선진화할수록 밑바닥의 기계 기능을 처리하기가 더 어려워진다. Sun 에게 이 언어에 새로운' 축복' 기능을 추가하는 것은 너무 느리다.

이식성: 가장 좋지만 아직 적절한 수준에 도달하지 못했습니다. 기본 코드는 이식성이 강하지만 일부 플랫폼에서는 많은 UI 와 새로운 기능이 불안정합니다.

자바 (Java) 로 쓴 게임: 홈페이지에는 작은 애플릿이 많이 있지만 일부분만 상업화되어 있습니다. 일부 비즈니스 게임은 Java 를 내부 스크립팅 언어로 사용합니다.

정보: Sun 의 공식 Java 페이지에서는 유용한 정보를 제공합니다. IBM 도 아주 좋은 자바 페이지를 가지고 있습니다. JavaLobby 는 Java 뉴스를 이해하기에 가장 좋은 곳이다.

8. 제작 도구

위에서 언급한 프로그래밍 언어는 대부분의 상업 게임을 포괄한다. 그러나 예외도 있다. 이 큰 게임은 그것의 결석으로 사람들의 주목을 끌었다.

신비한 섬. 예, 가장 잘 팔리는 상업 게임은 이러한 언어 중 하나로 작성된 것이 아닙니다.' 미스터리 아일랜드' 의 99% 는 3D 모델링 도구로 만들어졌지만 기본 프로그래밍 논리는 HyperCard 로 완성되었습니다.

대부분의 제작 도구는 Visual Basic 과 비슷하지만 더 높은 수준에서 작동합니다. 대부분의 도구는 드래그 앤 드롭 순서도를 사용하여 프로세스 제어를 시뮬레이션합니다. 많은 프로그래밍 언어에는 내장 된 설명이 있지만 위에서 언급 한 단일 언어만큼 강력한 언어는 없습니다.

장점: 신속한 프로토타입 제작-게임이 도구 제작의 목적에 부합한다면, 다른 언어보다 더 빨리 게임을 실행할 수 있을 것입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 스포츠명언) 대부분의 경우 코드 없이 간단한 게임을 만들 수 있습니다. Shockware 및 IconAuthor player 와 같은 플러그인을 사용하여 창의적 도구로 생성된 많은 프로그램을 웹 페이지에 게시할 수 있습니다.

단점: 특허, 어떤 기능이 추가될 것인지에 대해서는 도구 제작자가 좌지우지할 수 있다. (윌리엄 셰익스피어, 특허, 특허, 특허, 특허, 특허, 특허, 특허) 이러한 도구들이 게임의 요구를 충족시킬 수 있는지 여부를 고려해야 합니다. 창의적인 도구로는 할 수 없는 것들이 많기 때문입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 예술명언) 일부 도구는 매우 비대한 절차를 만들어 낼 수 있다.

이식성: 창의적인 도구는 특허를 가지고 있기 때문에 이식성은 그들이 제공하는 기능과 밀접한 관련이 있습니다. Director 와 같은 일부 시스템은 여러 플랫폼에서 생성 및 실행될 수 있고, 일부 도구는 한 플랫폼에서 생성 및 실행될 수 있으며, 일부는 단일 플랫폼에서만 생성 및 실행할 수 있습니다.

크리에이티브 도구로 쓴 게임:' 신비도' 등 비슷한 모험 게임. 모든 충격파 게임이 인터넷에 있습니다.

소재: Director, HyperCard, hypercard, IconAuthor, Authorware.

9. 결론

"내가 어떤 언어를 사용해야 하는가" 라는 문제에 대해, 너는 좀 더 표준적인 결론을 얻고 싶을 것이다. 불행히도 모든 어플리케이션에 가장 적합한 솔루션은 없습니다. C 빠른 애플릿에 적합하며 객체 지향 프로그래밍은 지원되지 않습니다. C++ 는 객체 지향 을 완벽하게 지원하지만 복잡합니다. Visual Basic 과 Delphi 는 배우기 쉽지만 이식할 수 없고 특허권이 있습니다. Java 에는 많은 간결한 함수가 있지만 매우 느립니다. 제작 도구는 가능한 한 빨리 프로그램을 생성할 수 있지만 특정 유형의 프로그램에만 적용됩니다. 가장 좋은 방법은 어떤 게임을 쓸지 결정하고 게임을 가장 잘 지원하는 언어를 선택하는 것이다. 30 일 시험' 이 업계 표준이 되는 것은 좋은 일이다.