취미 개발, 쉬운 개발 [2]
대상 언어 또는 프로그램 선택하기
본인이 개발과 전혀 무관하다고 생각이 드는 일을 하더라도, 전자기기가 주변에 있을 가능성이 높습니다. 21세기는 그런 세상이니까요 😃
개발 언어를 배우다보면 그동안은 보이지 않았던 일상 생활 속에서 자동화가 가능한 것을, 아니면 좀 더 편하게 처리할 수 있는 것을, 그것도 아니면 그냥 더 재밋는 인생을 위한 어떤 것을 내가 만들 수 있겠노라 하게 됩니다.
그렇게 하려면 이제 무엇을 공부할지 골라야겠네요.
보통의 개발자라면 용처에 맞는 개발 언어가 이미 정해져 있지만,
여러분이 개발을 처음 진입하는 초심자라면…
게임엔진으로 내가 원하는 프로그램 개발
갑작스러운 유턴에 많이 놀라신 것 같은데, 일단 읽어주세요 ^^;
저는 이게 정말로 편한 방법이라고 생각하고 추천합니다.
이미 겜돌이/겜순이로 게임 플레이 경험이 많다구요?
정말 강력 추천합니다.
독특한 목적을 띄지 않는다면
예를 들어, 오픈소스 하드웨어 개발을 생각하고 초심자로 뛰어드셨다면 아마 아듀이노를 사용하게 될 것입니다.
아니면 개발하려는 내용이 이미 평범한 범주를 벗어났다면 (예를 들면, 윈도우 정품 인증 문구처럼 프로그램과 무관하게 디스플레이에 뭘 띄우는 것 등), 그런 것을 해내기 위해 이미 중-저수준 언어를 찾거나 고수준 언어 중에서 그런 기능을 지원하는게 있는지 먼저 찾아봐야 할 겁니다.
이처럼 개발하려는 내용이 명료하다면 보통은 개발 언어가 이미 정해져있거나 기능 검토가 필요합니다.
근데 그런 독특한 경우가 아닌 보통의 경우라면, 프로그램 창이 생기고 그 위에서 어떤 행동을 하게 될 것입니다. 보통 그렇게 동작하기를 원하기도 하구요.
이미 그럴 줄 알고 다 준비했지
게임엔진의 장점은 이미 준비된 녀석인 점입니다.
다른 언어들에서는 다양한 패키지를 떡칠해야 동작하게 될 것들을 게임엔진은 이미 기본적으로 가지고 있습니다. 대표적인 내용은 다음과 같습니다.
- 게임엔진에서 개발하면 게임으로서 배포할 수 있는 모든 플랫폼들, 메이저 OS(윈도우, 맥, 리눅스) 및 모바일 메이저 OS(안드로이드, iOS)에서 실행할 수 있습니다.
- 게임에 필요하기 때문에 이미 준비된 기능들이 많습니다. (화면에 상호작용 가능한 버튼, 파일 엑세스, 물리엔진과 객체 생성, 원한다면 3D 개체를 화면에 띄울 수도 있음)
그래서 원하는 표현이나 기능을 구현하기 쉽습니다. 경험이 쌓이고 여차하면 게임을 개발하게 될 수도 있습니다.
게임엔진의 이러한 장점으로 인해, 이미 게임이 아닌 미디어 아트와 같은 예술 활동에도 작품을 만들 때 게임엔진을 활용합니다.
우리가 우리 편의를 위해, 예를 들어 딱히 화려할 필요 없는 문서 편집 자동화를 위해 게임엔진을 쓴다 하더라도 별로 문제될 이유가 없습니다.
뭐로 가도 서울로만 가면 되니까요.
물론 게임엔진의 단점도 있습니다.
- 실행을 위한 기본 사양이 높습니다.
- 레이아웃 구성 등으로 굳이 내가 이런 것까지 알아야하나? 싶은 것들을 공부하게 될 수도 있습니다. (물론 로우코딩보단 더 유연하게 동작합니다)
- 게임 범주를 많이 벗어난 작업을 처리하려면 다른 언어가 더 나은 경우도 있습니다. 계속 확장중이긴 하나 자유로운 범주가 게임에 맞게 한정되어 있습니다. 일단은 “게임엔진”이니까요.
도망쳐
추천은 추천일 뿐, 선택은 여러분의 몫이지요.
저는 추천글을 마치겠습니다.