분류 전체보기
64세븐나이츠2 리뷰 :: 무과금, 어디까지 할 수 있을까?
기대를 한껏 받던 세븐나이츠2가 2020년 11월 18일 정식으로 출시했다. 세븐나이츠2는 전작 세븐나이츠1(이하 세나) 의 20년 후의 이야기를 담은 MMORPG 이다. 세나를 플레이 해보지 않았기 때문에 정확하게 알 순 없었지만 유저들의 반응을 보아하니 세계관에 꽤 힘을 쓴 듯 하다. 세나도 꽤 흥행하지 않았던가? 현재까지도 재밌게 플레이 중인 세나2를 리뷰해보자. 목차 1. 뛰어난 영상 퀄리티 2. 자연스러운 전투방식 (feat.스피릿위시) 3. 과금, 얼마나 해야할까 4. 컨텐츠와 컨텐츠 소모 속도 5. MMO RPG 6. 소소한 공략 뛰어난 영상 퀄리티 전 리뷰했던 게임 용비불패M는 원작의 감성 그대로를 게임에 잘 녹여냈다는 평가였다면 세나2는 퀄리티 자체가 굉장히 좋았다. 기존 세나의 스토리를..
기타/게임 2020.11.20 moonsuKotlin :: Unit
Unit 키워드는 타 언어의 void에 대응되는 개념이다. add(10, 20) fun add (a: Int, b: Int) : Unit { println(a + b) } // Unit은 생략 가능하다 하지만 코틀린의 Unit과 타 언어의 void가 완전히 같은 것은 아니다. void는 특수 타입으로 반환값이 없음을 나타내지만 Unit은 클래스에 정의된 일반 타입이다.
Android/Kotlin 2020.11.16 moonsu안드로이드 스튜디오 앱에 배너 광고 넣기
Google AdMob 모바일 광고 생성 Google AdMob 모바일 광고 SDK 가져오기 배너 광고는 앱의 상단이나 하단 레이아웃에 게재된다. AdMob의 배너광고를 안드로이드 스튜디오 앱에 넣는 방법을 설명한다. 1. 레이아웃에 AdView 추가 광고를 게재할 액티비티(Activity) 또는 프레그먼트(Fragment) 레이아웃에 Adview를 추가해야한다. # main_activity.xml ... ... (1) ads:adSize : 광고 크기를 설정할 수 있다. 아래 표는 안드로이드 스튜디오 배너 광고의 표준 배너 크기이다. 크기 (폭x높이) 설명 사용 가능 여부 AdSize 상수 320x50 배너 스마트폰, 태블릿 BANNER 320x100 대형배너 스마트폰, 태블릿 LARGE_BANNER ..
Android/공통 2020.11.13 moonsuGoogle AdMob 모바일 광고 SDK 가져오기
Google AdMob에서 모바일 광고를 생성하고 앱에 적용시키기까지의 과정이다. Google AdMob 모바일 광고 생성 1. 모바일 광고 SDK 가져오기 Gradle 종속 항목을 사용해 모바일 광고 SDK를 가져올 수 있다. (1) 프로젝트 수준 build.gradle 에 다음 코드를 추가한다. allprojects { repositories { google() } } (2) 그런 다음, 앱 수준 build.gradle 파일에 다음 코드를 추가한다. dependencies { implementation 'com.google.android.gms:play-services-ads:19.5.0' } 위 코드들을 통해 Gradle이 최신 버전의 모바일 광고 SDK를 가져온다. (3) AndroidManife..
Android/공통 2020.11.13 moonsuGoogle AdMob 모바일 광고 생성
앱에 광고를 넣기 전, 광고를 생성하는 방법입니다. 1. Google AdMob 먼저 Google AdMob 사이트에 들어가 로그인을 한다. 왼쪽 메뉴에서 [앱 - 앱 추가] 버튼을 누른다. 플랫폼과 앱 스토어 등록 여부를 체크 한 후 앱을 등록한다. 2. 광고 단위 앱 등록 후 왼쪽 메뉴에서 [앱 선택 - 광고 단위] 페이지로 들어가 [광고 단위 추가] 버튼을 누른다. 추가를 원하는 광고 단위를 선택, 본인이 쉽게 식별할 수 있도록 광고 이름을 설정하고 세부사항을 살펴 본 후 만들기를 누른다. 앱에 광고를 넣기 위한 사전 준비를 모두 마쳤다.
Android/공통 2020.11.11 moonsuSDK location not found
SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at ' file at '/Users/.../local.properties' SDK의 경로를 찾을 수 없어 발생하는 에러이다. local.properties 파일이 없거나, 파일 내 sdk 경로가 잘못되어 있거나 둘 중 하나이다. 협업을 하거나 두 개 이상의 노트북에서 번갈아가며 작업을 할 때 sdk 경로의 차이가 있어 주로 발생하는 에러. local.properties 파일을 열어 sdk 경로를 해당 pc에 맞게 변경해준다. ..
ERROR 2020.11.09 moonsu샤이닝니키, 동북공정 논란부터 한국 서비스 종료까지
샤이닝니키는 중국 게임사 '페이퍼게임즈'에서 제작한 게임이다. 여러 컨텐츠를 통해 아바타를 꾸미는 게임이며, 그만큼 게임 내 의상이나 악세사리가 굉장히 중요한 요소로 자리잡고 있다. 한국판은 2020년 10월 29일 출시되었으며 출시와 함께 진행한 갸차 이벤트, 한국 고유 의상인 '한복' 출시 예정으로 인해 논란의 중심에 섰다. 한국의 고유의상, '한복' 논란의 이유 논란이 된 한복 의상 (출처:샤이닝니키 트위터) 한복 의상은 한국 서버 뿐 아니라 기존에 운영중이던 대만, 중국 서버에 동시 진행하게 되었다. 그런데 해당 의상을 본 중국 유저들이 "한복은 한국만의 고유 의상이 아니며 곧 중국의 의상이기도 하다." 라고 주장하며 논란이 거세졌다. 이에 중국 웨이보를 통해 발표한 페이퍼게임즈의 입장문은 더 가..
기타/게임 2020.11.06 moonsuERROR :: The requested operation caused a stack overflow
C# 에서 자주 발생하는 스택 오버플로우 (stack overflow) 에러를 살펴보자. private int _temp; public int temp { get => temp; set => temp = value; } 위 코드의 문제점은 뭘까? temp 프로퍼티의 값을 _temp 에 적용시켜야 하는데, 자기 자신(temp) 에게 적용시키고 있다는 것이다. temp 에 set 하기 위해 temp 에서 get 하기 위해 temp 에서 set 하기 위해 temp 에서 get... 이 무한 반복되기 때문에 오버플로우가 발생했다. 아래와 같이 수정한다. private int _temp; public int temp { get => _temp; set => _temp = value; }
ERROR 2020.10.30 moonsu용비불패M 리뷰 :: 다만, 원작에 충실했다
네이버 웹툰 '고수'의 인기와 함께 이전작이자 한국 무협 만화의 대표라 할 수 있는 용비불패의 인지도가 다시 한번 올라갔다. 그리고 결국.. 그것이 출시했다. 웹툰 '고수'가 아니라 이전작인 용비불패를 기반으로 출시된 게임이다. 아마도 '고수'를 통해 용비불패에 입문한 어린이들과 추억에 잠길 어른이 모두를 겨냥한게 아니었을까. 원작에 충실했다. 용비불패M은 원작에 충실, 아니 원작의 내용을 그대로 가져왔다. 만화책 내용을 그대로 가져다 쓴 부분도 있는데 자연스러운 편집으로 너무 올드해보이지 않으면서도 추억은 되살렸다. 단지 스토리를 보는 것만으로도 게임을 해봐야 할 이유는 충분히 갖춰진게 아닐까 싶다. 그만큼 원작을 되살린 무언가를 보기가 어려운 일이 되어버렸다. '볼 맛' 나는 준수한 애니메이션 오토사..
기타/게임 2020.10.30 moonsu사이버펑크 2077, 발매 연기
많은 게이머들이 한껏 기대하고 있는 [CD PROJECT RED] 사의 사이버펑크2077의 발매일이 벌써 3번째 연기 되었다. 더 이상 출시 연기가 없을 거라던 개발진의 말에 이어 불과 몇 주 전 골드행 (Gone Gold : 게임의 최종 카피가 완성되어 대량 생산, 즉 출시 단계 직전에 이르렀음을 뜻하는 표현)을 알렸음에도 또 출시 연기가 되었다. 그럼에도 한글화와 한국어 풀 더빙 등으로 좋은 행보를 보였던 사이버펑크2077 이기에 아직은 게이머들에게 좋은 인식으로 있는 것 같다. 발표된 예정 출시일은 12월 10일, 올해가 얼마 남지 않았기에 더 이상의 출시 연기는 없어야 하지 않을까 싶다.
기타/게임 2020.10.28 moonsuKotlin :: 흐름 제어 continue와 break, 레이블 (Label)
1. continue continue 키워드는 반복문에서 일부 문장을 건너 뛸 때 사용한다. fun main(args: Array): Unit { var i = 0; while (i < 10) { i += 1 if (i % 2 == 0) // i가 짝수 일 때 아래 코드를 무시하고 반복문의 처음으로 간다. continue print(i) } } // 결과 : 1 3 5 7 9 continue 를 실행하면 아래 코드를 실행하지 않고 가장 가까운 반복분의 첫 부분으로 이동한다. 위 코드에서 i 가 짝수일 때 continue 가 실행되므로 짝수는 출력되지 않는다. 2. break break 키워드는 호출 즉시 가장 가까운 반복문을 탈출한다. fun main(args: Array): Unit { var i = ..
Android/Kotlin 2020.10.27 moonsu안드로이드 스튜디오 :: 검색 관련 단축키 (windows, macOS)
안드로이드 스튜디오 문서에서 내가 원하는 파일, 단어 등을 검색하고 탐색하는데 유용한 단축키이다. 1. 단어 찾기 단축키 (현재 문서) (windows) Ctrl + F (macOS) Cmd + F 2. 다음 찾기 / 이전 찾기 단축키 (현재 문서) (windows) F3 / Shift + F3 (macOS) Cmd + G / Cmd + Shift + G 3. 단어 찾기 단축키 (전체 문서) 프로젝트, 모듈, 디렉토리 안에서 찾기 등 다양한 옵션이 있다. (windows) Ctrl + Shift + F (macOS) Cmd + Shift + F 4. 단어 바꾸기 단축키 (현재 문서) 특정 단어만 바꾸기, 전체 바꾸기 등 옵션이 있다. (windows) Ctrl + R (macOS) Cmd + R 5. 최..
Android/공통 2020.10.26 moonsu