웹 게임 개발에 필요한 것들

웹게임은 웹브라우저에서 실행되는 게임을 의미한다.
웹게임 개발을 위해 필요한 것은 웹브라우저, html5, css3, javascript가 있다.
진보된 형태라면 Unity와 Unreal도 존재한다.
그 외 웹게임 개발을 위한 라이브러리들도 여럿 존재하며,
생각이 있다면 하루에 조금씩 공부해 나가면 된다.

웹 게임 개발 필요한 것들

What You Need To Develop Web Games
웹 게임 개발에 필요한 것들

게임 개발 자체는 어렵다.
그렇기에 AI를 이용한 바이브코딩을 하거나, 라이브러리 또는 코드를 구입하여 수정을 하기도 한다.
게임을 새로 개발하는 것보다는 참고하고 수정하는 것이 상대적으로 빠르고, 효율적일 수 있다.
하지만, 요구사항에 맞도록 코드를 수정할 수 없다면 아무 소용이 없다.
하나씩 진행해 보도록 하자.
웹 게임에 필요한 것은 여러가지가 있지만, 기본적으로 필요한 것은 몇 가지 없다.
`웹브라우저, html5, css3, javascript`를 사용할 수 있으면 된다.
다만, 이것을 학습하는 것이 어려울 뿐이다.
단순히 코드를 만들고 프로그램을 만드는 것이 아닌 
그래픽적인 요소부터 알고리즘과 데이터구조 등을 이해할 필요가 있는 것이 게임 분야이다.
간단한 게임도 여러가지 기술들이 사용된다.

준비물

html5를 사용한 웹게임을 개발하기 위해 필요한 것을 나열해 보면 다음과 같다.
코드를 익혀야 하고, 프로그래밍을 할 줄 알아야 하며, 알고리즘과 데이터 구조 등도 학습해야 된다.
점점 어려워진다.
하지만, 기본적인 코딩을 익히는 것이 순서이다.

  • Modern Web Browsers
  • html5
  • css3
  • canvas
  • three.js
  • unity
  • unreal

웹 게임 제작을 하기 위해 필요한 것들은 이 정도로 정리할 수 있다.
상대적으로 익히기 쉽다고는 하지만, 어디까지나 상대적일 뿐, 
절대 쉽지 않기 때문에 빠르게 웹 게임 제작을 학습하려면 
위의 것들 중에서도 필요한 것만 학습하는 것이 좋을 것이다.
시작을 하면 끝도 없는 것이 공부해야 되는 분야가 게임이기도 하다.
학습하면 최소한 코드는 주석과 함께 기록해 두도록 하자.
시간이 지날 때마다 학습한 코드가 익숙해지면 
복사하기 붙여넣기 위한 재사용 코드가 될 것이다.
이제 위에서 나열한 웹 게임 제작에 필요한 것들을 하나씩 간단히 정리해 보자.

모던 웹 브라우저
/ Modern Web Browser

조금 생소하기도 익숙하기도 한 것이 `모던 웹 브라우저 ( Modern Web Browser)`이다.
지금의 모든 웹 브라우저는 모두 `모던 웹 브라우저`라 봐도 무방하다.
다만, 특징이 있다. `웹 표준( Web Standard )`에 만족하는지 여부이다.
여기서 언급한 웹 표준은 `html5, css3, javascript, es6+`의 지원여부지만,
크게 신경쓰지 않아도 되는 문제이다.
지금의 거의 모든 웹 브라우저는 모든 웹 브라우저이기 때문.
단지, 공신력과 공식적인 제품인지 확인이 필요하다.
대표적인 최신의 모던 웹 브라우저는 다음과 같다.

  • 구글 크롬 / Google Chrome
  • 마이크로소프트 엣지 / Microsoft Edge
  • 모질라 파이어폭스 / Mozilla Firefox
  • 애플 사파리 / Apple Safari
  • 오페라 / Opera

html5
/ 구조화된 뭽 문서

