24a2의 단순함으로 게임 개발 여정을 시작하세요

24a2의 단순함으로 게임 개발 여정을 시작하세요

24a2는 JavaScript 프로그래머를 위한 매우 기본적이지만 완벽하게 작동하는 게임 엔진입니다. 특이한 모양과 느낌을 가지고 있지만 이를 사용하여 게임 프로그래밍의 기초를 배울 수 있습니다.

게임 루프, 화려한 그래픽 및 간단한 입력을 지원하는 24a2는 최소한의 노력으로 작은 게임을 만드는 데 필요한 모든 것을 갖추고 있습니다.

24a2를 확인하고 지금 전체 게임 개발을 향한 여정을 시작하십시오.

24a2란?

24a2 는 기본 게임을 빌드하는 데 도움이 되는 작은 오픈 소스 엔진입니다. 배우기가 매우 쉽고 게임 구축을 시작하는 데 필요한 것은 웹 브라우저와 텍스트 편집기뿐입니다.

24a2는 24 x 24의 해상도에서 이름을 따왔습니다. 128 x 128 해상도의 PICO-8과 같은 다른 최소 엔진과 비교해도 이것은 매우 작습니다! 24a2는 원형 ‘픽셀’을 사용하며 그 사이에 큰 간격이 있으므로 매우 독특한 모양입니다.

두 개의 녹지 중앙에 있는 통로에 플레이어가 표시되는 기본적인 스키 게임입니다.

당신은 아마 24a2를 사용하여 다음 대히트 비디오 게임을 만들지는 않을 것입니다. 하지만 그게 요점은 아닙니다. 24a2는 초보자에게 적합하며 게임 개발의 기본 개념을 배우는 데 사용할 수 있습니다.

핵심 개념을 프로토타이핑하는 데에도 좋습니다. 복잡한 게임 물리학이나 스프라이트 애니메이션으로 인해 주의가 산만해지면 모든 것을 제거하면 집중하는 데 도움이 됩니다.

또한 24a2 소스 코드는 단일 TypeScript 파일입니다. 영감을 얻기 위해 사용하거나 수정하여 자신만의 고급 게임 엔진을 만들 수 있습니다.

24a2는 어떻게 사용합니까?

게임의 기본 템플릿으로 시작합니다.

<html>
  <head>
    <script
      src="https://cdn.jsdelivr.net/gh/jamesroutley/24a2/build/engine.js">
    </script>
    <script src="game.js"></script>
  </head>
  <body></body>
</html>

이것이 콘텐츠 전송 네트워크(cdn.jsdelivr.net)를 사용하여 engine.js 파일을 소싱하는 방법에 주목하십시오. 따라서 아무 것도 다운로드하거나 설치할 필요가 없습니다.

두 번째 스크립트인 game.js 는 자신의 게임 코드용입니다. 모든 것이 제대로 작동하는지 확인하려면 최소한의 작업 코드로 시작하십시오.

new Game({}).run();

이 작은 프로그램은 웹 브라우저에 기본 24a2 그리드를 표시합니다.

24a2의 플레이 필드를 구성하는 밝은 회색 원의 기본 24x24 그리드입니다.

다음으로 엔진의 핵심을 구성하는 24a2의 콜백 함수에 익숙해져야 합니다. 이러한 개념은 게임 엔진 간에 이전할 수 있으므로 작동 방식을 배우면 24a2를 사용하는 것 이상으로 도움이 됩니다.

config 개체 를 통해 정의하고 Game() 생성자에 전달할 수 있는 소수의 필수 함수가 있습니다 .

let config = {
  create: create,
  update: update,
  onKeyPress: onKeyPress,
  onDotClicked: onDotClicked
};

let game = new Game(config);
game.run();

24a2는 시작할 때 config.create에서 지정한 함수를 호출합니다. 이를 사용하여 게임 자체 구성을 초기화하고 데이터 구조를 설정하는 등의 작업을 할 수 있습니다.

function create(game) {}

업데이트 기능은 게임 기간 동안 주기적으로 실행됩니다. 이것은 다른 엔진에서 일반적으로 게임 상태를 업데이트하고 화면을 다시 그리는 별도의 단계로 구성되는 주요 게임 루프입니다. 24a2를 사용하면 이 함수에서 두 작업을 모두 처리하게 됩니다.

function update(game) {}

마지막으로 입력을 캡처하려면 화살표 키 누름, 마우스 클릭 또는 둘 다를 처리해야 합니다. 24a2는 플레이어가 화살표 키를 누를 때 onKeyPress 함수에 방향을 전달합니다. 마우스를 사용하여 점을 클릭하면 x 및 y 좌표를 onDotClicked에 전달합니다.

function onKeyPress(direction) {}
function onDotClicked(x, y) {}

24a2로 어떤 종류의 게임을 만들 수 있습니까?

24a2 사이트 에는 자습서를 포함하여 세 가지 예제 게임이 포함되어 있습니다 . 그것이 보여주는 다른 것들은 간단한 스네이크 게임과 스키 챌린지입니다.

GitHub 리포지토리 에는 스페이스 인베이더, Tic-Tac-Toe 및 최소한의 그림판 프로그램을 비롯한 일부 다른 게임에 대한 링크가 포함되어 있습니다 . You Killed a Bear는 더 발전된 버전이며 Maze Craze는 표준 그리드 위에 추가 그래픽을 레이어하는 방법에 대한 좋은 데모입니다.

24MadRush는 색상 팔레트를 잘 활용하는 Tetris ‘클론’입니다. 또한 기능을 보여주는 혁신적인 플레이 가능한 튜토리얼로 시작합니다.

24MadRush, 아래 4줄에 혼합 색상 점이 있는 떨어지는 블록 게임.

24a2 게임의 기술 사양

24a2는 설계상 매우 제한적입니다. 그러나 이것은 창의성을 발휘할 수 있는 훌륭한 기회를 제공합니다. 더 창의적이 되기 위한 최고의 팁 중 하나는 제약을 수용하는 것입니다.

제한된 해상도 외에도 24a2는 다음을 제한합니다.

  • 단 9가지 색상의 색상 팔레트: 무지개에 검은색과 회색이 더해진 색상.
  • 매우 기본적인 입력: 도트 그리드에서 화살표 키 누르기와 마우스 클릭.
  • 침묵: 음악이나 음향 효과가 전혀 지원되지 않습니다.

그러나 언제든지 보조 JavaScript 코드를 작성하여 이러한 제한을 넘어 게임을 확장할 수 있습니다. 그리고 엔진이 오픈 소스이기 때문에 적합하다고 생각되는 방식으로 자유롭게 개발할 수 있습니다.

24a2와 함께 더 큰 일에 박차를 가하세요

24a2로 자신을 테스트해 보십시오. 고전 게임을 재현하거나 자신만의 게임을 발명하십시오. 보드 게임과 같은 턴 기반 게임은 엔진과 매우 잘 작동합니다.

24a2가 게임 개발에 대한 열정에 불을 붙인다면 여정을 계속할 수 있는 많은 기회가 있습니다. PICO-8, Godot, Unity 및 GameMaker는 모두 인기 있는 선택입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다