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의 콜백 함수에 익숙해져야 합니다. 이러한 개념은 게임 엔진 간에 이전할 수 있으므로 작동 방식을 배우면 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 ‘클론’입니다. 또한 기능을 보여주는 혁신적인 플레이 가능한 튜토리얼로 시작합니다.
24a2 게임의 기술 사양
24a2는 설계상 매우 제한적입니다. 그러나 이것은 창의성을 발휘할 수 있는 훌륭한 기회를 제공합니다. 더 창의적이 되기 위한 최고의 팁 중 하나는 제약을 수용하는 것입니다.
제한된 해상도 외에도 24a2는 다음을 제한합니다.
- 단 9가지 색상의 색상 팔레트: 무지개에 검은색과 회색이 더해진 색상.
- 매우 기본적인 입력: 도트 그리드에서 화살표 키 누르기와 마우스 클릭.
- 침묵: 음악이나 음향 효과가 전혀 지원되지 않습니다.
그러나 언제든지 보조 JavaScript 코드를 작성하여 이러한 제한을 넘어 게임을 확장할 수 있습니다. 그리고 엔진이 오픈 소스이기 때문에 적합하다고 생각되는 방식으로 자유롭게 개발할 수 있습니다.
24a2와 함께 더 큰 일에 박차를 가하세요
24a2로 자신을 테스트해 보십시오. 고전 게임을 재현하거나 자신만의 게임을 발명하십시오. 보드 게임과 같은 턴 기반 게임은 엔진과 매우 잘 작동합니다.
24a2가 게임 개발에 대한 열정에 불을 붙인다면 여정을 계속할 수 있는 많은 기회가 있습니다. PICO-8, Godot, Unity 및 GameMaker는 모두 인기 있는 선택입니다.
답글 남기기