컴퓨터를 켜면 웹브라우저를 실행하면 보통 네이버로 이동한다.
깔끔한 디자인에 뉴스와 소식, 다른 지식 등을 한눈에 볼 수 있다.
이런 화면에 보여지는 문서의 구조와 글자, 이미지 등을 웹브라우저에 표현하는 역할을 하는 것이 `html5`이다.
보통 html 이라고 하지만,
html5는 웹표준과 semantic, seo 등의 개념이 추가되며 버전업이 된 것을 뜻한다.
html5의 주목할 특징은 `시맨틱 태그 ( Semantic Tag )`로 문서구조를 명확히 하고 
검색엔진의 접근성을 높여 SEO를 향상시키는 역할을 한다.

canvas
/ 그래픽 사용이 가능한 Dom 요소

canvas 태그는 웹에서 2d, 3d 그래픽을 그릴 수 있는 DOM 요소이며,
자바스크립트를 이용해 동적 그래픽과 인터렉티브가 가능하도록 한다.
간단한 도형을 그리거나, 이미지 편집부터
데이터 시각화를 위한 차트와 그래프,
그리고, 게임까지 가능해 졌다.
웹이 발전하고 화려한 인터렉티브를 요구함에 따라 canvas 태그가 개발되었으며,
html의 버전이 html5로 업그레이드 되면서 canvas 태그가 추가되었다.

css3
/ 웹 문서 꾸미기

웹페이지의 문서의 구조를 만들고, 여러가지 콘텐츠가 작성되었다면 이제는 꾸미기가 필요하다.
모든 문서의 공통점은 깔끔함에 있다.
html5는 웹문서이며, css3를 이용하면 문서의 모양을 꾸밀 수 있다.
`css3`는 `Cascading Style Sheets Level 3`의 약자로 `html5`로 만들어진 웹문서의 스타일 즉, 문서 모양과 디자인을 설정할 수 있다.
`css3`에서 3이란 숫자는 현재 버전을 뜻한다.
그렇다면 css3를 사용하여 html5로 만들어진 문서의 무엇을 꾸밀 수 있을까?
문서의 기본인 글자체인 폰트를 설정하고,
비슷한 콘텐츠들을 그룹화한 박스를 부드러운 모양으로 표현할 수 있다.
그리고, 문서의 여백을 두고, 콘텐츠들의 간격을 지정할 수 있다.
필요하다면 애니메이션 또한 가능하다.

javascript
/ 웹페이지에 동적인 움직임 만들기

`자바스크립트( javascript )`은 정적인 웹 페이지를 동적으로 만들어 준다.
움직임이 없는 웹 페이지를 자바스크립트를 이용하면 움직임이 있고,
사용자에 흥미를 유발하는 애니메이션이나 이벤트를 추가할 수 있다.
정적 ?? 동적 ?? 무슨 뜻일까 ??
정적은 움직임이 없는 보이는 그대로의 모습을 의미한다.
동적은 움직임이 있는 어떤 행동이 있는 모습을 의미한다.
웹은 정적이고, 만들어진 그대로의 웹 문서를 표현하지만,
자바스크립트를 사용하면 이벤트가 추가되어 웹페이지에 움직임을 추가할 수 있다.
움직임이 있다는 것은 보는 사람으로 하여금 흥미를 유발하는 요소이기도 하다.

three.js
/ 3D를 표현한다.

`three.js`를 사용하면 웹에서 3D 그래픽을 사용할 수 있다.
html5의 canvas 요소를 사용하여 3D 그래픽을 표현하고,
자바스크립트를 사용하면 그래픽의 동작을 구현할 수 있다.
three.js 공식 홈페이지를 방문하면 이것을 이용해 구현된 3D 그래픽을 눈으로 확인할 수 있다.
어지간한 것들은 `three.js`를 사용해 웹에서 3D로 표현이 가능한 것을 볼 수 있다.
사용자를 위한 차트, 데이터 시각화부터 게임까지 다양하다.
한번쯤은 익혀보고, 구현해 보고 싶은 것은 당연하겠지만,
너무도 다양한 자바스크립트 라이브러리가 있기에 고민이 된다.
하지만, `three.js`는 여전히 인기가 있고,
웹에서 3D를 구현이 필요한 경우 충분히 고려할 만 하다.

Unity
/ 3D 플랫폼 제작 플랫폼

