리액트는 선언식 프로그래밍을 활용해 웹 환경의 얼굴이라고 할 수 있는 사용자 인터페이스를 좀 더 효율적으로 제작하고 재사용할 수 있게 해주는 기술이다. 리액트는 페이스북의 체계적인 개발과 운영, 그리고 인터넷상의 많은 개발자들의 적극적인 참여 덕분에 비교적 빠른 시간에 최고 인기 기술로 자리 잡았다.
이 책은 리액트를 제대로 배우기 전에 이해해야 할 기본 개념을 알기 쉽게 설명한 다음, 코드를 관리하기 쉽게 작성하는 방법을 설명한다. 이어서 재사용 가능한 컴포넌트를 만들기 위한 요건과 애플리케이션의 구조를 안정적으로 설계하는 방법, 그리고 실제로 작동하는 폼을 만드는 방법을 배운다. 또한 기술 수준이 일정 단계에 이른 독자를 위해서는 리액트 개발 커뮤니티에 참여하고 기여하는 방법까지 모든 과정을 안내한다.
이 책이 리액트를 활용하기 위한 모든 과정에서 친절하고 유용한 안내자가 되기를 바란다.
유니티는 이제 거의 모든 게임 플랫폼에서 게임을 개발할 때 가장 먼저 고려되는 게임 엔진이 됐다. 초기에는 개인 개발자나 소규모 인디 개발 팀이 유니티를 도입하는 데 적극적이었지만, 현재는 국내외 대규모 업체에서도 유니티로 개발한 중량급 게임을 꾸준히 선보이고 있다. 유니티가 대규모 게임 프로젝트에 활발히 채택되고 있는 데는 유니티에 대한 업계 전반의 인식이 변화한 이유도 있지만, 유니티가 제공하는 기능이나 성능이 최근 몇 년간 크게 향상된 것도 주요 요인이라 할 수 있다.
특히, 버전 체계를 바꾼 2017 버전부터는 분기별로 큼지막한 주요 업데이트를 쏟아내고 있다. 유니티의 기존 장점인 사용 편의성과 완만한 학습곡선, 가격 정책에 더해, 이제 경쟁 제품과 비교해 우위에 설 만큼 강력하고 광범위한 기능과 최적화된 성능을 자랑할 수 있게 됐다.
이 책은 C#을 이용하는 스크립팅의 기본 개념을 소개하는 것으로 시작하며, 유니티의 개발 환경을 간단히 살펴보고, 첫 번째 프로젝트를 설정하는 과정을 설명한다. 이어서 2D 패럴랙스 횡스크롤 게임을 제작하기 위해 에셋을 준비하고 캐릭터 애니메이션을 구현하는 방법을 알아본다. 그런 다음, 3D 게임 제작을 위한 환경 설정, 파티클 시스템을 활용한 다양한 효과 구현, 애니메이터를 활용한 캐릭터 애니메이션 등 수준 높은 3D 어드벤처 게임을 개발한다.
이 책을 다 읽고 나면 멋진 2D 횡스크롤 게임과 3인칭 어드벤처 게임을 완성하고, 하드웨어 사양에 맞게 게임을 최적화하고, 다양한 플랫폼으로 게임을 퍼블리싱하는 방법을 배우게 된다.
유니티는 이제 거의 모든 게임 플랫폼에서 게임을 개발할 때 가장 먼저 고려되는 게임 엔진이 됐다. 과거에는 소규모 인디 개발팀과 개인 개발자가 유니티를 도입하는 데 적극적이었지만, 현재는 국내외의 여러 대규모 업체에서도 유니티로 개발한 중량급 게임을 꾸준히 선보이고 있다. 유니티가 대규모 게임 프로젝트에 활발하게 채택되는 데는 유니티에 대한 업계 전반의 인식 변화도 있지만, 유니티가 제공하는 기능이나 성능이 최근 몇 년간 크게 향상된 것도 주요 요인이라 하겠다.
특히 버전 체계를 바꾼 2017.1 버전부터는 서너 달이 멀다 하고 놀랄 만큼 큼지막한 주요 업데이트를 쏟아내고 있다. 이제 유니티의 기존 장점인 사용 편의성과 완만한 러닝커브, 가격 정책에 더해 경쟁제품과 비교해 우위에 설 만큼 강력하고 광범위한 기능과 최적화된 성능을 자랑할 수 있게 됐다.
유니티가 지원하는 여러 플랫폼 중에서도 안드로이드를 비롯한 모바일 게임 분야는 유니티가 강세를 보이는 시장이다. 이 책은 유니티를 이용해 안드로이드용 게임을 개발하려는 개발자에게 유니티와 안드로이드 플랫폼을 소개하고, 2D 게임과 3D 캐릭터, 인공지능, 사용자 인터페이스, 게임 플레이와 게임 씬, 게임 기록 등을 구현하는 과정을 직접 따라하며 이해해야 할 기본 개념을 설명한다. 또한 마지막에는 소셜미디어 통합, 광고 통합, 인앱 구매 등을 구현하는 방법과 완성된 게임을 마켓에 등록하는 과정을 설명한다. 이 책이 유니티로 안드로이드 게임을 개발하려는 개발자에게 좋은 안내서가 되길 바란다.
코틀린은 널리 사용되는 인텔리제이 IDEA의 개발사인 젯브레인스(JetBrains)에서 2011년에 개발해 공개한 언어다. JVM 기반의 언어이므로 자바와 완벽하게 상호운용할 수 있으며, 특정 플랫폼의 기계어로 컴파일하는 것도 가능하다.
처음부터 자바를 대체하는 것을 염두에 두고 개발됐기 때문에, 자바 언어의 여러 근본적인 문제점을 해결했으며, 최근에 각광받고 있는 최신 언어들의 장점을 모두 흡수한 차세대 언어이기도 하다.
자바 라이선스를 보유한 오라클과 구글의 불편한 관계를 고려할 때, 장기적으로 구글이 안드로이드 개발 환경을 자바에서 코틀린으로 대체할 것이라는 시각이 많았으며, 이런 예상을 현실화하듯이 2017년 5월 구글은 코틀린을 안드로이드의 공식 언어로 발표하기도 했다.
기존의 막대한 자바 코드베이스를 감안할 때, 단시간에 자바에서 코틀린으로 안드로이드 개발 환경이 전환되지는 않겠지만, 애플이 오브젝티브 C 대신 스위프트의 손을 들어줬듯이 앞으로 구글이 자바보다 코틀린에 대한 지원을 강화할 것은 분명해 보인다.
이 책이 코틀린이라는 밝은 가능성의 길로 안내하는 유용한 안내자가 되기를 바란다.
유니티는 게임 개발 업계는 물론 이 분야에 관심이 있는 개발자에게 가장 핫한 주제입니다. 유니티 5 이전에는 모바일과 웹 게임을 개발하는 소규모 업체와 개인 개발자가 유니티를 도입하는 데 적극적이었지만, 유니티 5로 오면서 대규모 업체에서도 관심을 가질 만한 강력한 기능이 대거 추가됐고 높게 평가되던 기존의 편리한 기능들도 더 세련되게 다듬어졌습니다.
유니티는 PC, 콘솔, 모바일, 웹을 비롯한 다양한 플랫폼에서 실행되는 게임을 개발하기 위한 통합 개발 환경이자 게임 엔진입니다. 그리고 기존의 다른 상업용 게임 엔진과 달리 전문가가 아니라도 쉽게 접근할 수 있다는 장점을 갖췄습니다. 게다가 대규모 업체와 소규모, 개인 개발자를 모두 만족시키는 유니티의 투트랙 전략 덕분에 소규모, 개인 개발자 입장에서는 고가의 게임 엔진에서나 사용할 수 있었던 강력한 최신 기능을 저렴한 비용(개인용 버전은 무료)으로 사용할 수도 있습니다.
이미 시중에 많은 유니티 책이 나와 있지만, 환경과 기능 위주로 나열하며 장황하게 설명하거나 하나의 거대한 프로젝트를 세세하게 진행하는 스타일의 책은 유니티를 처음 접하는 독자에게는 적합하지 않습니다. 이 책은 게임 디자인이나 프로그래밍에 대한 전문 지식이 없는 독자라도 직접 흥미로운 게임을 제작하면서 유니티의 기능과 개념을 처음부터 단계적으로 익힐 수 있게 구성됐습니다. 모쪼록 이 책을 통해 더 많은 독자들이 유니티의 매력을 제대로 느낄 수 있으면 좋겠습니다.