3D 게임 개발하면 떠오르는 것이 유니티( Unity )와 언리얼( Unreal )이며, 
유니티는 WebGL의 지원으로 웹에서 3D 콘텐츠 사용을 가능하게 한다.
유니티는 게임 뿐만 아니라 3D 콘텐츠 제작이 가능하다.
유니티에 익숙하고 웹에서 3D 콘텐츠의 개발이 필요하다면 고려할 만하다.
느낌적인 것이지만,
three.js 보다 유니티에 익숙한 개발자가 더 많을 것 같은 것이 본인 피셜이다.
유니티 공식 홈페이지을 살펴보자.
화려한 3D를 웹에서 경험할 수 있게 해 주는 것이 
개발자에 도전 의욕을 복돋아 준다.
시간이 문제다.

Unreal
/ 버전 선택 필요.

언리얼(Unreal)은 Unity와 더불어 3D 콘텐츠 제작의 양대산맥이다.
다만, 언리얼을 사용해 웹 게임을 개발하려면 버전을 고려해야 한다.
현재 공개된 언리얼5의 경우 공식적으로 웹 게임에 대한 지원을 하지 않기 때문.
하지만, 언리얼4의 경우 웹 게임을 지원하고 있다고 알려져 있다.
이런 언리얼의 정책이 난해할 수 있지만,
그들만의 고충이 있을 수도 있고, 필요성에 대한 내부적인 선택이 있을 수도 있다.
하지만, 배워두면 요긴하게 써먹을 수 있는 것이 언리얼일 수 있다.

댓글

이 블로그의 인기 게시물

귀문과 혼문 뜻 어떤 영(靈)들이 드나드는 문

윈도우 캡쳐 이미지 자동 저장 위치 찾기

포토피아 모자이크 효과 만들기 인터넷 포토샵 사용

Featured Post

안전자산의 뜻과 종류 | 자산가치의 하락이 적고 신뢰도가 높은 자산

이미지
국제사회가 어지러운 경우, 시장 변동성이 커지고 경제 전망이 불투명해진다. 이런 경제 상황이 불안해지는 경우 사람들의 시선은 `안전자산`으로 향하게 된다. 불안한 경제의 위기 상황 속에서 내 소중한 원금을 최대한 보존할 수 있는 자산은 대표적으로 금, 달러, 국채가 있다. `안전자산`이라고 해도 가지고 있는 원금을 완전히 보존한다고 장담할 수 없지만, 가치 하락에 대한 변동성은 상대적으로 작다. 즉, 자신이 가진 자산가치의 하락이 적고, 신뢰도가 높은 자산을 의미한다. 안전자산 뜻 종류 / 금, 예금, 적금, 미국 달러 안전자산이란 무엇인가? `안전자산`의 뜻은 금융 시장의 불확실성이 커지거나 위험이 닥쳤을 때도 가치가 크게 하락하지 않고, 원금이 상대적으로 최대한 안전하게 보장될 가능성이 높은 자산을 뜻한다. 단순히 가격이 변하지 않는 것 뿐만 아니라, 필요할 때 즉시 현금화할 수 있다는 장점이 있지만, `유동성`과 채무 불이행에 따른 `신용도`가 어느 정도는 뒷받침되어야 합니다. 이런 경우 유동성과 변동폭이 큰 주식같은 투자 자산에서 돈은 빠져나오며 `안전자산`으로 돈이 다시 몰리는 현상이 발생한다. 대표적인 안전자산의 종류 안전자산의 세계에도 대장주들이 있다. 금, 달러, 국채가 그렇다. 시장 상황에 따라 선호도는 다르지만, 전 세계적으로 통용되는 대표적인 자산은 다음과 같다. 금(Gold) 인플레이션이나 화폐 가치 하락에 대비할 수 있는 대표적인 실물 자산이다. `실물`이라는 점에서 사람들의 심리적 안정감이 크다. 예금, 적금 가장 친숙한 형태의 안전자산 중 하나. 예금자 보호법에 의해 일정 금액까지 원금이 보장된다. 미국 달러(USD) 세계 기축통화인 달러는 경제 위기 시 가치가 상승하는 경향이 있다. 가장 강력한 유동성을 자랑한다. 미국 국채 미국 정부가 망하지 않는 한 원금과 이자를 보장받을 수 있다는 신뢰가 존재한다. 미국 국채의 신뢰성 덕분에 가장 안전한 국가 채권으로 분류됩니다. 안전자산 투자 시 주의사항 안전자산이 무조건 `무결점`인 것도 ...